BIND: Security

From OnnoWiki
Jump to navigation Jump to search

BIND Security di Ubuntu 24.04

BIND (Berkeley Internet Name Domain) adalah salah satu DNS server paling populer yang digunakan untuk menerjemahkan nama domain menjadi alamat IP. Namun, karena perannya yang krusial dalam infrastruktur jaringan, BIND menjadi target potensial bagi serangan cyber. Oleh karena itu, penting untuk mengamankan konfigurasi BIND pada Ubuntu 24.04.

---

1. Mengamankan Konfigurasi BIND

Secara default, konfigurasi BIND dapat memberikan informasi sensitif kepada pengguna luar. Berikut adalah langkah-langkah dasar untuk meningkatkan keamanannya:

a. Batasi Query DNS

Secara default, BIND memungkinkan semua orang untuk melakukan query DNS. Untuk mencegah penyalahgunaan, batasi akses dengan hanya mengizinkan klien tertentu.

Edit file konfigurasi utama:

sudo nano /etc/bind/named.conf.options

Tambahkan atau modifikasi bagian berikut:

options {
    allow-query { localhost; 192.168.1.0/24; }; // Batasi akses hanya dari jaringan internal
    allow-recursion { 192.168.1.0/24; }; // Hanya izinkan recursive queries dari jaringan internal
    recursion yes;
};

Simpan dan restart BIND:

sudo systemctl restart bind9

---

b. Sembunyikan Versi BIND

Menampilkan versi BIND dapat memberikan informasi berharga bagi penyerang. Untuk menyembunyikan informasi versi, tambahkan opsi berikut di file `named.conf.options`:

options {
    version "Not Disclosed";
};

Simpan dan restart BIND:

sudo systemctl restart bind9

---

c. Gunakan ACL (Access Control List)

ACL memungkinkan kita untuk mengatur siapa saja yang dapat mengakses layanan DNS. Tambahkan baris berikut di `named.conf.options`:

acl trusted_networks {
    192.168.1.0/24;
    10.10.10.0/24;
};

options {
    allow-query { trusted_networks; };
    allow-recursion { trusted_networks; };
};

Ini akan membatasi akses hanya ke jaringan yang ditentukan.

---

d. Blokir Zone Transfer

Zone Transfer digunakan untuk menyinkronkan informasi DNS antar server, tetapi jika tidak dikonfigurasi dengan benar, dapat menjadi celah bagi penyerang untuk mendapatkan seluruh daftar domain.

Tambahkan opsi berikut di `named.conf.options`:

options {
    allow-transfer { none; }; // Nonaktifkan transfer zona untuk semua
};

Atau, jika menggunakan secondary DNS, izinkan hanya server tertentu:

options {
    allow-transfer { 192.168.1.2; };
};


---

2. Menggunakan DNSSEC (Domain Name System Security Extensions)

DNSSEC adalah ekstensi keamanan yang menambahkan tanda tangan kriptografi pada respons DNS untuk mencegah serangan seperti DNS spoofing.

Langkah-langkah dasar mengaktifkan DNSSEC:

1. Aktifkan DNSSEC di Konfigurasi BIND== Tambahkan atau ubah pengaturan berikut di `named.conf.options`:

options {
    dnssec-enable yes;
    dnssec-validation auto;
};

2. Restart BIND

sudo systemctl restart bind9


---

3. Mencegah DNS Amplification Attack

Serangan DNS Amplification mengeksploitasi server DNS yang mengizinkan recursive queries dari seluruh internet. Pastikan hanya klien internal yang dapat melakukan recursive queries.

Tambahkan konfigurasi ini:

options {
    allow-recursion { trusted_networks; };
    recursion yes;
};

Dan pastikan BIND tidak berjalan sebagai open resolver:

sudo netstat -plntu | grep :53

Jika terlihat bahwa BIND menerima koneksi dari luar jaringan internal, pastikan konfigurasi di atas diterapkan dengan benar.

---

4. Mengaktifkan Logging untuk Keamanan

Aktifkan logging untuk memantau aktivitas mencurigakan.

Buka `named.conf`:

sudo nano /etc/bind/named.conf

Tambahkan:

logging {
    channel security_log {
        file "/var/log/named.security.log" versions 3 size 5m;
        severity info;
        print-category yes;
        print-severity yes;
        print-time yes;
    };
    category security {
        security_log;
    };
};

Buat file log dan atur izin:

sudo touch /var/log/named.security.log
sudo chown bind:bind /var/log/named.security.log
sudo chmod 644 /var/log/named.security.log

Restart BIND:

sudo systemctl restart bind9


---

5. Menjalankan BIND dengan Hak Akses Rendah

Pastikan BIND berjalan sebagai user yang lebih aman (biasanya bind di Ubuntu 24.04).

Periksa user yang menjalankan BIND:

ps aux | grep named

Jika tidak berjalan sebagai bind, edit file konfigurasi systemd:

sudo nano /lib/systemd/system/bind9.service

Pastikan ada baris berikut:

User=bind
Group=bind

Reload systemd dan restart BIND:

sudo systemctl daemon-reload
sudo systemctl restart bind9

---

6. Menggunakan Firewall untuk Memblokir Akses Tidak Sah

Gunakan UFW (Uncomplicated Firewall) untuk memblokir akses ke port 53 dari jaringan luar.

Hanya izinkan akses dari jaringan internal:

sudo ufw allow from 192.168.1.0/24 to any port 53
sudo ufw deny 53

Aktifkan firewall:

sudo ufw enable

Periksa aturan firewall:

sudo ufw status numbered

---

Kesimpulan

Mengamankan BIND di Ubuntu 24.04 sangat penting untuk mencegah berbagai serangan, termasuk DNS spoofing, amplification attacks, dan data leakage. Beberapa langkah yang harus diterapkan mencakup:

✅ Membatasi query DNS dan recursive queries.   
✅ Menyembunyikan informasi versi BIND.   
✅ Menggunakan ACL untuk membatasi akses.  
✅ Memblokir zone transfer yang tidak perlu.  
✅ Mengaktifkan DNSSEC untuk autentikasi DNS.  
✅ Menjalankan logging untuk memantau aktivitas.  
✅ Memastikan BIND berjalan dengan user yang memiliki hak akses terbatas.  
✅ Menggunakan firewall (UFW) untuk membatasi akses ke server DNS.  

Dengan menerapkan langkah-langkah ini, server BIND Anda akan lebih aman dan terlindungi dari potensi ancaman.

Pranala Menarik