Bonjour! Kita bertemu lagi di blog Tutorial Linux Ubuntu Berbahasa Indonesia. Sebelumnya saya sudah sedikit mengulas mengenai beberapa konfigurasi bind di linux. Jika anda belum membacanya, silahkan klik link dibawah ini.
Sekarang mari kita lanjutkan pembahasan sebelumnya. Kali ini saya akan membahas mengenai logging bind.
Logging
Bind memiliki fasilitas log yang cukup fleksibel menurut saya karena dapat dikonfigurasi sesuai dengan kebutuhan yang dikontrol oleh direktif logging. Bind versi 9 memiliki kemampuan kontrol yang sama dengan bind versi sebelumnya, namun memiliki fasilitas tambahan yang tidak dimiliki oleh bind versi 4, terutama dalam hal kemampuan mengontrol fasilitas log.
Ada dua konsep yang harus dipahami untuk sistem log bind sebelum kita dapat mengkonfigurasi bind secara efektif, yaitu saluran (channel) dan kategori. Channel merupakan istilah yang digunakan oleh bind untuk mengatur kemana data log tersebut pergi, ke sistem syslog, ke berkas,ke stderr, atau dibuang. Kategori digunakan untuk mendefinisikan data apa yang masuk ke log, dan bind memiliki sejumlah kategori yang dibangun ke dalam kode sumber bind.
Sama seperti sistem log di linux, bind juga memiliki tingkat ataupun level log yang dapat digunakan untuk mem-filter pesan log sehingga secara selektif hanya pesan log dengan level tertentu saja dapat masuk ke dalam log. Level tersebut mulai dari ringan sampai terberat berturut-turut dynamic, debug, info, notice, warning, error, dan critical.
Setiap kategori data yang dideklarasikan, dapat disalurkan ke satu ataupun beberapa saluran secara bersamaan. Sebagai contoh kita akan membuat sistem log sebagai berikut :
kategori keamanan ----> channel log
----> channel berkas
kategori permintaan ----> channel berkas
Kita akan membuat tiga buah channel, yaitu satu channel untuk ke syslog dan 2 channel ke berkas yang akan diberi nama my_syslog, my_query dan my_sec. Channel my_syslog akan menampung log dengan level minimal info, sedangkan my_query dan my_sec dengan level minimal dynamic. Kategori yang akan digunakan adalah tiga, yaitu kategori default, security dan queries.
Data log untuk kategori default akan dibuang, sedangkan data log untuk kategori security akan dilewatkan ke syslog dan juga disimpan ke berkas sec_log. Sedangkan data kategori queries akan disimpan ke berkas query.log. Berikut ini adalah konfigurasi tersebut.
logging {
channel my_syslog {
syslog daemon;
severity info;
};
channel my_query {
file "/var/log/bind/query.log";
severity dynamic;
};
channel my_sec {
file "/var/log/bind/sec.log";
severity dynamic;
};
category default { null; };
category security { my_syslog; my_sec };
category queries { my_query; };
};
Setelah memasukkan konfigurasi diatas restart service bind, lalu kita dapat melihat log untuk kategori query di query.log dan kategori security di sec.log sebagai berikut:
apocalypsix@ns: # tail -f /var/log/bind/query.log
client 10.10.1.1#36887: view internal: query: clients4.google.com IN A +
client 10.10.1.1#45961: view internal: query: ttt.wowowo.com IN A +
Options
Direktif option mengontrol berbagai macam perilaku bind seperti port yang digunakan, forwarder, dan lokasi berbagai berkas konfigurasi. Debian dan Ubuntu menyediakan berkas khusus yang diperuntukan bagi direktif options yaitu named.conf.options. Direktif ini berisikan daftar direktif lain. Secara default, berkas ini berisikan direktif lain sebagai berikut :
options {
directory "/var/cache/bind";
auth-nxdomain no;
listen-on-v6 { any; };
};
Direktif directory merupakan alamat direktori yang digunakan oleh bind untuk menyimpan cache bind. Direktif auth-nxdomain digunakan untuk oleh bind untuk menentukan apakah menjawab NXDOMAIN, atau alamat yang tidak ada. secara otoritatif. Direktif listen-on-v6 digunakan untuk menentukan apakah bind akan menjawab permintaan ipv6.
Selain direktif tersebut, ada berbagai macam direktif yang dapat digunakan di direktif options. Berikut ini adalah daftar direktif yang sering digunakan di direktif options.
- query-source address * port 53, digunakan untuk menentukan port yang digunakan oleh bind untuk mengajukan permintaan ke server lain.
- forwards { alamat-ip; }; digunakan oleh bind untuk meneruskan permintaan hanya ke server yang ditentukan di alamat.ip.
- recursion yes|no digunakan untuk menentukan apakah bind akan menjawab permintaan secara rekursif atau tidak.
Salam penguin! :)