[CentOS 7] [6.4] Konfigurasi DNS Security Extension (DNSSEC)

Konfigurasi DNSSEC Menggunakan CentOS 7


Yoo, Whatsapp, line, bbm, instagram, facebook bro :v
Pada kesempatan kali ini, saya Dimas Trihandika selaku admin dari blog ini ingin share tutorial konfig Dnssec menggunakan CentOS 7 sebagai servernya


Ini merupakan lanjutan dari postingan saya sebelumnya pada lab [6.1] yang link nya bisa kalian lihat di http://masihkayakemaren.blogspot.co.id/2016/10/centos-7-konfigurasi-domain-name-server.html.

Konsep dasar :

Pada DNS original/biasa, tidak ada yang namanya security/keamanan. untuk itulah dibuat DNSSEC yang menambahkan keamanan pada DNS ini. 
Cara kerja DNSSEC ini ialah, pemilik domain akan membuat file key, yang akan diupload ke registrar domain mereka ( misalkan Go Daddy ) untuk membuat sebuah chain-of-trust ( rantai kepercayaan ). rantai kepercayaan ini dibuat untuk memastikan key pada domain yang terdaftar cocok dengan key pada server si domain.
Jadi gini deh gan, misalakan saya adalah pemilik dari domain, nah saya ingin membuat key pada domain saya, terus saya upload ke Go Daddy, sehingga saya berhasil membuat chain of trust.
Ketika client mengakses domain dimasmantep.net client akan mengakses ke server Go Daddy dulu (registrar dimasmantep.com) untuk menanyakan apakah ada domain dimasmantep.net.
Maka Server Go Daddy akan menghubungi server dimasmantep.net dan memastikan kecocokan key. yang dicocokin adalah key yang didaftarin di server Go Daddy dan key yang ada di server nya si dimasmantep.net.
Nah ternyata cocok nihh, si server Go Daddy akan mengumpulkan info tadi (bahwa key sudah cocok) dan disatukan dengan info ketersediaan domain dimasmantep.net. baru dah si server Go Daddy memastikan bahwa semuanya sudah cocok dan benar.
nah baru deh server dimasmantep.net ngasih jawaban (reply) ke client tadi melalui server Go Daddy.

Berikut topology yang saya buat.


Untuk mempersingkat waktu, langsung saja mulai konfigurasinya

Konfigurasi Server

1) Pertama, pindah dulu ke directory /var/named/
cd /var/named/

2) Kemudian lakukan generate key ZSK (Zone Signing Key)
dnssec-keygen -r /dev/urandom -a RSASHA256 -b 1024 dimasmantep.net
Setelah itu lakukan generate key KSK (Key Signing Key)
dnssec-keygen -r /dev/urandom -a RSASHA256 -b 2048 -f KSK dimasmantep.net
Jika sudah generate ZSK dan KSK akan menghasilkan 4 file yaitu 2 file .key dan 2 file .private. Untuk melihatnya lakukan perintah
ls

3) Selanjutnya jalankan script seperti gambar di bawah ini, script ini berfungsi untuk meletakan file KSK dan ZSK kedalam file forward.tkj
for key in `ls Kdimasmantep.net*.key`; do echo "\$INCLUDE $key">> forward.tkj; done

4) Sekarang coba cek pada zona forward tersebut, apakah sudah terdapat key KSK dan ZSK


5) Kemudian, buat file zone.signed dan file ds record
dnssec-signzone -t -g -o dimasmantep.net  forward.tkj /var/named/Kdimasmantep.net*.private

6) Maka akan terdapat file ds record dan file zone.signed
ls

7) Kemudian edit file named.conf
vi /etc/named.conf

8) Cari sysntak seperti gambar berikut, dan pastikan konfigurasinya sama seperti pada gambar dibawah ini

9) Scrool kebawah, pada zona domain yang sudah di buat, edit file zona forwardnya, dan arahkah ke file zone.signed yang sudah dibuat pada tahap sebelumnya


10) Restart named, agar konfigurasi yang baru berjalan dengan baik


11) lakukan dig pada domain tersebut, maka outputnya akan seperti ini
dig DNSKEY dimasmantep.net @192.168.1.101 +multiline

12) Untuk melihat file DS Record, bisa dilakukan dengan perintah
cat dsset-dimasmantep.net.

Jika sudah didapat, DS Recordnya tinggal dimasukan ke panel input DS Record yang ada di registar domain, tetapi jika tempat membeli domain tidak menyediakan panel DS Record, kita bisa meminta tolong untuk memasukannya ke tempat registart domain kita

Membuat Script Otomatis Untuk Sign Key

1) Buat file dengan format .sh disini saya memubatnya dengan nama zonesigner.sh.Untuk membuat file zonesigner.sh terserah dimana saja, pada contoh ini saya memebuatnya di directory /var/named/
vi zonesigner.sh

2) Setelah itu isikan file tersebut dengan script seperti gambar dibawah ini


3) Lalu set filenya agar bisa di eksekusi
chmod +x zonesigner.sh

4) Maka outputnya akan seperti ini ketika file tersebut di eksekusi
./zonesigner.sh dimasmantep.net forward.tkj


Membuat Domain tambahan


1) Edit file named.conf yang berada di directory /etc/


2) Tambahan zone baru untuk domain tersebut, disini saya membuat domainnya dengan nama dimastrihandika.sch.id, Untuk file forwardnya, langsung saka arahkah ke zone signer yang nantinya akan kita buat


3) Check konfigurasi file named.conf, jika tidak ada output apa apa maka konfigurasi sudah benar
named-checkconf /etc/named.conf

4) Buat zona forward untuk domain tersebut, kalo gamau ribet dan gamau cape lagi ngetik scriptnya dari awal, bisa copy aja file zona forward yang sudah di buat untuk domain sebelumnya
cp forward.tkj tambahanmantep.dimas

5) edit file zona forward yang sudah di copy tadi
vi tambahanmantep.dimas

6) Edit menjadi seperti ini (sesuaikan nama domainnya)



7) Kemudian edit file zona reverse
vi reverse.tkj

8) Edit menjadi seperti ini (sesuaikan nama domainnya)



9) Sama seperti pada tahap sebelumnya, lakukan generate key KSK dan ZSK untuk domain tersebut
dnssec-keygen -r /dev/urandom -a RSASHA256 -b 1024 dimastrihandika.sch.id
 dnssec-keygen -r /dev/urandom -a RSASHA256 -b 2048 -f KSK dimastrihandika.sch.id

10) Jika sudah generate ZSK dan KSK akan menghasilkan 4 file yaitu 2 file .key dan 2 file .private. Untuk melihatnya lakukan perintah
ls

11) Selanjutnya jalankan script seperti gambar di bawah ini, script ini berfungsi untuk meletakan file KSK dan ZSK kedalam file tambahanmantep.dimas
for key in `ls Kdimastrihandika.shc.id*.key`; do echo "\$INCLUDE $key">> tambahanmantep.dimas; done

12) Cek file tambahanmantep.dimas, maka disitu akan terdapat file key KSK dan ZSK



13) Kemudian, buat file zone.signed dan file ds record
dnssec-signzone -t -g -o dimastrihandika.sch.id tambahanmantep.dimas /var/named/Kdimastrihandika.sch.id*.private

14) Maka akan terdapat file ds record dan file zone.signed
ls


15) Restart named agar konfigurasi yang baru berjalan dengan baik
systemctl restart named

16) Untuk melihat file DS Record, bisa dilakukan dengan perintah
cat dsset-dimastrihandika.sch.id.

17) Seperti pada tahap sebelumnya, untuk membuat script otomatis untuk sign key maka buat file dengan ekstensi .sh disini saya membuatnya dengan nama zonesignertambahan.sh. jika kalian tidak mau nulis script dari ulang lagi, maka cukup copy file zonesigner yang sudah di buat sebelumnya
cp zonesigner.sh zonesignertambahan.sh 

18) Edit file zonesigner yang sudah di copy tersebut
vi zonesignertambahan.sh

19) Pada syntak dnssec-signzone -t -g -o ubah dan arahkan file private ke domain yang sudah di tambahkan tersebut, kira kira seperti gambar dibawah ini contohnya


20) Jalankan perintah berikut, agar file zonesigner tersebut bisa di eksekusi
chmod +x zonesignertambahan.sh

21) Maka outputnya akan seperti ini ketika file tersebut di eksekusi
./zonesignertambahan.sh dimastrihandika.sch.id tambahanmantep.dimas

Pengujian Pada Client

1) Download Terlebih dahulu paket bind di https://www.isc.org/downloads/. Mengapa harus download paket bind dulu? karena secara default pada cmd windows kita tidak bisa melakukan perintah dig pada domain, maka dari itu kita harus menginstall paket bind dahulu ke client windows kita.
Jika sudah di download, sekarang extract paket tersebut kemudian install bind tersebut dengan cara klik 2 kali pada file .exe BINDInstall



2) Dan berikut Pop-up jika BIND berhasil di install


3) Masuk ke directory tempat dimana Bind kalian di install, secara default terletak di C:\Program Files\ISC BIND 9\bin. Jika sudah copy saja lokasi tempat terinstallnya paket Bind tersebut


4) Atur IP address dan kemudian arahkan Preferred Dns Server ke IP Server kalian


5) Buka CMD, ketikan cd kemudian klik kanan pada mouse kalian, setelah itu klik paste untuk menempelkan lokasi tempat paket Bind yang sudah di install tersebut, dan tentunya yang sudah di copy tadi pada tahap sebelumnya


6) Maka akan menjadi seperti berikut, kemudian tekan enter untuk masuk ke directory tempat dimana Bind tersebut diinstall


7) Lakukan perintah dig ke masing masing masing domain yang sudah dibuat
dig DNSKEY 'nama domain' @'ip server' +multiline


Selesai..

Sekian, Semoga Bermanfaat..












Comments