Oke kita mulai...
Definisi Chroot
Sebelum masuk ke tahap instalasi dan konfigurasi, kita mesti mengenal dulu konsep chroot yang akan diterapkan pada instalasi Bind9.
Chroot (singkatan dari change root) merupakan sebuah mekanisme software sebagai "penjara" untuk membatasi sebuah proses untuk mengakses resource di luar area terbatas. Hal ini dapat menambah keamanan pada proses tersebut.
Seperti yang kita ketahui pada materi Pengertian, Jenis, dan Konsep Domain Name System, DNS dapat bekerja dengan intranet maupun internet. Dan kita tahu bahwa di dunia internet terdapat banyak kejahatan dunia maya, seperti yang sudah dibahas di sini. Apabila celah keamanan DNS yang kita buat terlihat oleh para cyber criminals (hacker), bukan tidak mungkin DNS kita akan diekspolitasi, bahkan dengan sistem operasinya. Dengan mengisolasi DNS pada Chroot, dapat meminimalisir eksploitasi yang dapat dilakukan pada sistem.
Persiapan
- Komputer server dengan sistem operasi CentOS 6.5 minimal
- IP Address, misalnya server kita memiliki IP 10.10.10.2
- Koneksi internet.
- Gunakan superuser (root) untuk melakukan instalasi dan konfigurasi.
- Text editor seperti vi atau nano, rekomendasi : nano untuk memudahkan pengetikan. Jika nano belum terinstall pada CentOS, jalankan perintah yum install -y nano
- Konfigurasi Hostname. Tambahkan hostname pada file /etc/hosts dengan perintah nano /etc/hosts sehingga menjadi seperti berikut :
- IP Address, misalnya server kita memiliki IP 10.10.10.2
- Koneksi internet.
- Gunakan superuser (root) untuk melakukan instalasi dan konfigurasi.
- Text editor seperti vi atau nano, rekomendasi : nano untuk memudahkan pengetikan. Jika nano belum terinstall pada CentOS, jalankan perintah yum install -y nano
- Konfigurasi Hostname. Tambahkan hostname pada file /etc/hosts dengan perintah nano /etc/hosts sehingga menjadi seperti berikut :
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
10.10.10.2 host.domain.com host
*ubah host.domain.com dan host sesuai dengan FQDN (Fully Qualified Domain Name) yang akan digunakan, misalnya menjadi ns.mycompany.com dan ns. Restart server setelah konfigurasi hostname.
- Konfigurasi DNS Client untuk mengarahkan query DNS pada server itu sendiri. Edit file /etc/resolv.conf dengan perintah nano /etc/resolv.conf sehingga menjadi seperti berikut :
search domain.com
nameserver 10.10.10.2
nameserver 8.8.8.8
*ubah domain.com sesuai domain yang akan digunakan. Untuk nameserver kedua, gunakan public DNS, baik itu buatan sendiri atau DNS dari ISP. Contoh di atas menggunakan DNS Google.
Instalasi Bind9 dengan Chroot
Instalasi Bind9 dengan Chroot pada CentOS sangat mudah. Cukup jalankan perintah berikut :
# yum install -y bind bind-chroot bind-libs bind-utils
Dengan begitu, semua konfigurasi bind akan tersimpan pada direktori /var/named/chroot/
Konfigurasi Bind9
Konfigurasi Named
Pertama kali melakukan konfigurasi Bind9, kita harus mendefinisikan domain yang akan kita buat pada file named.conf.
Buat/edit file /var/named/chroot/etc/named.conf dengan perintah :
# nano /var/named/chroot/etc/named.conf
Tambahkan script berikut :
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
include "/etc/rndc.key";
zone "domain.com" {
type master;
file "domain.com.record";
};
*ubah domain.com dengan nama domain yang akan digunakan, nama file pun dapat diubah sesuai keinginan.
Konfigurasi Record DNS
Dikarenakan kita mengarahkan domain.com menuju file domain.com.record, berarti kita harus menambahkan file /var/named/chroot/var/named/domain.com.record. Jalankan perintah berikut :
# nano /var/named/chroot/var/named/domain.com.record
Di sini, kita bisa menambahkan Record NS, A, MX, dan lain-lain (kecuali PTR, karena PTR digunakan pada reverse DNS). Berikut contoh konfigurasi record DNS untuk file domain.com.record :
@ IN SOA host.domain.com. root.domain.com. (
2015120901 ; Serial
1H ; Refresh
15M ; Retry
1W ; Expire
1D ) ; Minimum
IN NS host.domain.com.
IN MX 10 mail.domain.com.
IN A 10.10.10.3
mail IN A 10.10.10.4
host IN A 10.10.10.2
www IN A 10.10.10.3
Dari contoh di atas, dapat kita ambil kesimpulan bahwa :
- Name server yang digunakan yaitu host.domain.com sesuai dengan hostname server yang kita konfigurasi.
- host.domain.com diarahkan menuju IP 10.10.10.2, yaitu DNS server yg kita konfigurasi
domain.com memiliki mail exchanger (mail server) pada mail.domain.com yang diarahkan menuju IP 10.10.10.4.
- domain.com dan www.domain.com diarahkan menuju IP 10.10.10.3 sehingga jika ada user yang mengakses http://domain.com atau http://www.domain.com akan diarahkan menuju IP tersebut.
- host.domain.com diarahkan menuju IP 10.10.10.2, yaitu DNS server yg kita konfigurasi
domain.com memiliki mail exchanger (mail server) pada mail.domain.com yang diarahkan menuju IP 10.10.10.4.
- domain.com dan www.domain.com diarahkan menuju IP 10.10.10.3 sehingga jika ada user yang mengakses http://domain.com atau http://www.domain.com akan diarahkan menuju IP tersebut.
Menjalankan Service Bind9
Setelah melakukan konfigurasi, saatnya kita jalankan service bind. Lakukan perintah berikut :
# service named start
atau
# /etc/init.d/named start
Agar bind dapat otomatis berjalan ketika server booting. Lakukan perintah berikut :
# chkconfig named on
Tes hasil konfigurasi
Untuk melakukan pengetesan, lakukan perintah berikut :
# nslookup host.domain.com
Akan menghasilkan informasi seperti berikut :
Server: 10.10.10.2
Address: 10.10.10.2#53
Name: host.domain.com
Address: 10.10.10.2
Jika informasi seperti di atas muncul, tandanya DNS Server Bind9 dengan Chroot pada CentOS 6.5 sudah berhasil kita bangun dan dapat digunakan oleh user.
Feel free to ask me if you have some questions :)