際際滷

際際滷Share a Scribd company logo
Securing Bind DNS
            Id-SIRTII/CC  2012
   Document Revision 20120515
INTERNET
DNS
DNS
Semacam buku telepon yang terdapat di Internet

Spesifikasi Fungsi ;

- Domain server

- Mapping ip address ke hostname

- Mapping kotak surat (@contoh.net)

- Filtering (DNSBL/spam filter, Domain Filter)

- Infrastruktur Distribusi
KOMUNIKASI DNS
HIRARKI DNS
                                 
                                              com domain
                      net edu com
                                     
 apnic.net
 domain                                  google
                apnic
                           isisun    tislabs
                                          
                               moon
                      
                      training
             www           
                ftp                   www
net                       ns2 ns1
domain
KOMPONEN DNS
1. DNS AUTHORITATIVE ;

        - Memberikan jawaban Dari Recussor

        - Administrasi nama domain

        - Database Record Resource (RR)

2. DNS RECURSIVE ;

        - Pencari jawaban dari client

        - Memberi jawaban yang tepat ke client
RECORD RESOURCE DNS
Record Resource Database pada DNS Authoritative


A                    HOSTNAME

PTR                  Reverse Address Mapping

CNAME                Aliases

MX                   Mail Exchange Domain

NS                   Authoritative DNS
MODEL DNS AUTHORITATIVE


               NS2
               secondary



       NS1     NS3
     Primary   secondary



               NS4
               secondary
MODEL DNS AUTHORITATIVE
Primary DNS ;
1. Menyimpan database RR domain
2. Update database RR domain


Secondary DNS ;
1. Backup dari DNS Primary
2. Menyimpan database RR domain
SERANGAN DNS
1. DNS Reflector / Amplification
SERANGAN DNS

- Penyerang mengirimkan permintaan DNS Query ke DNS
Resolver

B. DNS Resolver akan meminta jawaban query ke DNS
Authoritative

C. Masalah besar jika permintaan dari Bot Network

D. Efek ; DNS Resource, Traffic Resource, Internet Down
SERANGAN DNS
2. DNS Cache Poisoning
SERANGAN DNS
1. Penyerang meracuni query cache DNS Server

2. User akan menggunakan fasilitas e-banking

3. User meminta DNS query untuk mencari domain e-
banking

4. DNS Menjawab permintaan, tapi memberikan jawaban
salah

5. User akan membuka fasilitas e-banking yang salah.
SERANGAN DNS
3. Distributed Denial Of Service

  - Salah satu teknik serangan dari DOS
  - Permintaan request / layanan yang secara bersamaan
  sehingga Resource sebuah Server mengalami gangguan.
  - Melibatkan Bot Network
SERANGAN DNS
4. Bind Spoofing

Secara umum, bind paling banyak digunakan oleh
banyak system administrator

 Query yang dihasilkan mudah untuk ditebak
 http://www.trusteer.com/list-context/publications/bind-9-dns-cache-poisoning


 Source UDP Port mudah ditebak

 Hasil dari spoofing ada DNS Cache Poisoning
Preventive Bind DNS
1. Menggunakan Bind versi terbaru
  Versi terbaru Bind Software ;
  Bind 9.9.0
  Bind 9.8.2
  Bind 9.7.5
  Versi terbaru dari bind dapat dilihat di ;
  http://www.isc.org/software/bind
Preventive Bind DNS
2. Preventive Bind Server Infrastruktur

  Hindari untuk menggunakan 1 subnet

   Hindari untuk menggunakan 1 router

  Hindari untuk menggunakan 1 leases line/backbone

  Menggunakan slave server yang berada jauh
  secara jaringan

  Menggunakan metode DNS Proxying
Preventive Bind DNS
Contoh Implementasi DNS Proxying



                                   NS1




         DNS                       NS2




                                   NS3
Preventive Bind DNS
DNS adalah nameserver yang hanya sebagai primary dns

DNS tidak listing di registar
NS 1  NS 3 adalah nameserver yang terdaftar di Registar
Preventive Bind DNS
3. Filter Traffic Bind DNS Server

  Gunakan host anda hanya untuk server bind.

  Filter semua traffic, kecuali UDP dan TCP port 53
  - Router
  - Firewall Host

  Contoh filter iptables (Linux Firewall);
  # iptables -A INPUT -p tcp -m tcp -dport 53 -j ACCEPT
  # iptables -A INPUT -p udp -m udp -dport 53 -j ACCEPT
  # iptables -P INPUT DROP
Preventive Bind DNS
4. Membatasi database zona transfer named.conf

Tujuan untuk mengindari crackers untuk melihat content
Database Zona ( Resource Records), Host demographic

Contoh :

options {
allow-transfer { 206.168.119.178; };
};
Preventive Bind DNS
5. Authentifikasi Transfer Zone named.conf

 Komunikasi antar server pada saat transfer database
 zona domain dengan menggunakan transfer signature
 (Tsig)

 Contoh di primary server :

 key dilarang-mengintip {
 algorithm hmac-md5;
 secret mZiMNOUYQPMNwsDzrX2ENw==;
 };
 zone contoh.com {
 type master;
 file db.contoh.com;
 allow-transfer { key dilarang-mengintip; };
 };
Preventive Bind DNS

Contoh di slave server named.conf

key dilarang-mengintip {
algorithm hmac-md5;
secret mZiMNOUYQPMNwsDzrX2ENw==;
};
server 208.8.5.250 {
transfer-format many-answers;
keys { dilarang-mengintip.; };
};
zone contoh.com {
type slave;
file bak.contoh.com;
allow-transfer { none; };
};
Preventive Bind DNS
6. Mengamankan server dari serangan cache poisoning

  Dengan menerima request query dari internet, bind server
  akan mudah dicari kelemahannya

 Mematikan opsi recursive dari internet;

 Contoh
 options {
 recursion no;
 };
Preventive Bind DNS
Membatasi layanan query
Contoh :

acl internal { 206.168.119.176/29; };

options {
directory /var/named;
allow-query { internal; };
};

zone contoh.com {
type master;
file db.contoh.com;
allow-query { any; };
};
Preventive Bind DNS
7. Menjalankan aplikasi bind di lingkungan chroot dan
   Dijalankan oleh user selain root (named)
 Chroot adalah metode direktori virtual
  Jika terjadi incident, maka attacker tidak sampai
  memasuki sistem utama

  Contoh struktur chroot :
  /var/named/chroot/etc
  /var/named/chroot/var/named/data
  .......
Preventive Bind DNS
8. DNS Security Extension (DNSSEC)

  Tindakan preventive dari serangan cyber

  Memastikan proses query yang valid

  Semacam SSL authentication DNS
Preventive Bind DNS
8.1 Deploy DNSSec

   Enable DNSSec pada authoritative servers ;

   options {
     dnssec足enable yes;
   };

   Enable DNSSec pada resursive servers ;

    options {
     dnssec足enable yes;
     dnssec足validation yes;

    };

   Package ssl harus ada pada server
Preventive Bind DNS
DNSSec membutuhkan 2 key yaitu ZSK dan KSK;
ZSK = berfungsi sebagai signature data pada zone
KSK = berfungsi sebagai signature dari zona sign key (ZSK)

Membuat KSK ;
#dnssec-keygen -r /dev/random -f KSK -a RSASHA1 -b 2048
-n ZONE contoh.com

Membuat ZSK ;
#dnssec-keygen -r /dev/random -a RSASHA1 -b 1024 -n
ZONE contoh.com
Dari perintah diatas, masing  masing menghasilkan 2 file
yaitu
.key dan .private
Preventive Bind DNS
Memasukan hasil dari zsk dan ksk kedalam database zona
domain;

$INCLUDE *.key

Signing database zona domain;
#dnssec-signzone -l dlv.isc.org -r /dev/random -o
contoh.com 
-k Kcontoh.com.+005+aaaaa contoh.com.db Kcontoh.com.
+005+bbbbb.key


aaaaa adalah KSK key dan bbbbb adalah ZSK key

Hasil dari signing diatas adalah contoh.signed
Preventive Bind DNS
Mengaktifkan statement trusted-keys ;
Contoh pada named.conf;
 trusted-keys {
  dlv.isc.org. 257 3 5 "BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+ju
  oZrW3euWEn4MxDCE1+lLy2brhQv5rN32RKtMzX6Mj70jdzeND4XknW58
  dnJNPCxn8+jAGl2FZLK8t+1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0
  PG73Te9fZ2kJb56dhgMde5ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTw
  FlgPe+jnGxPPEmHAte/URkY62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOw
 IeU/Rw/mRx/vwwMCTgNboMQKtUdvNXDrYJDSHZws3xiRXF1Rf+al9Um
 Z fSav/4NWLKjHzpT59k/VStTDN0YUuWrBNh";
 };
Preventive Bind DNS
Enable logging bind DNS ;
Contoh ;

logging {
 channel dnssec_log {
 file "log/dnssec" size 20m;
 print-time yes;
 print-category yes;
 print-severity yes;
 severity debug 3;
 };
 category dnssec {
 dnssec_log;
 };
};
Preventive Bind DNS

Update nama zona database pada named.conf
Contoh ;

rubah
zone zonename {
  file dir/zonefile;
};

dengan
zone zonename {
  file dir/zonefile.signed;
};
Preventive Bind DNS
9. Referensi

- https://dlv.isc.org
- DNS ATTACKS  HIMANSHU PRABHAKAR
- Security challenges in DNS Philippe Camacho
- Introduction to DNSSEC  Tom Daly
- http://www.cymru.com
Terimakasih

More Related Content

Securing DNS 20120516 by ID-SIRTII team in Medan

  • 1. Securing Bind DNS Id-SIRTII/CC 2012 Document Revision 20120515
  • 3. DNS
  • 4. DNS Semacam buku telepon yang terdapat di Internet Spesifikasi Fungsi ; - Domain server - Mapping ip address ke hostname - Mapping kotak surat (@contoh.net) - Filtering (DNSBL/spam filter, Domain Filter) - Infrastruktur Distribusi
  • 6. HIRARKI DNS com domain net edu com apnic.net domain google apnic isisun tislabs moon training www ftp www net ns2 ns1 domain
  • 7. KOMPONEN DNS 1. DNS AUTHORITATIVE ; - Memberikan jawaban Dari Recussor - Administrasi nama domain - Database Record Resource (RR) 2. DNS RECURSIVE ; - Pencari jawaban dari client - Memberi jawaban yang tepat ke client
  • 8. RECORD RESOURCE DNS Record Resource Database pada DNS Authoritative A HOSTNAME PTR Reverse Address Mapping CNAME Aliases MX Mail Exchange Domain NS Authoritative DNS
  • 9. MODEL DNS AUTHORITATIVE NS2 secondary NS1 NS3 Primary secondary NS4 secondary
  • 10. MODEL DNS AUTHORITATIVE Primary DNS ; 1. Menyimpan database RR domain 2. Update database RR domain Secondary DNS ; 1. Backup dari DNS Primary 2. Menyimpan database RR domain
  • 11. SERANGAN DNS 1. DNS Reflector / Amplification
  • 12. SERANGAN DNS - Penyerang mengirimkan permintaan DNS Query ke DNS Resolver B. DNS Resolver akan meminta jawaban query ke DNS Authoritative C. Masalah besar jika permintaan dari Bot Network D. Efek ; DNS Resource, Traffic Resource, Internet Down
  • 13. SERANGAN DNS 2. DNS Cache Poisoning
  • 14. SERANGAN DNS 1. Penyerang meracuni query cache DNS Server 2. User akan menggunakan fasilitas e-banking 3. User meminta DNS query untuk mencari domain e- banking 4. DNS Menjawab permintaan, tapi memberikan jawaban salah 5. User akan membuka fasilitas e-banking yang salah.
  • 15. SERANGAN DNS 3. Distributed Denial Of Service - Salah satu teknik serangan dari DOS - Permintaan request / layanan yang secara bersamaan sehingga Resource sebuah Server mengalami gangguan. - Melibatkan Bot Network
  • 16. SERANGAN DNS 4. Bind Spoofing Secara umum, bind paling banyak digunakan oleh banyak system administrator Query yang dihasilkan mudah untuk ditebak http://www.trusteer.com/list-context/publications/bind-9-dns-cache-poisoning Source UDP Port mudah ditebak Hasil dari spoofing ada DNS Cache Poisoning
  • 17. Preventive Bind DNS 1. Menggunakan Bind versi terbaru Versi terbaru Bind Software ; Bind 9.9.0 Bind 9.8.2 Bind 9.7.5 Versi terbaru dari bind dapat dilihat di ; http://www.isc.org/software/bind
  • 18. Preventive Bind DNS 2. Preventive Bind Server Infrastruktur Hindari untuk menggunakan 1 subnet Hindari untuk menggunakan 1 router Hindari untuk menggunakan 1 leases line/backbone Menggunakan slave server yang berada jauh secara jaringan Menggunakan metode DNS Proxying
  • 19. Preventive Bind DNS Contoh Implementasi DNS Proxying NS1 DNS NS2 NS3
  • 20. Preventive Bind DNS DNS adalah nameserver yang hanya sebagai primary dns DNS tidak listing di registar NS 1 NS 3 adalah nameserver yang terdaftar di Registar
  • 21. Preventive Bind DNS 3. Filter Traffic Bind DNS Server Gunakan host anda hanya untuk server bind. Filter semua traffic, kecuali UDP dan TCP port 53 - Router - Firewall Host Contoh filter iptables (Linux Firewall); # iptables -A INPUT -p tcp -m tcp -dport 53 -j ACCEPT # iptables -A INPUT -p udp -m udp -dport 53 -j ACCEPT # iptables -P INPUT DROP
  • 22. Preventive Bind DNS 4. Membatasi database zona transfer named.conf Tujuan untuk mengindari crackers untuk melihat content Database Zona ( Resource Records), Host demographic Contoh : options { allow-transfer { 206.168.119.178; }; };
  • 23. Preventive Bind DNS 5. Authentifikasi Transfer Zone named.conf Komunikasi antar server pada saat transfer database zona domain dengan menggunakan transfer signature (Tsig) Contoh di primary server : key dilarang-mengintip { algorithm hmac-md5; secret mZiMNOUYQPMNwsDzrX2ENw==; }; zone contoh.com { type master; file db.contoh.com; allow-transfer { key dilarang-mengintip; }; };
  • 24. Preventive Bind DNS Contoh di slave server named.conf key dilarang-mengintip { algorithm hmac-md5; secret mZiMNOUYQPMNwsDzrX2ENw==; }; server 208.8.5.250 { transfer-format many-answers; keys { dilarang-mengintip.; }; }; zone contoh.com { type slave; file bak.contoh.com; allow-transfer { none; }; };
  • 25. Preventive Bind DNS 6. Mengamankan server dari serangan cache poisoning Dengan menerima request query dari internet, bind server akan mudah dicari kelemahannya Mematikan opsi recursive dari internet; Contoh options { recursion no; };
  • 26. Preventive Bind DNS Membatasi layanan query Contoh : acl internal { 206.168.119.176/29; }; options { directory /var/named; allow-query { internal; }; }; zone contoh.com { type master; file db.contoh.com; allow-query { any; }; };
  • 27. Preventive Bind DNS 7. Menjalankan aplikasi bind di lingkungan chroot dan Dijalankan oleh user selain root (named) Chroot adalah metode direktori virtual Jika terjadi incident, maka attacker tidak sampai memasuki sistem utama Contoh struktur chroot : /var/named/chroot/etc /var/named/chroot/var/named/data .......
  • 28. Preventive Bind DNS 8. DNS Security Extension (DNSSEC) Tindakan preventive dari serangan cyber Memastikan proses query yang valid Semacam SSL authentication DNS
  • 29. Preventive Bind DNS 8.1 Deploy DNSSec Enable DNSSec pada authoritative servers ; options { dnssec足enable yes; }; Enable DNSSec pada resursive servers ; options { dnssec足enable yes; dnssec足validation yes; }; Package ssl harus ada pada server
  • 30. Preventive Bind DNS DNSSec membutuhkan 2 key yaitu ZSK dan KSK; ZSK = berfungsi sebagai signature data pada zone KSK = berfungsi sebagai signature dari zona sign key (ZSK) Membuat KSK ; #dnssec-keygen -r /dev/random -f KSK -a RSASHA1 -b 2048 -n ZONE contoh.com Membuat ZSK ; #dnssec-keygen -r /dev/random -a RSASHA1 -b 1024 -n ZONE contoh.com Dari perintah diatas, masing masing menghasilkan 2 file yaitu .key dan .private
  • 31. Preventive Bind DNS Memasukan hasil dari zsk dan ksk kedalam database zona domain; $INCLUDE *.key Signing database zona domain; #dnssec-signzone -l dlv.isc.org -r /dev/random -o contoh.com -k Kcontoh.com.+005+aaaaa contoh.com.db Kcontoh.com. +005+bbbbb.key aaaaa adalah KSK key dan bbbbb adalah ZSK key Hasil dari signing diatas adalah contoh.signed
  • 32. Preventive Bind DNS Mengaktifkan statement trusted-keys ; Contoh pada named.conf; trusted-keys { dlv.isc.org. 257 3 5 "BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+ju oZrW3euWEn4MxDCE1+lLy2brhQv5rN32RKtMzX6Mj70jdzeND4XknW58 dnJNPCxn8+jAGl2FZLK8t+1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0 PG73Te9fZ2kJb56dhgMde5ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTw FlgPe+jnGxPPEmHAte/URkY62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOw IeU/Rw/mRx/vwwMCTgNboMQKtUdvNXDrYJDSHZws3xiRXF1Rf+al9Um Z fSav/4NWLKjHzpT59k/VStTDN0YUuWrBNh"; };
  • 33. Preventive Bind DNS Enable logging bind DNS ; Contoh ; logging { channel dnssec_log { file "log/dnssec" size 20m; print-time yes; print-category yes; print-severity yes; severity debug 3; }; category dnssec { dnssec_log; }; };
  • 34. Preventive Bind DNS Update nama zona database pada named.conf Contoh ; rubah zone zonename { file dir/zonefile; }; dengan zone zonename { file dir/zonefile.signed; };
  • 35. Preventive Bind DNS 9. Referensi - https://dlv.isc.org - DNS ATTACKS HIMANSHU PRABHAKAR - Security challenges in DNS Philippe Camacho - Introduction to DNSSEC Tom Daly - http://www.cymru.com