GNU/Linux >> Belajar Linux >  >> Linux

DNS RPZ:Firewall DNS untuk memfilter Situs dan Pengguna

Halo kawan, hari ini kita akan belajar beberapa hal DNS. Kita semua tahu tentang apa itu DNS, cara kerja DNS, jenisnya, dll. Jadi, selesaikan semuanya dan mari selami topik hari ini tentang DNS Response Policy Zone (RPZ).

Untuk melihat topik kami yang lain di server DNS, silakan kunjungi di sini.

Apa itu RPZ?

DNS Response Policy Zone (RPZ) adalah zona DNS yang memungkinkan administrator DNS untuk menyesuaikan kebijakan di server DNS, sehingga server mengembalikan jawaban yang dimodifikasi ke kueri DNS Klien. Dengan kata lain, RPZ menyediakan cara untuk mengubah respons DNS secara real time. Ini dapat digunakan untuk memodifikasi Data DNS yang berpotensi tidak aman untuk memblokir komunikasi atau menyediakan data lokal untuk dialihkan ke "taman bertembok". Karena kami dapat mengubah respons kueri atau memblokir domain apa pun menggunakan RPZ, ini juga dikenal sebagai firewall DNS.

Seperti Zona DNS lainnya, RPZ terdiri dari Kumpulan Catatan Sumber Daya (RR) yang berbeda. Daripada catatan SOA, NS, dan DNSSEC, semua RR lainnya berisi pemicu dan tindakan untuk pemicu.

Pemicu dikonfigurasi untuk menulis ulang kueri DNS berdasarkan:

  • Alamat IP/Subnet (RPZ-IP)
  • Nama Inang/Domain (QNAME)
  • Nama Server Nama/Domain (RPZ-NSDNAME)
  • Alamat/Subnet Server Nama (RPZ-NSIP)
  • IP Klien (RPZ-CLIENT-IP)

Tindakan Kebijakan adalah seperti di bawah ini

  • Tindakan “NXDOMAIN” (CNAME .)
  • Tindakan “NODATA” (CNAME *.)
  • Tindakan “PASSTHRU” (CNAME rpz-passthru.)
  • Tindakan “DROP” (CNAME rpz-drop.)
  • Tindakan “Khusus TCP” (CNAME rpz-tcp-only.)
  • Tindakan “Data Lokal” (jenis RR sewenang-wenang)

Aplikasi RPZ:

DNS RPZ memiliki aplikasi dan kasus penggunaan yang berbeda. Contoh:

  • Blokir situs web Malware dan phishing
  • Blokir Iklan
  • Tulis ulang RR domain apa pun dan berikan Data DNS khusus
  • Blokir sekumpulan lalu lintas pengguna Internet dan ajukan permintaan mereka ke taman bertembok

Dalam artikel ini kita akan mempelajari cara mengkonfigurasi RPZ di BIND9, memblokir domain untuk semua pengguna dan mengarahkan beberapa pengguna ke taman bertembok.

Instal BIND9 dan Konfigurasi RPZ:

Mari instal Server DNS Caching BIND9 di Debian Linux.

# apt-get update
# apt-get install -y bind9

Aktifkan dan Mulai bind9 layanan

# systemctl enable bind9.service
# systemctl start bind9.service
# systemctl status bind9.service

Keluaran:

Server kami memiliki alamat 192.168.10.38 yang dikonfigurasi pada antarmuka fisiknya. Sekarang periksa status mendengarkan BIND9

# netstat -lntup | grep -E "PID|named"

Keluaran:

Kami melihat BIND9 mendengarkan pada keluarga alamat IPv4 dan IPv6 untuk semua antarmuka. Untuk mengoperasikan BIND9 di IPv4 hanya ubah opsi startup di /etc/default/bind9 berkas

OPTIONS="-4 -u bind"

Mulai ulang bind9 layanan

# systemctl restart bind9.service

Cadangkan file opsi default

# cp /etc/bind/named.conf.options /etc/bind/named.conf.options.ori

Tambahkan arahan konfigurasi RPZ di bawah opsi utama BIND9 dan nama zona di /etc/bind/named.conf.options berkas

response-policy { zone "rpz"; };

Kami juga dapat menambahkan beberapa zona di response-policy arahan sebagai berikut

response-policy { 
zone "rpz1";
zone "rpz2";
};

Sekarang tentukan properti zona

zone "rpz" {
type master;
file "rpz.local";
allow-query { localhost; };
allow-update { none; };
};

Sekarang anggaplah kita ingin memblokir Domain karena aktivitas Malware atau mungkin situs Iklan atau mungkin diarahkan oleh otoritas pengatur untuk memblokir situs tersebut. Dalam contoh ini, kami memblokir “youtube.com “. Buat rpz.local file di direktori default untuk BIND9 termasuk konten di bawah ini

$TTL 60
@ IN SOA localhost. root.localhost. (
2022012801 ; serial
1h ; refresh
30m ; retry
1w ; expiry
30m) ; minimum

IN NS ns1.example.com.
IN NS ns2.example.com.

youtube.com 30 IN CNAME .
*.youtube.com 30 IN CNAME .

Mulai ulang layanan BIND9

# systemctl restart bind9.service

Dalam arahan konfigurasi di atas, kami telah menetapkan Tindakan Kebijakan “NXDOMAIN” untuk domain “youtube.com “. Sekarang jika kami mencoba menjelajah dari workstation kami, kami tidak akan dapat menelusuri situs dan itu akan mengembalikan pesan NXDOMAIN di browser

Pada contoh berikutnya, kita akan mengarahkan “btcl.com.bd ” pengguna ke taman bertembok melalui RPZ. Ini akan menampilkan pesan kepada pengguna dengan memberikan data lokal dalam permintaan DNS. Untuk mencapai itu kita harus menulis RR sebagai berikut

btcl.com.bd      30    IN    A    192.168.10.38
*.btcl.com.bd 30 IN A 192.168.10.38

Catatan: Kami memiliki server web yang berjalan di 192.168.10.38 dan itu akan memberikan pesan khusus kepada pengguna.

Mulai ulang layanan BIND9.

Menjelajahi situs web “http://btcl.com.bd ” hasil di bawah pesan

Blokir pembayaran default pelanggan menggunakan RPZ

Dalam contoh ini, kami akan mengarahkan semua pengguna dengan saldo terutang ke taman bertembok untuk menampilkan pesan untuk membayar iuran mereka.

Kami memiliki pengguna dengan alamat IP 192.168.10.13 yang gagal membayar tagihan. Untuk mengalihkan semua permintaan pengguna ke server web wall-garden 192.168.10.38, kami akan mengonfigurasi rpz.local file sebagai berikut

32.13.10.168.192.rpz-client-ip    30    IN    A    192.168.10.38

Catatan: 32.13.10.168.192.rpz-client-ip mendefinisikan IP host dalam notasi CIDR 192.168.10.13/32 . Jika Anda ingin memblokir subnet 172.16.20.0/24 maka itu harus ditampilkan sebagai 24.0.20.16.172.rpz-client-ip .

Mulai ulang layanan BIND9.

Menjelajah dari klien biasa

Browsing dari klien wall-garden

Referensi:

https://tools.ietf.org/id/draft-vixie-dnsop-dns-rpz-00.html

http://www.zytrax.com/books/dns/


Linux
  1. Penemuan otomatis dan catatan DNS konfigurasi otomatis

  2. File Zona Besar Untuk Bind9 :Pemblokiran iklan?

  3. Perbedaan Antara Perangkat Keras dan Perangkat Lunak Firewall

  1. Lembar contekan untuk pengguna dan izin Linux

  2. Cara menginstal dan mengkonfigurasi VSFTPD

  3. LVM dan multipathing – contoh string filter LVM

  1. Pengguna dan Grup

  2. Pengguna dan Grup Klaster

  3. Cara Sederhana Dan Mudah Untuk Melewati Situs yang Diblokir?