Showing posts with label domain. Show all posts
Showing posts with label domain. Show all posts

Konfigurasi Bind9 (DNS Server) pada CentOS 6.5 dengan Chroot


Setelah sekian lama tidak posting karena banyak hal yang harus dibereskan :p, kali ini saya akan coba kembali sharing mengenai Konfigurasi Bind9 (DNS Server) pada CentOS 6.5 dengan Chroot. Kalo temen-temen masih belum paham tentang DNS, alangkah baiknya baca dulu blog mengenai Pengertian, Jenis, dan Konsep Domain Name System yang sudah saya share sebelumnya. Sekalian menambah traffic blog ini :p
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 :

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.

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 :)

Pengertian, Jenis, dan Konsep Domain Name System (DNS)

Pengertian DNS

Domain Name System adalah sebuah aplikasi services di Internet yang menerjemahkan sebuah domain name ke IP address.
Domain Name System adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang menggunakan TCP/IP (Transmission Control Protocol/Internet Protocol).

Apa itu Domain

Domain adalah nama unik yang diberikan untuk mengidentifikasikan nama server komputer seperti web server atau mail server di internet.
Nama domain memberikan kemudahan bagi para pengguna di internet untuk melakukan akses ke server dan mengingat server yang dikunjungi dibandingkan harus mengenal deretan nomor atau IP.

Nama Domain (domain name) adalah susunan huruf yang digunakan sesuai dengan identitas dalam komputer-komputer di internet.

Struktur DNS

Root Server ( GTLD )

GTLD merupakan kependekan dari Generic Top Level Domain. 
Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan Level. Level paling atas di hirarki disebut dengan “Root Domain” atau dikenal dengan Root Server
Root Domain diekspresikan berdasarkan periode dimana lambang untuk root domain adalah “.” Root server tidak hanya terdiri atas satu server saja tetapi terdapat sekitar 13 server di seluruh dunia (dengan urutan dari server A sampai dengan M).

CCTLD

Kependekkan dari Country Code Top Level Domain
Satu Level berada di bawah GTLD
Digunakan sebagai Identitas suatu negara.
Dua karakter untuk setiap negara sesuai dengan ISO 3166
Contoh : .id = Indonesia, .au = Australia, sg = Singapura.

DTD / Second level

Merupakan kependekkan dari Domain Tingkat Dua
Berada pada level setelah CCTLD
Umumnya domain tingkat dua seperti .com diberikan (shared) kepada organisasi-organisasi yang tergabung didalamnya.


Komponen DNS


  • Cachejenis ini tidak mempunyai data nama - nama host dari domain tertentu. Ia hanya mencari jawaban dari beberapa DNS Server dan menyimpan hasil di dalam cachenya untuk keperluan mendatang.
  • Primary (master), adalah DNS Server yang memegang daftar lengkap dari sebuah domain yang dikelolanya. Misalnya server ns1.xyz.com memegang otoritas penuh atas domain “xyz.com.”
  • Secondary (slave), adalah backup dari primary server apabila primary servernya crash atau untuk mempermudah pendelegasiannya. Secondary server juga memuat daftar lengkap dari sebuah domain, sama seperti primary server.

Tipe Record DNS

A
Address. Memetakan hostname/nama komputer ke IP address. Contohnya, www.google.com diterjemahkan ke IP x.x.x.x. Tipe record ini   menterjemahkan nama komputer.
MX
Mail Exchange. Untuk menunjukkan alamat dari email server atau SMTP server
SRV
Service Location. Untuk menunjukkan service yang dijalankan oleh sebuah komputer.
NS
Name Server. Untuk menunjukkan DNS yang berwenang dalam penanganan suatu zone.
CNAME
Canonical Name / Alias. Untuk menunjukkan nama lain dari suatu host atau komputer. Contohnya, google.com diterjemahkan ke  www.google.com  atau  mail.google.com
SOA
Start of Authority. Record pertama dalam suatu zone ini digunakan untuk menunjukkan primary DNS pada zone yang bersangkutan. SOA juga memberikan informasi lain seperti refresh interval, retry interval,dan lain-lain yang digunakan untuk proses sinkronisasi dengan DNS lain.
PTR
Pointer. Biasanya digunakan untuk Reverse Lookup Zones atau untuk menerjemahkan alamat IP ke nama komputer. Contoh alamat IP x.x.x.x diterjemahkan ke www.google.com

Resolver

Resolver /dns client adalah bagian dari program aplikasi yang berfungsi menjawab pertanyaan program aplikasi tentang domain. Resolver akan menjawab pertanyaan dengan dua cara yaitu :
1. Melihat isi cachenya (apabila pertanyaan tersebut pernah ditanyakan dan jawabanya disimpan dalam cache).
2. Bertanya / query kepada DNS server lokal serta menginterpretasikan hasilnya.

Bagaimana DNS Bekerja?


Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mencek ke local database DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address.

Dynamic DNS

Dynamic DNS atau DDNS adalah istilah yang digunakan untuk memperbarui secara real time dari internet Domain Name System (DNS) server nama untuk menjaga konfigurasi DNS aktif dari nama host, alamat dan informasi lainnya up to date.


Nah sekarang temen-temen sudah tau teori mengenai DNS. Mau tau gimana caranya melakukan konfigurasi DNS Server di linux? klik aja di sini :D