Skip ke Konten
Integra by Infinyscloud
  • Beranda
  • Solusi
    ShopUp By Integra InfinysCloud UMKM Siap jualan

    ShopUp

    E-commerce UMKM yang Siap Jualan
    IntegraERP software ERP

    IntegraERP

    Kelola Operasional dengan Mudah
    BengkelIn by Integra ERP InfinysCloud solusi ERP Otomotif

    Bengkelin

    Solusi Lengkap untuk Bisnis Otomotif
    Coretax by IntegraERP Infnyscloud

    Layanan

    Layanan Kami
    TixUp Ticketing untuk Event atau konser

    TixUp

    Ticketing untuk Event, Travel atau Konser
    IntegraCampaign WhatsApp dan email blast

    IntegraCampaign

    Kirim Pesan Massal & Survey Tanpa Ribet
    CareServiceOps aplikasi service center IntegraERP By InfinysCloud

    CareServiceOps

    Digitalisasi Service Center
    BizUp Website Company Profile yang Naik Kelas

    BizUp

    Company Profile yang Naik Kelas
    IntegraHotel aplikasi manajemen hotel by IntegraERP InfinysCloud

    IntegraHotel

    Kelola Hotel Lebih Mudah dan Terintegrasi
    WAPI WhatsApp API gateway By InfinysCloud

    WAPI

    WhatsApp API Gateway 
  • Portofolio
    • Produk kami
    • Odoo addons
    • Portofolio proyek
  • Artikel
    • Berita
    • Basis pengetahuan
    • Otomatisasi
    • Laporan
    • Videos
  • Tentang
  • 021-2968-2828
  • EN ID
  • Hubungi kami
Integra by Infinyscloud
      • Beranda
      • Solusi
      • Portofolio
        • Produk kami
        • Odoo addons
        • Portofolio proyek
      • Artikel
        • Berita
        • Basis pengetahuan
        • Otomatisasi
        • Laporan
        • Videos
      • Tentang
    • 021-2968-2828
    • EN ID
    • Hubungi kami

    Mengamankan Odoo dengan WAF BunkerWeb

  • Semua Blog
  • Basis pengetahuan
  • Mengamankan Odoo dengan WAF BunkerWeb
  • 2 November 2026 oleh
    Admin

    Data ERP Anda Adalah Aset Bisnis

    Di dalam ERP tersimpan hampir seluruh isi "dapur" perusahaan: data pelanggan, harga jual, stok, laporan keuangan, hingga gaji karyawan. Kalau sistem ini dibobol atau lumpuh, dampaknya langsung terasa: transaksi berhenti, data bocor ke pesaing, dan kepercayaan pelanggan turun.

    Begitu ERP bisa diakses dari internet (supaya tim bisa bekerja dari mana saja), sistem itu juga terlihat oleh bot dan peretas yang setiap hari mencari celah. Karena itu, ERP yang aman bukan hanya soal password yang kuat, tetapi juga soal penjaga di depan pintu

    Apa Itu WAF? Bayangkan Satpam di Pintu Gedung

    WAF (Web Application Firewall) bekerja seperti satpam di pintu masuk kantor. Setiap tamu (request dari internet) diperiksa dulu: tamu biasa dipersilakan masuk, tamu yang mencurigakan ditolak sebelum sempat sampai ke ruangan. Ruangannya adalah ERP Odoo Anda.

    BunkerWeb adalah salah satu WAF open source (gratis) yang bisa dipasang di depan Odoo. Berikut ancaman yang dihadangnya:

    Ancaman

    Dampak ke bisnis

    Cara BunkerWeb mencegah

    Tebak password berulang (brute force)

    Akun admin diambil alih, data dicuri atau dihapus

    Membatasi jumlah percobaan login per detik

    Akses ke halaman pengelola database

    Database bisa di-backup, dihapus, atau diganti orang luar

    Menutup halaman itu dari internet

    Bot dan scanner celah keamanan

    Server sibuk melayani bot, celah ditemukan lebih cepat

    Memblokir IP yang berperilaku mencurigakan

    SQL injection dan XSS lewat form

    Data bocor atau tampilan website disusupi

    Memeriksa isi request dengan aturan OWASP

    Banjir request (DDoS ringan)

    ERP lambat atau tidak bisa dipakai karyawan

    Membatasi request per pengunjung

    Cara Kerja WAF di Depan Odoo

    Arsitektur BunkerWeb dan Odoo

    Semua akses dari internet masuk lewat BunkerWeb. Odoo dan database berada di belakangnya dan tidak bisa diakses langsung.

    Checklist untuk Pemilik Bisnis

    Anda tidak perlu memasang WAF sendiri. Cukup pastikan vendor atau tim IT bisa menjawab "ya" untuk pertanyaan berikut:

    • Apakah ERP kita dilindungi WAF, bukan hanya reverse proxy biasa?
    • Apakah halaman pengelola database Odoo sudah ditutup dari internet?
    • Apakah percobaan login berulang otomatis diblokir?
    • Apakah akun admin memakai password kuat dan verifikasi dua langkah (2FA)?
    • Apakah database di-backup otomatis setiap hari dan pernah diuji pemulihannya?
    • Apakah Odoo dan modulnya rutin diperbarui?
    • Apakah ada yang memantau log serangan secara berkala?

    Kalau ada yang dijawab "belum", itu prioritas yang perlu dibahas dengan tim IT atau vendor ERP Anda.

    Bagian 2: Untuk Tim IT dan IT Manager

    Bagian berikut menjelaskan pemasangan BunkerWeb di depan Odoo memakai Docker.

    Langkah 1: Docker Compose

    Komponen yang dipakai:

    Service

    Image

    Fungsi

    bunkerweb

    bunkerity/bunkerweb-all-in-one:1.6.17

    WAF, scheduler, dan Web UI dalam satu container

    bw-db

    postgres:16

    Menyimpan konfigurasi BunkerWeb

    odoo

    odoo:19

    Aplikasi ERP

    db

    postgres:16

    Database Odoo (terpisah dari bw-db)

    Compose ini sengaja minimal: hanya koneksi database. Semua pengaturan situs dilakukan lewat Web UI (Langkah 3), sehingga tim IT bisa mengelolanya tanpa restart container.

    services:
      bunkerweb:
        image: bunkerity/bunkerweb-all-in-one:1.6.17
        container_name: bunkerweb-aio
        depends_on: [bw-db]
        ports:
          - "80:8080/tcp"
          - "443:8443/tcp"
          - "443:8443/udp"
        environment:
          DATABASE_URI: "postgresql://bunkerweb:ganti-password-bw@bw-db:5432/db"
        volumes:
          - bw-storage:/data
        networks: [bw-services, bw-db]
        restart: unless-stopped
    
      bw-db:
        image: postgres:16
        environment:
          POSTGRES_USER: bunkerweb
          POSTGRES_PASSWORD: ganti-password-bw
          POSTGRES_DB: db
        volumes:
          - bw-db-data:/var/lib/postgresql/data
        networks: [bw-db]
        restart: unless-stopped
    
      odoo:
        image: odoo:19
        depends_on: [db]
        volumes:
          - odoo-data:/var/lib/odoo
          - ./config:/etc/odoo
          - ./addons:/mnt/extra-addons
        networks: [bw-services, odoo-db]
        restart: unless-stopped
    
      db:
        image: postgres:16
        environment:
          POSTGRES_USER: odoo
          POSTGRES_PASSWORD: ganti-password-kuat
          POSTGRES_DB: postgres
        volumes:
          - odoo-db-data:/var/lib/postgresql/data
        networks: [odoo-db]
        restart: unless-stopped
    
    volumes:
      bw-storage:
      bw-db-data:
      odoo-data:
      odoo-db-data:
    
    networks:
      bw-services:
        name: bw-services
      bw-db:
        name: bw-db
      odoo-db:
        name: odoo-db
    • Odoo tidak membuka port ke host, jadi tidak bisa diakses langsung lewat IP:8069.
    • Database BunkerWeb dan database Odoo berada di network terpisah dan tidak terbuka ke internet.

    Langkah 2: odoo.conf

    [options]
    db_host = db
    db_user = odoo
    db_password = ganti-password-kuat
    admin_passwd = master-password-yang-berbeda
    proxy_mode = True
    list_db = False
    workers = 4
    gevent_port = 8072	​	​
    • proxy_mode = True: Odoo membaca https dan IP asli pengunjung dari BunkerWeb.
    • list_db = False: Database Manager disembunyikan (lapisan kedua selain blokir di WAF).
    • workers harus lebih dari 0 agar websocket di port 8072 aktif.


    Langkah 3: Atur Odoo lewat Web UI BunkerWeb

    1. Arahkan DNS domain Odoo (misalnya erp.contoh.co.id) dan domain Web UI (misalnya waf.contoh.co.id) ke IP server.
    2. Jalankan docker compose up -d.
    3. Buka https://IP-SERVER/setup. Wizard akan meminta akun admin dan domain untuk Web UI. Isi dengan waf.contoh.co.id.
    4. Login ke Web UI, lalu aktifkan 2FA di menu profil.
    5. Buka Services → Create, isi domain erp.contoh.co.id, lalu atur setting sesuai tabel di bawah.

    Kebutuhan

    Setting BunkerWeb

    Nilai rekomendasi

    Teruskan ke Odoo

    REVERSE_PROXY_URL / REVERSE_PROXY_HOST

    / → http://odoo:8069

    Websocket (Discuss, notifikasi)

    REVERSE_PROXY_URL_1 / REVERSE_PROXY_HOST_1 / REVERSE_PROXY_WS_1

    /websocket → http://odoo:8072, WS = yes

    Laporan dan import besar

    REVERSE_PROXY_READ_TIMEOUT / REVERSE_PROXY_SEND_TIMEOUT

    720s

    Upload lampiran

    MAX_CLIENT_SIZE

    100m

    SSL

    AUTO_LETS_ENCRYPT

    yes

    Proteksi login

    LIMIT_REQ_URL_1 / LIMIT_REQ_RATE_1

    /web/login → 1r/s

    Tutup Database Manager

    BLACKLIST_URI

    ^/web/database

    Aturan OWASP

    USE_MODSECURITY / USE_MODSECURITY_CRS

    yes

    Blokir scanner

    USE_BAD_BEHAVIOR

    yes

    IP kantor tidak pernah diblokir

    WHITELIST_IP

    IP publik kantor

    Nama setting di tabel ini sama dengan environment variable BunkerWeb. Tim yang lebih suka konfigurasi sebagai kode bisa menuliskannya langsung di docker-compose.yml (dengan MULTISITE: "yes" dan awalan domain, misalnya erp.contoh.co.id_REVERSE_PROXY_HOST). Pilih salah satu cara untuk setiap domain, jangan dicampur, karena nilai di compose bisa menimpa perubahan dari Web UI saat container dibuat ulang.


    Langkah 4: Tes dan Pantau

    # Odoo bisa dibuka lewat HTTPS (hasil: 200)
    curl -sI https://erp.contoh.co.id/web/login | head -n1
    
    # Database Manager diblokir (hasil: 403)
    curl -sI https://erp.contoh.co.id/web/database/manager | head -n1
    
    # Pola SQL injection diblokir (hasil: 403)
    curl -sI "https://erp.contoh.co.id/?id=1%27%20OR%20%271%27=%271" | head -n1
    
    # Port Odoo tidak terbuka (hasil: timeout / refused)
    curl -m 5 -sI http://IP-SERVER:8069/web/login

    Lalu uji sebagai user biasa: login, simpan record, kirim pesan di chatter, upload lampiran, dan pastikan notifikasi Discuss muncul real-time. Request yang diblokir bisa dilihat di Web UI pada menu Reports.

    Tips agar User Tidak Ikut Terblokir

    • Error 403 saat menyimpan data atau mengedit website. Isi email dan halaman website berisi HTML, sehingga aturan OWASP kadang salah mengira itu serangan XSS. Cari ID rule yang terpicu di Reports, lalu buat pengecualian hanya untuk rule dan path itu (menu Configs, tipe modsec). Contoh:

      SecRule REQUEST_URI "@rx ^/(web/dataset|mail|web_editor|html_editor)/" \
          "id:10001,phase:1,pass,nolog,ctl:ruleRemoveByTag=attack-xss"
    • Error 429 Too Many Requests. Backend Odoo memuat banyak file sekaligus. Jangan memasang limit ketat untuk seluruh situs; cukup batasi /web/login.
    • Antibot dan blokir negara. Jangan aktifkan untuk seluruh situs kalau Odoo juga menjalankan website publik, supaya Googlebot tetap bisa merayapi dan SEO tidak rusak.
    • Integrasi API (marketplace, payment gateway, aplikasi mobile). Masukkan IP server integrasi ke WHITELIST_IP.
    • Backup. Selain database Odoo, backup juga database bw-db, karena semua konfigurasi BunkerWeb tersimpan di sana.


    Pertanyaan yang Sering Diajukan


    Ya, BunkerWeb open source dan gratis dipakai. Tersedia juga versi berbayar dengan fitur dan dukungan tambahan. 

    Pemeriksaan WAF menambah waktu yang sangat kecil per request dan biasanya tidak terasa oleh user.

    Tidak. WAF adalah satu lapisan. Tetap perlu password kuat dan 2FA, update rutin, backup terjadwal, dan firewall server yang hanya membuka port 80, 443, dan SSH.

    Bisa. BunkerWeb bekerja di level web, jadi tidak bergantung pada edisi atau versi Odoo.

    NPM tidak memiliki WAF bawaan. BunkerWeb bisa menggantikan NPM untuk domain Odoo, dengan Web UI yang sama mudahnya.


    Kesimpulan

    ERP yang aman membutuhkan penjaga di depan pintu. BunkerWeb memberikan perlindungan itu secara gratis: menutup halaman sensitif, menghentikan tebakan password, dan memblokir serangan web umum. Bagi pemilik bisnis, cukup pastikan checklist di atas terpenuhi. Bagi tim IT, pemasangannya bisa selesai dalam satu file Docker Compose dan beberapa klik di Web UI.

    Ingin ERP Odoo yang aman tanpa repot mengurus server? Integra by Infinys menyediakan implementasi Odoo, hosting ERP cloud di data center Indonesia, serta managed service termasuk WAF, backup, dan pemantauan. Untuk lebih detil mengenai hal ini bisa email kami ke sales@isi.co.id

    Sumber

    • BunkerWeb di GitHub
    • Panduan quickstart BunkerWeb
    • Daftar setting BunkerWeb
    di dalam Basis pengetahuan
    # Docker & Container Odoo Web Access Firewal (WAF)
    Admin 2 November 2026
    Share post ini
    Label
    Docker & Container Odoo Web Access Firewal (WAF)
    Blog-blog kami
    • Berita
    • Basis pengetahuan
    • Otomatisasi
    • Laporan
    • Videos
    Masuk untuk meninggalkan komentar
    Menata Distribusi Bahan Bangunan dengan ERP: Studi Kasus Distributor Multi-Cabang
    Beranda Layanan Portofolio Artikel Tentang Hubungi kami
    Ikuti kami
    Klik di sini untuk menyiapkan jaringan sosial Anda
    Klik di sini untuk menyiapkan jaringan sosial Anda
    Klik di sini untuk menyiapkan jaringan sosial Anda
    Copyright © Integra by Infinyscloud
    en | id
    Dipersembahkan oleh Odoo - Buat sebuah website gratis