Domain Name System (DNS) adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surel (email) untuk setiap domain.
DNS menyediakan servis yang cukup penting untuk Internet, bilamana perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat surel. Analogi yang umum digunakan untuk menjelaskan fungsinya adalah DNS bisa dianggap seperti buku telepon internet dimana saat pengguna mengetikkan www.contoh.com di peramban web maka pengguna akan diarahkan ke alamat IP 192.0.32.10 (IPv4) dan 2620:0:2d0:200:10 (IPv6).
DNS Posioning adalah sebuah aksi untuk mengalihkan akses menuju suatu websiteke alamat wesite yg lain. DNS Posioning merupakan sebuah aksi hacking untuk menembus pertahanan dengan cara menyampaikan informasi IP address yang salah mengenai sebuah host,dengan tujuan untuk mengalihkan lalu lintas paket data dari tujuan yang sebenarnya.
DNS Poisoning dapat juga diartikan sebagai 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.
Cara mengatasi DNS poisoning:
1. Penggunaan versi Berkeley Internet Name Domain (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.
2. Mengurangi kesalahan pada satu titik
Ada beberapa cara:
3. 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
4. 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.
5. Pembatasan query
Membatasi query atau permintaan terhadap data atau informasi yang ada dalam database-cache atau berkas zone server DNS. Pada /etc/named.conf tambahkan baris allow query { [ip-atau-jaringan-yang-boleh-melakukan-query]}; di bagian options atau zone.
6. 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.
7. Membagi fungsi dua name-server.
Pembagian fungsi dari name-server yaitu:
Permintaan versi perangkat lunak BIND biasanya dilakukan penyerang untuk mengetahui versi dari BIND dan akan membandingkan dengan daftar versi yang mempunyai kelemahan. Selanjutnya si penyerang akan menyerang dengan serangan atau eksploitasi yang spesifik pada versi BIND tertentu. Kita harus menolak permintaan versi dan mencatat permintaan tersebut, yaitu dengan mengedit /etc/named.conf dan zone
9. Mematikan layanan yang tidak perlu dan mem-filter lalu lintas data.
Layanan-layanan yang tidak digunakan pada host yang menjalankan name-server sebaiknya dimatikan selain itu juga perlu dilakukan pem-filteran-an lalu lintas data.
Lalu lintas atau permintaan yang menuju port 53/tcp dan port 53/udp diijinkan tetapi tetap di-filter dan dibatasi melalui konfigurasi name-server. Layanan lain pada host yang masih digunakan dapat di-filter menggunakan firewall.
10. Memonitor server DNS dan berita keamanan BIND.
Seiring dengan waktu keamanan menjadi ancaman bagi sistem kita. Untuk memperkecil atau mempersempit terjadinya pemanfaatan kelemahan sistem kita terutama server DNS maka kita harus tetap memonitor server (monitor berkas catatan/log sistem) dan mengikuti informasi melalui mailing-list keamanan BIND ataupun di website keamanan/sekuriti. Di milis dan website tersebut biasanya tersedia informasi kelemahan-kelemahan yang terjadi pada suatu perangkat lunak ataupun sistem dan cara mencegahnya
DNS menyediakan servis yang cukup penting untuk Internet, bilamana perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat surel. Analogi yang umum digunakan untuk menjelaskan fungsinya adalah DNS bisa dianggap seperti buku telepon internet dimana saat pengguna mengetikkan www.contoh.com di peramban web maka pengguna akan diarahkan ke alamat IP 192.0.32.10 (IPv4) dan 2620:0:2d0:200:10 (IPv6).
DNS Posioning adalah sebuah aksi untuk mengalihkan akses menuju suatu websiteke alamat wesite yg lain. DNS Posioning merupakan sebuah aksi hacking untuk menembus pertahanan dengan cara menyampaikan informasi IP address yang salah mengenai sebuah host,dengan tujuan untuk mengalihkan lalu lintas paket data dari tujuan yang sebenarnya.
DNS Poisoning dapat juga diartikan sebagai 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.
Cara mengatasi DNS poisoning:
1. Penggunaan versi Berkeley Internet Name Domain (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.
2. 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.
3. 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
4. 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.
5. Pembatasan query
Membatasi query atau permintaan terhadap data atau informasi yang ada dalam database-cache atau berkas zone server DNS. Pada /etc/named.conf tambahkan baris allow query { [ip-atau-jaringan-yang-boleh-melakukan-query]}; di bagian options atau zone.
6. 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.
7. Membagi fungsi dua name-server.
Pembagian fungsi dari name-server yaitu:
- Fungsi untuk menerima dan menjawab query akan menghindari adanya kelebihan beban pada server DNS kita terutama permintaan resolving yang banyak.
- Fungsi untuk name-server jaringan internal dan eksternal untuk menghindari informasi atau data dimanfaatkan oleh orang yang tidak bertanggung jawab.
- Ketika kita mencoba membuat dua server DNS, kita membutuhkan dua komputer server (perangkat keras). Dengan BIND versi 8 ke atas kita dapat membuat dua name-server dalam satu komputer sehingga kita dapat membagi name-server untuk menerima dan menjawab query atau permintaan resolving nama domain.
Permintaan versi perangkat lunak BIND biasanya dilakukan penyerang untuk mengetahui versi dari BIND dan akan membandingkan dengan daftar versi yang mempunyai kelemahan. Selanjutnya si penyerang akan menyerang dengan serangan atau eksploitasi yang spesifik pada versi BIND tertentu. Kita harus menolak permintaan versi dan mencatat permintaan tersebut, yaitu dengan mengedit /etc/named.conf dan zone
9. Mematikan layanan yang tidak perlu dan mem-filter lalu lintas data.
Layanan-layanan yang tidak digunakan pada host yang menjalankan name-server sebaiknya dimatikan selain itu juga perlu dilakukan pem-filteran-an lalu lintas data.
Lalu lintas atau permintaan yang menuju port 53/tcp dan port 53/udp diijinkan tetapi tetap di-filter dan dibatasi melalui konfigurasi name-server. Layanan lain pada host yang masih digunakan dapat di-filter menggunakan firewall.
10. Memonitor server DNS dan berita keamanan BIND.
Seiring dengan waktu keamanan menjadi ancaman bagi sistem kita. Untuk memperkecil atau mempersempit terjadinya pemanfaatan kelemahan sistem kita terutama server DNS maka kita harus tetap memonitor server (monitor berkas catatan/log sistem) dan mengikuti informasi melalui mailing-list keamanan BIND ataupun di website keamanan/sekuriti. Di milis dan website tersebut biasanya tersedia informasi kelemahan-kelemahan yang terjadi pada suatu perangkat lunak ataupun sistem dan cara mencegahnya