Domain Name Server
  .
DNS kepanjangan dari Domain Name
System atau dalam beberapa buku dan
guide di Internet sering diartikan DNS
sebagai kepanjangan dari Domain Name
Service.



                             2
Sejarah DNS
Dengan berjalanya routing paket IP, Wide Area Network
  berbasis protokol TCP/IP sudah dapat diwujudkan.
  Namun dalam penggunaanya, ternyata timbul masalah
  baru. Saat pengunaan aplikasi internet hendak
  menghubungi komputer tujuan, dia harus menyebutkan
  dulu IP address dari komputer tujuan.




                                        3
Sejarah DNS
Pada awalnya digunakan teknik yang dinamakan host
  table. Dimana masing-masing komputer menyimpan
  daftar kombinasi nama komputer dan IP address, pada
  file bernama HOSTS.TXT. Dengan berkembangnya
  dunia internet cara ini menjadi sangat tidak efisien.




                                          4
Sejarah DNS
Sekitar tahun 1984, Paul Mockapentris mengusulkan
  sistem database terdistribusi. Sistem inilah yang
  digunakan hingga sekarang.
Untuk memudahkan manusia maka komputer selain di
  beri identitas dengan nomor IP juga diberi nama
  (hostname). Hanya saja nama komputer dalam
  jaringan internet tentunya harus bersifat 'uniq' yang
  artinya tidak boleh sama.




                                            5
6
Peran DNS server
Memetakan nama (hostname) dengan
  IP address atau sebaliknya.

  Menerjemahkan atau men-translate
  nama (hostname) menjadi IP address
  atau sebaliknya.

  Menentukan server email (MX record)
  dari suatu domain name.

  Menyediakan caching nameserver

                             7
Tipe-tipe DNS server (nameserver)
master ― Dengan konfigurasi seperti ini DNS server atau
  nameserver memiliki otoritas pengelolaan suatu
  zone(domain) dan menyimpan record-record asli
  (sebenarnya) dari suatu zone, menjawab pertanyaan dari
  nameserver lainnya mengenai pencarian informasi suatu
  domain yang dikelolanya.




                                             8
Tipe DNS
slave ― Menjawab semua pertanyaan dari nameserver
   lainnya mengenai pencarian informasi suatu domain, disini
   nameserver dianggap sebagai yang memiliki otoritas
   pengelolaan domain tertentu, Tetapi sebenarnya, slave
   nameserver memperoleh informasi domain tersebut dari
   master nameserver yaitu dengan menyalin record-record
   zone (domain) tersebut dari master melalui mekanisme
   transfer file dengan menggunakan protokol DNS.




                                               9
Tipe-tipe DNS server (nameserver)
caching-only ― Dengan konfigurasi seperti ini maka
  nameserver hanya bertugas melakukan
  translasi(resolution) hostname ke IP atau sebaliknya
  tetapi tidak memiliki otoritas atas suatu domain.
  Seluruh jawaban dari proses translasi (resolutions)
  di-cache dalam memory selama periode waktu
  tertentu.




                                         10
Cont.

forwarding ― Konfigurasi seperti ini meyebabkan
  nameserver akan mem-forward atau meneruskan
  penerjemahan hostname ke IP address (name
  resolution) dari client ke salah satu nameserver dari
  daftar nameserver yang sudah ditentukan. Jika tidak
  ada daftar nameserver yang dispesifikasikan maka
  proses name resolution akan gagal.




                                          11
Sejarah BIND
Bind Merupakan software implementasi yang dibuat oleh Kevin
   Dunlap untuk sistem operasi Unix Berkeley 4.3BSD.
   Sampai saat sekarang BIND telah digunakan keberbagai
   sistem operasi unix lain, dan sudah menjadi bagian standar
   yang digunakan oleh vendor-vendor unix. Sebenarnya BIND
   bukan software yang pertama, karena sebelumnya sudah
   ada JEEVES yang dibuat oleh Paul Mockapetris. Softaware
   ini yang menjadi sotware pertama untuk spesifikasi DNS.




                                              12
Instalasi BIND

[root@root]#rpm -qa |grep bind
[root@root]#rpm -qa |grep caching-nameserver


[root@root]# rpm -ivh bind-9.3.4-
  6.0.2.P1.el5_2.i386.rpm
[root@root]# rpm -ivh bind-chroot-9.3.4-
  6.0.2.P1.el5_2.i386.rpm
[root@root]# rpm -ivh bind-utils-9.3.4-
  6.0.2.P1.el5_2.i386.rpm
[root@root]#rpm -ivh caching-nameserver-9.3.4-
  6.0.2.P1.el5_2.i386.rpm
                                    13
Konfigurasi Bind
BIND menyimpan file konfigurasinya dalam dua
  lokasi, yaitu:
/etc/named.rfc1912.zones dan
  /etc/named.caching-nameserver.conf -
  adalah file konfigurasi utama untuk program
  named. /var/named/ - adalah sebuah direktori yang
  biasanya berisi file-file database zone.
/var/named/chroot - adalah direktori chroot
  bind.



                                          14
Menjalankan service bind
[root@root]# /etc/init.d/named start
atau
[root@root]# service named start




                              15
Caching Only nameserver

konfigurasi /etc/named.rfc1912.zones

options {
     directory "/var/named";
};


//
// a caching only nameserver config
//
zone "." IN {
     type hint;
     file "named.ca";
};
                                       16
Forwarding nameserver



options {
     directory "/var/named";
  forwarders { 202.159.32.2;};
};




                             17
Master nameserver

Contoh tambahan konfigurasi master
 nameserver pada file
 /etc/named.rfc1912.zones:

zone "fery.ok" IN {
     type master;
     file "fery.ok.zone";
};
                            18
Master nameserver (cont)
[root@root]#cd /var/named/chroot/var/named
[root@root]#cp localhost.zone fery.ok.zone
[root@root]#chgrp named fery.ok.zone
[root@root]#vi fery.ok.zone


Kemudian rubah isi file “fery.ok.zone”,
  seperti berikut:




                                   19
Konfigurasi file zone
$TTL   86400
$ORIGIN fery.ok.
@               IN SOA ns.fery.ok.          @ root (
                         42            ; serial
                         3H            ; refresh
                         15M            ; retry
                         1W            ; expiry
                         1D )          ; minimum
@ IN     NS        ns.fery.ok.
@ IN     MX 10         mail.fery.ok.
ns.fery.ok.      IN       A       192.168.0.1
mail.fery.ok.     IN      A       192.168.0.1
www.fery.ok.        IN        A     192.168.0.1
ftp.fery.ok.     IN      CNAME      www.fery.ok.


                                                       20
Tes DNS
[root@root]#/etc/init.d/named restart
[root@root]#dig www.fery.ok any
[root@root]#nslookup www.fery.ok
[root@root]#host www.fery.ok




                             21
Mengelola domain dan sub domain




                            22
DNS Server Pengelola Top Level Domain

[root@fe]# vi
  /etc/named.rfc1912.zones

  zone "nf" {
         type master;
         file "nf.zone";
};

                                 23
Konfigurasi file zone
$ttl 38400
nf. IN    SOA         dns.server.nf. root (
                     42 ; serial

              10800 ;refresh

              3600    ;retry

              604800           ;expire

             nf.      IN                 NS              dns.server.nf.
nf.           IN               MX        10     mail.server.nf.
dns.server.nf .       IN       A         192.168.0.1
mail.server.nf .      IN       A         192.168.0.1
www.server.nf . IN             A         192.168.0.1
camar.nf.             IN       NS        ns.camar.nf .
ns.camar.nf .         IN       A         192.168.0.2
merak.nf.             IN       NS        ns.merak.nf .
ns.merak.nf .         IN       A         192.168.0.3
merpati.nf.                    IN        NS     ns.merpati.nf .
ns.merpati.nf            IN A            192.168.0.4

                                                                          24
Menjalankan service DNS
#service named start
atau
#service named restart

Kalau ada error lihat pesan kesalahn
 pada file /var/log/message



                              25
Menjalankan service DNS
#service named start
atau
#service named restart

Kalau ada error lihat pesan kesalahn
 pada file /var/log/message



                              26
Tes DNS
 (perintah dig www.nf any
;; QUESTION SECTION:
;nf.                           IN        ANY
;; ANSWER SECTION:


nf.               86400    IN       SOA        dns.server.nf. root . 42 10800 3600 604800
       38400
nf.              86400    IN        NS     dns.server.nf
nf.              86400    IN        MX         10 mai.server.nf.


;; ADDITIONAL SECTION:
dns.server.nf.            86400      IN        A   192.168.0.1
mail.server.nf.           86400      IN        A   192.168.0.1




                                                                         27
DNS Server Pengelola Sub Domain




zone "camar.nf" {
         type master;
         file "camar.nf.zone";
};



                                 28
Konfigurasi zone
$ttl 38400
camar.nf. IN        SOA        ns.camar.nf. root (
                   42 ; serial
                   10800        ;refresh
                   3600 ;retry
                   604800       ;expire
                   38400 )      ;minimum
camar.nf.     IN          NS         ns.camar.nf.
camar.nf.           IN          MX         10 mail.camar.nf.
ns.camar.nf         IN A        192.168.0.2
mail.camar.nf . IN A            192.168.0.2
www.camar.nf .            IN A       192.168.0.2


                                                               29
Konfigurasi file /etc/named.caching-nameserver.zones

options {
     listen­on port 53 { 127.0.0.1; 192.168.0.1 };
     listen­on­v6 port 53 { ::1; };
     directory       "/var/named";
     dump­file       "/var/named/data/cache_dump.db";
     statistics­file "/var/named/data/named_stats.txt";
     memstatistics­file "/var/named/data/named_mem_stats.txt";
            allow­query     { any; };
};
logging {
     channel default_debug {
            file "data/named.run";
            severity dynamic;
     };
};
view localhost_resolver {
     match­clients        { any; };
                                                                 30
     match­destinations { any; };
Serangan Terhadap DNS
.Beberapa serangan dan issue keamanan yang terjadi pada server DNS adalah:

  Penyerangan secara langsung pada perangkat lunak DNS sesuai dengan kelemahan yang
 diketahui atau berhasil dieksploitasi. Akibatnya sang penyerang dapat mengambil alih dan
 mengontrol host yang diserang. Setelah itu biasanya sang penyerang akan dapat menguasai
 jaringan sekaligus.
  DNS Spoofing/Cache Poisoning
  DNS spoofing atau cache poisoning adalah teknik untuk memasukkan atau meracuni cache pada
 suatu server DNS dengan data atau informasi yang salah. Jika sebuah server DNS terkena DNS
 spoofing atau cache poisoning maka data atau informasi yang diberikan server DNS tersebut tidak
 valid lagi karena telah di­spoof atau diracuni oleh sang penyerang. Misal: server DNS dari
 target.com terkena DNS spoofing maka sang penyerang dapat memasukkan data atau informasi
 yang salah pada server DNS tersebut sehingga dia dapat menggunakannya untuk melakukan
 beberapa hal yang berhubungan dengan record DNS pada target.com:




                                                                          31
Serangan DNS

A record
     Jika record ini teracuni maka sang penyerang mungkin akan memberikan pemetaan dari nama host ke alamat IP yang salah sehingga
 server DNS jadi tidak berfungsi sebagaimana mestinya. Sang penyerang dapat pula membuat website yang sama dengan website aslinya.
 Kemudian pemetaan nama ke alamat IP diarahkan ke website yang telah dia buat tadi. misal website bank atau situs e­commerce, sang
 penyerang dapat memanen username, password, nomor kartu kredit, dan informasi para pengguna layanan website itu.
     MX record
     Dengan memasukkan data mx record yang tidak valid, sang penyerang bisa mengarahkan semua lalu lintas email ke server milik
 sang penyerang dan tetap mem­forward/meneruskan email untuk server tujuan.

          Spoofing data mx record pada server DNS
  Penyerang bisa juga menggunakan permintaan rekursif (recursive query) suatu host/domain ke server DNS target untuk meracuni cache
 server DNS. Server tersebut akan mencari name­server yang bertanggung jawab terhadap host dan akan mengirimkan query ke name­
 server tersebut untuk meminta record mengenai host/domain yang diminta.
  Pada saat bersamaan dengan pemberian respon oleh name­server yang dimintai untuk melakukan resolving, dimasukkan juga
 data/informasi tentang suatu pemetaan host/domain yang salah/palsu. Sehingga resolver/klien lain yang meminta resolving host
 tersebut akan mendapatkan respon yang salah/palsu juga.

   Denial of Service Attack (DoS)
  Denial of Service Attack adalah tipe penyerangan kepada suatu layanan dalam hal ini yang kita bicarakan adalah layanan DNS.
 Akibatnya orang lain yang akan menggunakan layanan server DNS ini tidak akan dapat menggunakannya.
  Penyerangan DoS bisa dengan mengirimkan
     Permintaan zone­transfer secara bersamaan dari mesin yang berbeda dan terus menerus.
     Pengiriman query secara membabi buta dan bersamaan dari mesin yang berbeda.
     Pengiriman pesan respon ke port 53 dengan respon yang salah/tidak valid sehingga server DNS akan memberikan pesan kesalahan
 ke klien/resolver atau name­server lain.




                                                                                                    32
Bind
.Beberapa kelemahan keamanan pada BIND:

  TSIG bug
    Buffer overflow pada kode TSIG pada semua versi BIND dibawah 8.2.3.
    Memberikan akses pada host yang menjalankan named.
    Dapat di­eksploit oleh worm li0n.
  Complain bug
    Buffer overflow pada nslookupComplain().
    Mengijinkan penyerang untuk meng­crash named.
  SRV bug
    Pemrosesan record SRV yang tidak sesuai.
    Menghasilkan loop yang tak terhingga.
  NXT bug
    Pemrosesan record NXT yang tidak sesuai
    Memberikan akses pada host yang menjalankan named.




                                                             33
bind
.Di bawah ini adalah implementasi dan rekomendasi yang relatif aman pada BIND:

  Penggunaan versi BIND terbaru.
  Sebagian besar versi BIND lama mempunyai bug dan dapat dieksploitasi sehingga akan menimbulkan serangan. Dengan menggunakan versi terbaru
 diharapkan dapat meminimalkan adanya bug dan eksploitasi yang bisa dilakukan terhadap name-server karena bug pada versi sebelumnya biasanya
 sudah diperbaiki pada versi yang lebih baru. Jangan lupa ketika meng-upgrade baca perubahan yang ada (release notes), karena pada beberapa versi
 terbaru ada perubahan konfigurasi untuk mengaktifkan fitur baru dan kinerjanya.
  Mengurangi kesalahan pada satu titik
  Ada beberapa cara:
     Menyediakan server DNS lebih dari satu yang otoritatif pada tiap zone (berbeda subnet, berbeda router, berbeda koneksi).
     Menyediakan master name-server cadangan.
     Menyediakan name-server cadangan untuk resolution.
  Pembatasan zone-transfer
  Melakukan pembatasan zone-transfer hanya kepada secondary name-server atau mesin yang benar-benar mempunyai authority terhadap informasi
 atau data pada zone yang bersangkutan. Pada /etc/named.conf tambahkan baris allow transfer { [ip-atau-jaringan-yang-boleh-melakukan-zone-
 transfer]}; di bagian options atau zone. Contoh:

  options {
    allow-transfer {192.168.3.3;};
  };

  atau pada zone

  zone "my-server.com" IN {
    type master;
    file "db.my-server.com";
    allow-transfer {192.168.3.3;};
  };




                                                                                                                 34
bind
.Selain itu bisa juga dengan menggunakan metode Transaction SIGnature (TSIG). Contoh:

  key transfer.my-server.com. {
    algorithm hmac-md5;
    secret jggRewTTCgdTOUvWPd0cqPoRiQ/=;
  };

  zone "my-server.com" {
    type master;
    file "db.my-server.com";
    allow-transfer {key transfer.my-server.com.;};
  };

  Zone-transfer tidak dapat dilakukan oleh name-server yang meminta tanpa key (kode TSIG) yang sama pada primary-master name-server.
  Membatasi dynamic update
  Dynamic update harus dibatasi pada server DNS kita dari permintaan update informasi host/domain. Pada /etc/named.conf tambahkan baris allow update { [ip-atau-
 jaringan-yang-boleh-melakukan-update]}; di bagian options atau zone. Contoh:

  options {
    allow-update {192.168.3.3;};
  };

  atau pada zone

  zone "tech-server.com" IN {
    type "master";
    file "db.tech-server.com";
    allow-update {127.0.0.1; 192.168.3.0/24;};
  };




                                                                                                                           35
bind
.Membatasi permintaan rekursif
   Dengan pembatasan permintaan rekursif pada server DNS maka dapat meminimalkan
  ancaman DNS spoofing/cache poisoning. Permintaan rekursif dapat dibatasi dengan options
  allow-recursion. Contoh:

  options {
    ...
    allow-recursion {192.168.3.0/24;};
    ...
  };

  Jika ingin mematikan fasilitas permintaan rekursif dapat menggunakan options recursion
 no. Contoh:

  options {
    recursion no;
  };




                                                                     36
bind
.Chroot Jail
    Teknik ini akan menghindari named digunakan oleh
  penyusup untuk melakukan modifikasi filesystem serta
  menghindari adanya buffer overflow.
    Secara umum langkah menjalankan named dengan
  lingkungan chroot() yaitu: Pilih direktori kerja named misal
  /var/named/, jika anda menginginkan direktori lain bisa
  anda buat sendiri. Salin berkas-berkas yang penting untuk
  menjalankan named: named (binary), named.conf, zone.
  Jalankan named dengan option -t.

  # /usr/sbin/named -u named -t /var/named/


                                               37
Access control
Anda dapat membuat batasan terhadap akses
 atau query ke DNS server bind untuk alasan
 keamanan dan performa, menggunakan
 keyword acl dan view pada file konfigurasi
 bind. Sebagai contoh DNS server Anda
 adalah sebuah komputer yang berada di area
 DMZ, yaitu dapat diakses dari private
 network (LAN) dan juga dari public network
 (internet).
          )

                                 38
39
Pertama, edit file konfiguarsi /etc/named.caching-nameserver.conf sehingga entri konfigurasinya
    sebagai berikut:
options {
     listen-on port 53 { any; };
     listen-on-v6 port 53 { ::1; };
     directory     "/var/named";
     dump-file      "/var/named/data/cache_dump.db";
     statistics-file "/var/named/data/named_stats.txt";
     memstatistics-file "/var/named/data/named_mem_stats.txt";
};
logging {
     channel default_debug {
            file "data/named.run";
            severity dynamic;
     };
};


                                                                             40
bind
.bind
.bind
.   acl LAN { 192.168.1.0/24;};

acl INTERNET { any;};


view my.private.net {
       match-clients     { LAN; };
       match-destinations { any; };
       recursion yes;
       include "/etc/named.rfc1912.zones";
};
view my.public.net {
       match-clients     { INTERNET; };
       match-destinations { any; };

         recursion no;
         include "/etc/named.rfc1912.zones.net";
};


                                                   41
dari file /etc/named.rfc1912.zones seperti berikut ini:
zone "." IN {
      type hint;
      file "named.ca";
};
zone "localdomain" IN {
      type master;
      file "localdomain.zone";
      allow-update { none; };
};
zone "localhost" IN {
      type master;
      file "localhost.zone";
      allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
      type master;
      file "named.local";                                 42
      allow-update { none; };
Sedangkan isi dari file /etc/named.rfc1912.zones.net seperti
  berikut ini:
zone "." IN {
      type hint;
      file "named.ca";
};



zone "merpati.nf" IN {
      type master;
      file "merpati.com";
};
                                                   43

Dns

  • 1.
    Domain Name Server . DNS kepanjangan dari Domain Name System atau dalam beberapa buku dan guide di Internet sering diartikan DNS sebagai kepanjangan dari Domain Name Service. 2
  • 2.
    Sejarah DNS Dengan berjalanyarouting paket IP, Wide Area Network berbasis protokol TCP/IP sudah dapat diwujudkan. Namun dalam penggunaanya, ternyata timbul masalah baru. Saat pengunaan aplikasi internet hendak menghubungi komputer tujuan, dia harus menyebutkan dulu IP address dari komputer tujuan. 3
  • 3.
    Sejarah DNS Pada awalnyadigunakan teknik yang dinamakan host table. Dimana masing-masing komputer menyimpan daftar kombinasi nama komputer dan IP address, pada file bernama HOSTS.TXT. Dengan berkembangnya dunia internet cara ini menjadi sangat tidak efisien. 4
  • 4.
    Sejarah DNS Sekitar tahun1984, Paul Mockapentris mengusulkan sistem database terdistribusi. Sistem inilah yang digunakan hingga sekarang. Untuk memudahkan manusia maka komputer selain di beri identitas dengan nomor IP juga diberi nama (hostname). Hanya saja nama komputer dalam jaringan internet tentunya harus bersifat 'uniq' yang artinya tidak boleh sama. 5
  • 5.
  • 6.
    Peran DNS server Memetakannama (hostname) dengan IP address atau sebaliknya.  Menerjemahkan atau men-translate nama (hostname) menjadi IP address atau sebaliknya.  Menentukan server email (MX record) dari suatu domain name.  Menyediakan caching nameserver 7
  • 7.
    Tipe-tipe DNS server(nameserver) master ― Dengan konfigurasi seperti ini DNS server atau nameserver memiliki otoritas pengelolaan suatu zone(domain) dan menyimpan record-record asli (sebenarnya) dari suatu zone, menjawab pertanyaan dari nameserver lainnya mengenai pencarian informasi suatu domain yang dikelolanya. 8
  • 8.
    Tipe DNS slave ―Menjawab semua pertanyaan dari nameserver lainnya mengenai pencarian informasi suatu domain, disini nameserver dianggap sebagai yang memiliki otoritas pengelolaan domain tertentu, Tetapi sebenarnya, slave nameserver memperoleh informasi domain tersebut dari master nameserver yaitu dengan menyalin record-record zone (domain) tersebut dari master melalui mekanisme transfer file dengan menggunakan protokol DNS. 9
  • 9.
    Tipe-tipe DNS server(nameserver) caching-only ― Dengan konfigurasi seperti ini maka nameserver hanya bertugas melakukan translasi(resolution) hostname ke IP atau sebaliknya tetapi tidak memiliki otoritas atas suatu domain. Seluruh jawaban dari proses translasi (resolutions) di-cache dalam memory selama periode waktu tertentu. 10
  • 10.
    Cont. forwarding ― Konfigurasiseperti ini meyebabkan nameserver akan mem-forward atau meneruskan penerjemahan hostname ke IP address (name resolution) dari client ke salah satu nameserver dari daftar nameserver yang sudah ditentukan. Jika tidak ada daftar nameserver yang dispesifikasikan maka proses name resolution akan gagal. 11
  • 11.
    Sejarah BIND Bind Merupakansoftware implementasi yang dibuat oleh Kevin Dunlap untuk sistem operasi Unix Berkeley 4.3BSD. Sampai saat sekarang BIND telah digunakan keberbagai sistem operasi unix lain, dan sudah menjadi bagian standar yang digunakan oleh vendor-vendor unix. Sebenarnya BIND bukan software yang pertama, karena sebelumnya sudah ada JEEVES yang dibuat oleh Paul Mockapetris. Softaware ini yang menjadi sotware pertama untuk spesifikasi DNS. 12
  • 12.
    Instalasi BIND [root@root]#rpm -qa|grep bind [root@root]#rpm -qa |grep caching-nameserver [root@root]# rpm -ivh bind-9.3.4- 6.0.2.P1.el5_2.i386.rpm [root@root]# rpm -ivh bind-chroot-9.3.4- 6.0.2.P1.el5_2.i386.rpm [root@root]# rpm -ivh bind-utils-9.3.4- 6.0.2.P1.el5_2.i386.rpm [root@root]#rpm -ivh caching-nameserver-9.3.4- 6.0.2.P1.el5_2.i386.rpm 13
  • 13.
    Konfigurasi Bind BIND menyimpanfile konfigurasinya dalam dua lokasi, yaitu: /etc/named.rfc1912.zones dan /etc/named.caching-nameserver.conf - adalah file konfigurasi utama untuk program named. /var/named/ - adalah sebuah direktori yang biasanya berisi file-file database zone. /var/named/chroot - adalah direktori chroot bind. 14
  • 14.
    Menjalankan service bind [root@root]#/etc/init.d/named start atau [root@root]# service named start 15
  • 15.
    Caching Only nameserver konfigurasi/etc/named.rfc1912.zones options { directory "/var/named"; }; // // a caching only nameserver config // zone "." IN { type hint; file "named.ca"; }; 16
  • 16.
    Forwarding nameserver options { directory "/var/named"; forwarders { 202.159.32.2;}; }; 17
  • 17.
    Master nameserver Contoh tambahankonfigurasi master nameserver pada file /etc/named.rfc1912.zones: zone "fery.ok" IN { type master; file "fery.ok.zone"; }; 18
  • 18.
    Master nameserver (cont) [root@root]#cd/var/named/chroot/var/named [root@root]#cp localhost.zone fery.ok.zone [root@root]#chgrp named fery.ok.zone [root@root]#vi fery.ok.zone Kemudian rubah isi file “fery.ok.zone”, seperti berikut: 19
  • 19.
    Konfigurasi file zone $TTL 86400 $ORIGIN fery.ok. @ IN SOA ns.fery.ok. @ root ( 42 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum @ IN NS ns.fery.ok. @ IN MX 10 mail.fery.ok. ns.fery.ok. IN A 192.168.0.1 mail.fery.ok. IN A 192.168.0.1 www.fery.ok. IN A 192.168.0.1 ftp.fery.ok. IN CNAME www.fery.ok. 20
  • 20.
    Tes DNS [root@root]#/etc/init.d/named restart [root@root]#digwww.fery.ok any [root@root]#nslookup www.fery.ok [root@root]#host www.fery.ok 21
  • 21.
    Mengelola domain dansub domain 22
  • 22.
    DNS Server PengelolaTop Level Domain [root@fe]# vi /etc/named.rfc1912.zones zone "nf" { type master; file "nf.zone"; }; 23
  • 23.
    Konfigurasi file zone $ttl38400 nf. IN SOA dns.server.nf. root ( 42 ; serial 10800 ;refresh 3600 ;retry 604800 ;expire nf. IN NS dns.server.nf. nf. IN MX 10 mail.server.nf. dns.server.nf . IN A 192.168.0.1 mail.server.nf . IN A 192.168.0.1 www.server.nf . IN A 192.168.0.1 camar.nf. IN NS ns.camar.nf . ns.camar.nf . IN A 192.168.0.2 merak.nf. IN NS ns.merak.nf . ns.merak.nf . IN A 192.168.0.3 merpati.nf. IN NS ns.merpati.nf . ns.merpati.nf IN A 192.168.0.4 24
  • 24.
    Menjalankan service DNS #servicenamed start atau #service named restart Kalau ada error lihat pesan kesalahn pada file /var/log/message 25
  • 25.
    Menjalankan service DNS #servicenamed start atau #service named restart Kalau ada error lihat pesan kesalahn pada file /var/log/message 26
  • 26.
    Tes DNS (perintahdig www.nf any ;; QUESTION SECTION: ;nf. IN ANY ;; ANSWER SECTION: nf. 86400 IN SOA dns.server.nf. root . 42 10800 3600 604800 38400 nf. 86400 IN NS dns.server.nf nf. 86400 IN MX 10 mai.server.nf. ;; ADDITIONAL SECTION: dns.server.nf. 86400 IN A 192.168.0.1 mail.server.nf. 86400 IN A 192.168.0.1 27
  • 27.
    DNS Server PengelolaSub Domain zone "camar.nf" { type master; file "camar.nf.zone"; }; 28
  • 28.
    Konfigurasi zone $ttl 38400 camar.nf.IN SOA ns.camar.nf. root ( 42 ; serial 10800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum camar.nf. IN NS ns.camar.nf. camar.nf. IN MX 10 mail.camar.nf. ns.camar.nf IN A 192.168.0.2 mail.camar.nf . IN A 192.168.0.2 www.camar.nf . IN A 192.168.0.2 29
  • 29.
    Konfigurasi file /etc/named.caching-nameserver.zones options{ listen­on port 53 { 127.0.0.1; 192.168.0.1 }; listen­on­v6 port 53 { ::1; }; directory "/var/named"; dump­file "/var/named/data/cache_dump.db"; statistics­file "/var/named/data/named_stats.txt"; memstatistics­file "/var/named/data/named_mem_stats.txt"; allow­query { any; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view localhost_resolver { match­clients { any; }; 30 match­destinations { any; };
  • 30.
    Serangan Terhadap DNS .Beberapaserangan dan issue keamanan yang terjadi pada server DNS adalah: Penyerangan secara langsung pada perangkat lunak DNS sesuai dengan kelemahan yang diketahui atau berhasil dieksploitasi. Akibatnya sang penyerang dapat mengambil alih dan mengontrol host yang diserang. Setelah itu biasanya sang penyerang akan dapat menguasai jaringan sekaligus. DNS Spoofing/Cache Poisoning DNS spoofing atau cache poisoning adalah teknik untuk memasukkan atau meracuni cache pada suatu server DNS dengan data atau informasi yang salah. Jika sebuah server DNS terkena DNS spoofing atau cache poisoning maka data atau informasi yang diberikan server DNS tersebut tidak valid lagi karena telah di­spoof atau diracuni oleh sang penyerang. Misal: server DNS dari target.com terkena DNS spoofing maka sang penyerang dapat memasukkan data atau informasi yang salah pada server DNS tersebut sehingga dia dapat menggunakannya untuk melakukan beberapa hal yang berhubungan dengan record DNS pada target.com: 31
  • 31.
    Serangan DNS A record Jika record ini teracuni maka sang penyerang mungkin akan memberikan pemetaan dari nama host ke alamat IP yang salah sehingga server DNS jadi tidak berfungsi sebagaimana mestinya. Sang penyerang dapat pula membuat website yang sama dengan website aslinya. Kemudian pemetaan nama ke alamat IP diarahkan ke website yang telah dia buat tadi. misal website bank atau situs e­commerce, sang penyerang dapat memanen username, password, nomor kartu kredit, dan informasi para pengguna layanan website itu. MX record Dengan memasukkan data mx record yang tidak valid, sang penyerang bisa mengarahkan semua lalu lintas email ke server milik sang penyerang dan tetap mem­forward/meneruskan email untuk server tujuan. Spoofing data mx record pada server DNS Penyerang bisa juga menggunakan permintaan rekursif (recursive query) suatu host/domain ke server DNS target untuk meracuni cache server DNS. Server tersebut akan mencari name­server yang bertanggung jawab terhadap host dan akan mengirimkan query ke name­ server tersebut untuk meminta record mengenai host/domain yang diminta. Pada saat bersamaan dengan pemberian respon oleh name­server yang dimintai untuk melakukan resolving, dimasukkan juga data/informasi tentang suatu pemetaan host/domain yang salah/palsu. Sehingga resolver/klien lain yang meminta resolving host tersebut akan mendapatkan respon yang salah/palsu juga. Denial of Service Attack (DoS) Denial of Service Attack adalah tipe penyerangan kepada suatu layanan dalam hal ini yang kita bicarakan adalah layanan DNS. Akibatnya orang lain yang akan menggunakan layanan server DNS ini tidak akan dapat menggunakannya. Penyerangan DoS bisa dengan mengirimkan Permintaan zone­transfer secara bersamaan dari mesin yang berbeda dan terus menerus. Pengiriman query secara membabi buta dan bersamaan dari mesin yang berbeda. Pengiriman pesan respon ke port 53 dengan respon yang salah/tidak valid sehingga server DNS akan memberikan pesan kesalahan ke klien/resolver atau name­server lain. 32
  • 32.
    Bind .Beberapa kelemahan keamananpada BIND: TSIG bug Buffer overflow pada kode TSIG pada semua versi BIND dibawah 8.2.3. Memberikan akses pada host yang menjalankan named. Dapat di­eksploit oleh worm li0n. Complain bug Buffer overflow pada nslookupComplain(). Mengijinkan penyerang untuk meng­crash named. SRV bug Pemrosesan record SRV yang tidak sesuai. Menghasilkan loop yang tak terhingga. NXT bug Pemrosesan record NXT yang tidak sesuai Memberikan akses pada host yang menjalankan named. 33
  • 33.
    bind .Di bawah iniadalah implementasi dan rekomendasi yang relatif aman pada BIND: Penggunaan versi BIND terbaru. Sebagian besar versi BIND lama mempunyai bug dan dapat dieksploitasi sehingga akan menimbulkan serangan. Dengan menggunakan versi terbaru diharapkan dapat meminimalkan adanya bug dan eksploitasi yang bisa dilakukan terhadap name-server karena bug pada versi sebelumnya biasanya sudah diperbaiki pada versi yang lebih baru. Jangan lupa ketika meng-upgrade baca perubahan yang ada (release notes), karena pada beberapa versi terbaru ada perubahan konfigurasi untuk mengaktifkan fitur baru dan kinerjanya. Mengurangi kesalahan pada satu titik Ada beberapa cara: Menyediakan server DNS lebih dari satu yang otoritatif pada tiap zone (berbeda subnet, berbeda router, berbeda koneksi). Menyediakan master name-server cadangan. Menyediakan name-server cadangan untuk resolution. Pembatasan zone-transfer Melakukan pembatasan zone-transfer hanya kepada secondary name-server atau mesin yang benar-benar mempunyai authority terhadap informasi atau data pada zone yang bersangkutan. Pada /etc/named.conf tambahkan baris allow transfer { [ip-atau-jaringan-yang-boleh-melakukan-zone- transfer]}; di bagian options atau zone. Contoh: options { allow-transfer {192.168.3.3;}; }; atau pada zone zone "my-server.com" IN { type master; file "db.my-server.com"; allow-transfer {192.168.3.3;}; }; 34
  • 34.
    bind .Selain itu bisajuga dengan menggunakan metode Transaction SIGnature (TSIG). Contoh: key transfer.my-server.com. { algorithm hmac-md5; secret jggRewTTCgdTOUvWPd0cqPoRiQ/=; }; zone "my-server.com" { type master; file "db.my-server.com"; allow-transfer {key transfer.my-server.com.;}; }; Zone-transfer tidak dapat dilakukan oleh name-server yang meminta tanpa key (kode TSIG) yang sama pada primary-master name-server. Membatasi dynamic update Dynamic update harus dibatasi pada server DNS kita dari permintaan update informasi host/domain. Pada /etc/named.conf tambahkan baris allow update { [ip-atau- jaringan-yang-boleh-melakukan-update]}; di bagian options atau zone. Contoh: options { allow-update {192.168.3.3;}; }; atau pada zone zone "tech-server.com" IN { type "master"; file "db.tech-server.com"; allow-update {127.0.0.1; 192.168.3.0/24;}; }; 35
  • 35.
    bind .Membatasi permintaan rekursif Dengan pembatasan permintaan rekursif pada server DNS maka dapat meminimalkan ancaman DNS spoofing/cache poisoning. Permintaan rekursif dapat dibatasi dengan options allow-recursion. Contoh: options { ... allow-recursion {192.168.3.0/24;}; ... }; Jika ingin mematikan fasilitas permintaan rekursif dapat menggunakan options recursion no. Contoh: options { recursion no; }; 36
  • 36.
    bind .Chroot Jail Teknik ini akan menghindari named digunakan oleh penyusup untuk melakukan modifikasi filesystem serta menghindari adanya buffer overflow. Secara umum langkah menjalankan named dengan lingkungan chroot() yaitu: Pilih direktori kerja named misal /var/named/, jika anda menginginkan direktori lain bisa anda buat sendiri. Salin berkas-berkas yang penting untuk menjalankan named: named (binary), named.conf, zone. Jalankan named dengan option -t. # /usr/sbin/named -u named -t /var/named/ 37
  • 37.
    Access control Anda dapatmembuat batasan terhadap akses atau query ke DNS server bind untuk alasan keamanan dan performa, menggunakan keyword acl dan view pada file konfigurasi bind. Sebagai contoh DNS server Anda adalah sebuah komputer yang berada di area DMZ, yaitu dapat diakses dari private network (LAN) dan juga dari public network (internet). ) 38
  • 38.
  • 39.
    Pertama, edit filekonfiguarsi /etc/named.caching-nameserver.conf sehingga entri konfigurasinya sebagai berikut: options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; 40
  • 40.
    bind .bind .bind . acl LAN { 192.168.1.0/24;}; acl INTERNET { any;}; view my.private.net { match-clients { LAN; }; match-destinations { any; }; recursion yes; include "/etc/named.rfc1912.zones"; }; view my.public.net { match-clients { INTERNET; }; match-destinations { any; }; recursion no; include "/etc/named.rfc1912.zones.net"; }; 41
  • 41.
    dari file /etc/named.rfc1912.zonesseperti berikut ini: zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; 42 allow-update { none; };
  • 42.
    Sedangkan isi darifile /etc/named.rfc1912.zones.net seperti berikut ini: zone "." IN { type hint; file "named.ca"; }; zone "merpati.nf" IN { type master; file "merpati.com"; }; 43