Lingkage program

DJBDNS

Posted on: August 28, 2007

DJBDNSALTERNATIF DNS SERVER PENGGANTI BIND

Kebanyakan orang jika mendengar kata DNS Server di unix, biasanya mereka berpikir tentang BIND ( Barkeley Internet Name Daemond, yaitu sebuah nameserver daemond yang dikembangkan oleh Barkeley. Hampir semua distribusi unix, secara defaultnya menyertakan BIND sebagai program DNS server mereka, sehingga banyak orang mengidentifikasikan atau berpikir DNS Server adalah BIND, namun

pada kenyataannya BIND bukan satu-satunya DNS Server yang ada. Ada banyak program DNS yang lain di unix yang dapat berfungsi sebagai DNS Server diantaranya dents dan djbdns.

Pada artikel ini hanya membahas tentang djbdns saja , karena djbdns memiliki aliran yang agakberbeda dengan BIND dalam melakukan seting dnscache maupun suatu domain.

APA ITU DJBDNS?

DJBDNS adalah koleksi dari beberapa peralatan DNS yang cukup canggih, yang terdiri dari atas

DNSCACHE, yaitu program yang berfungsi melakukan caching informasi domain dari DNS Server, dnscache menerima dns query dari localhost maupun clientnya (hanya Ipaddress yang diijinkan ), dan dnscache akan mencari dan mengumpulkan informasi dari remote DNS Server serta memberikan jawaban dari query tersebut.
TINYDNS, yaitu DNS Server yang mempunyai autorisasi untuk satu domain tertentu, memberikan informasi tentang domain yang ditanganinya ke client langsung jika autoritatif, tinydens hanya bekerja berdasarkan paket UDP saja.
PICKDNS,yaitu DNS Server yang berfungsi sebagai load balancing, biasanya difungsikan untuk membagi beban/load dari suatu server.
WALLDNS.yaitu berfungsi sebagai reverse dns, menyediakan informasi reverse dan meneruskan informasi sambil menyembunyikan informasi dari localhost.
RBLDNS, yaitu berfungsi untuk mempublikasikan daftar alamat-alamat IP.
LIBRARY DNS, yang berfungsi untuk menangani paket-paket DNS yang keluar masuk. Ini dapat digunakan oleh klien seperti web broser ,dsb. Untuk melihat alamat host, nama host, record MX. Dsb.
DNSFILTER, sebagai penerjamah IP-address-to-host-nama secara parallel.
DNSIP, DNSIPQ,DNSNAME,DNSTXT DAN DNSMX, yaitu berfungsi sebagai utilitas sederhana untuk berinteraksi dan memeriksa DNS.
DNSQ DAN DNSTRACE, berfungsi sebagai alat untuk melakukan debigging.

MENGAPA MENGGUNAKAN DJBDNS?

Tahukah adanda bahwa sebenarnya BIND sangatlah rentan terhadap serangan-serangan yang dapat membahayakan keamanan server anda?

Seringkali seorang cracker melakukan penyusupan atau DoS (Denialof Services) terhadap server dengan memanfaatkan celah keamanan yang terdapat pada BIND, banyak sekali versi dari BIND yang masih rentan terhadap serangan-serangan seperti ini.

Jika anda terlanjur menggunakan BIND dan masih bersikeras untuk tetap menggunakan BIND dan patch level terbaruh yang bias anda temukan melalui website dari BIND yaitu dihttp://www.isc.org/bind.html, serta selalu mengikuti perkembangan informasi tentang security BIND, serta gunakan option u dan g untuk menjalankan BIND sebagai non-root UID/GID, karena dengan cara ini sedikit banyak akan mempersulit para cracker untuk bias melakukan kudeta terhadap root dengan memanfaatkan user yang menjalankan BIND.

APA SAJA FITUR YANG DITAWARKAN DJBDNS?

Djbdns terdiri dari beberapa program yang dijalankan nonroot UID/GID sehingga kendali penuh dari system tidak bias disentuh dari djbdns.

Dnscache akan mengabaikan semua dns queries dari alamat yang tidak termasuk dalam daftar alamat ip yang diijinkan untuk mengakses dnscache, jadi dengan cara ini tidak sembarang orang bias mencuri resource dari system anda, seperti yang terjadi pada kebanyakan nameserver di internet. Pada tinydns akanmengabaikan queries yang bukan outrisasinya.
Dnscache dan dns library menggunakan ID untuk setiap query baru dan port UDP baru pada untuk ksetiap query dan alan mengabaikan query dari alamat IP yang tidak relevan.
Dnsccache menggunakan generator kriptografi untuk memilih nomor port dan ID yang sulit ditebak.
Dnscache kebal terhadap serangan yang mencoba mengacaukan cache (cache-poisoning)
Tinydns, pickdns dan walldns tidak men-cache informasi dan tidak bias ditipu dengan melakukan rekursi informasi/domain.

Fitur diatas memang dirancang khusus untuk djbdns yang benar-benar realibel dan aman.

INSTALASI DJBDNS (DNSCACHE DAN TINYDNS)

Djbdns hanya berjalan di sitem operasi unix, anda ias menggunakan beberapa variasi unix seperti Linux, FreeBSD dan Open BSD.Untuk menjalankan Djbdns dibutuhkan program tambahan yaitu daemontool yang dapat di dpwnload di http://cr.yp.to/daemontools.html, sedangkan djbdns dapat didownload di http://cr.yp.to/djbdns/djbdns-1.05.tar.gz

MEMASANG DAEMONTOOLS

Seperti biasa, lakukan gunzip dan untar terhadap packet daemondtools yang anda download.

# tar xvfz daemondtools-0.70.tar.gz masuk ke directory daemondtools-0.70 dan lakukan kompilasi (default akan diinstall di /usr/local, edit file conf-home jika anda menginkan diinstal di /usr);

# make

kemudian lakukan instalasi:

# make setup check

buatlah directory untuk meletakkan program yang akan dijalankan oleh daemondtools, misalnya nya namanya services di root directory

# mkdir /services

MEMASANG DJBDNS

Seperti biasa lakukan un-tar dari un-gzippedterhadap file djbdns yang anda download terlebih dahulu:

# tar xvfz djbdns-1.02.tar.gz

lalulakukan kompilasi (defaultakan diinstall di/usr/local, edit file conf-home jilka anda menghendaki di install di /usr}.

# echo gcc -O2 -include /usr/include/errno.h > conf-cc

# make

dan install dengan perintah:

# make setup check

MENGKONFIGURASIKAN DNSCACHE

Dnscache adalah DNS cache server local (atau jaringan local); dnscache akan menerima dan menjawab DNS query dari klien local, seperti web broser, mail user agent dsb., dan akan menyimpan informasi tersebut untuk menjawab DNS query berikutnya, sehinggga dnscache akan memberikan respon cepat apabila terdapat DNS query yang sudah disimpan.

Mengkonfigurasi dnscache di djbdns sangatlah mudah, semua sudah diatur oleh program yang bernama dnscache-conf, syntax umum dari dnscache-conf adalah:

Dnscache-conf acct logacct /directory

Dimana acct adalah account yang menjalankan dnscache, logacct adalah account yang digunakan untukmencatat log , jadi yang pertama sebagai acct dan log acct, contoh:

# useradd dnscache -s /bin/false

# useradd dnslog -s /bin/false

Tentukan anda akan menjalankan dnscache dimana, apakah hanya dns cache local atau dnscache external, jika anda mempunya client yang nantinya akan diijinkan untukmelakukan DNS queries ke server anda, silakan anda pasang dnscache ini pada IP jaringan anda. Sedangkan jika tujuannya hanya untuk menjawab dns queries dari computer local anda sendiri (localhost), anda cukup memasangnya pada alamat 127.0.0.1, lalu tentukan daftar IP/Range IP yang diijinkan untuk menggunakan dnscache anda, kemudian buat link simbolik-link dengan directory dari service daemontool anda, perhatikan contoh berikut:

Misal serber anda menggunakan ethenet dengan IP 192.168.1.1, dan akan mengkonfigurasi dnscache sebagai external cache untuk jaringan internet anda {missal dengan IP 192.168.1.0/24) maka anda harus mengkonfigurasikan sbb:

# dnscache-conf dnscache dnslog /etc/dnscachex 192.168.1.1

# touch /etc/dnscache/root/ip/192.168.1

# ln -s /etc/dnscache /service

Jika anda hanya ingin membuat cache local untuklocalhost saja, anda cukup memasangnya di alamat 127.0.0.1

Contoh:

#dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1

# ln -s /etc/dnscache /service

Sebelum anda menjalankan dnscache anda, pastikan apakah anda mempunyai dns server lokallain untuk intranet anda, jika ya, anda harus memberitahu nama domain dan alamat ip dari dns server tersebut. Sebagai contoh anda mempunyai domain local intranet dengan nama lokalku.net dengan IP 192.168.2 maka anda harus memberitahu dnscache , bahwa ada nameserver local tersebutdengancara:

# echo 192.168.1.2 > /etc/dnscache/root/servers/lokalku.net

# echo 192.168.1.2 > /etc/dnscache/root/servers/1.168.192.in-addr.arpa

setelah semua oke, kemudian jalankan daemontools: # csh cf svscan /services &

Setelah anda bias menjalankan dnscache mungkin anda akan bertanya , bagaimana membuat DNS server untukmenangani sebuah domain dengan menggunakan DJBDNS? Jawabannya adalah: anda dapat menggunakan tinydns yang sudah merupakan satu paket yang tergabung dalam djbdns.

Sekarang marilah kita menginjak pada tahap berikutnya yaitu mengkonfigurasikan tinydns, sebenarnya hamper sama dengan mengkonfigurasi dnscache, hanya bedanya karena tinydns bertugas untuk menjawab DNS query dari sebuah domain, maka anda akan berhubungan dengan record NS , A, MX, PTR dsb. Dari domain anda, namun konfigurasi tinydns tidak serumit konfigurasi pada BIND.

MENGKONFIGURASI TINYDNS

Tinydns mempunya program konfigurasi yang bernama tinydns-conf, dengan syntax umum sbb:

# tinydns-conf /directory , jadi sebelumnya anda harus menentukan beberapa hal , yaitu:

Tinydns beserta lognya akan dijalankan dengan menggunakan account apa
Direktori tempat konfigurasi tinydns
Alamat IP dari nameserver

Sebagai contoh anda akan menjalankan tinydns dengan account bernama tinydns dan account untuk log bernama tinylog, directory konfigurasi ada di /etc/tinydns dan alamat IP dari DNS servernya ada di 192.168.1.2 maka anda harus mengikuti langkah sebagai berikut:

Tambahkan user tinydns dan tinylog terlebih dahulu
# adduser tinydns -s /bin/false

# adduser tinylog -s /bin/false

Jalankan tinydns-conf sesuai dengan spesifikasi diatas:
# tinydns-conf tinydns tinylog /etc/tinydns 19.168.1.2

Buat simbolik link dengan directory services dengan daemontolls:
# ln -s /etc/tinydns /services

sampai tahap ini tinydns sudah siap untukmengkonfigurasikan sebuah nameserver dari sebuah domainyang bernama lokalku.net, anda masuk kedalam directory /etc/tinydns/root terlebih dahulu:

# cd /etc/tinydns/root

kemudian anda berikan poperintah sbb:

# ./ add-ns lokalku.net 192.168.1.2

# ./ add-ns 1.168.192.in-addr.arpa 192.168.1.2

# ./ add-host ns.lokalku.net 192.168.1.2

# make

Sampai tahap ini, kita mempunyai 1 host yang bernama ns.lokalku.net dengan alamat ip 192.168.1.2

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


  • Order Xtrasize: Hi there, all is going well here and ofcourse every one is sharing facts, that's in fact fine, keep up writing.
  • chatroulette: I am curious to find out what blog system you're using? I'm experiencing some small security issues with my latest site and I would like to find s
  • 3:00 AM: Hello! Do you know if they make any plugins to protect against hackers? I'm kinda paranoid about losing everything I've worked hard on. Any suggest

Categories

%d bloggers like this: