Seting DNSSEC di BIND.9

Asalamualaikum Smua, salam Kenal dari orang ganteng menurut emak ane wkkwkw :v::ngakak::ngakak: , udah lama gak bikin tulisan buat catetan pribadi :smile:
lanjut to point kali ini akan coba implementasi dnssec di bind.9 menggunakan metode inline signing agar mengurangi kesalaha , nah apa itu inline signing ?

With the release of BIND 9.9, ISC introduced a new “inline-signing” option for BIND 9, which allows named to sign zones completely transparently. A server can load or transfer an unsigned zone, and create a signed version of it which answers all queries and transfer requests, without altering the original unsigned version. As the unsigned zone is updated, named will detect the changes that are made to it, and apply those changes to the signed version. This allows a seamless transition to DNSSEC with minimal disruption to existing systems.

baca dan artiin sendiri yah ke google translite heheh :laughing:, lanjut disini os server yang saya gunakan adalah centos serta versi bind yang digunakan bind.9.11 dan saya asumsikan untuk dns serta bind yang digunakan temen” smua sudah berjalan dengan lancar :smiley:, karena tidak membahas untuk buat dns nya dari awal :stuck_out_tongue_winking_eye:
untuk topologi dns yang saya gunakan sekarang / sedang berjalan kurang lebih seperti ini :

https://drive.google.com/file/d/15ypkhzhkGRCXo4YbSle4L-p4escHAtfw/view

Ok lanjut , sekarang ke mode kyubi aka serius :stuck_out_tongue:,
Rubah configurasi named.conf , biasnya default dia ada di directory

/etc/named.conf

masukan scrift dnssec-enable yes, allow-new-zones yes, key-directory “/var/named/keys”, pada named .conf kurang lebih akan seperti ini :

options {
listen-on port 53 { 127.0.0.1; 202...; 202...; 202...*; };
listen-on-v6 port 53 { ::1;any; };
querylog yes;
key-directory “/var/named/keys”;
dnssec-enable yes;
allow-new-zones yes;

lanjut sekarang kita edit zone untuk domain yang ada di bind nya dan masukan script inline-signing yes, dan auto-dnssec maintain,

zone “genta123.co.id” {
file “slaves/g/genta123.co.id.zone.signed”;
type slave;
masters {
202.158.40.3;
};
inline-signing yes;
auto-dnssec maintain;
};

sekarang kita buat directory key untuk dnssec nya di named saya buat di directory /var/named

mkdir /var/named/keys

lanjut sekarang kita buat file key ZSK nya terlebih dahulu

dnssec-keygen -a NSEC3RSASHA1 -b 512 -K /var/named/keys/ -n ZONE genta123.co.id

Generating key pair…….++++++++++++ ….++++++++++++
Kgenta123.co.id.+007+63824

lanjut lg sekarang kita buat file KSK key nya lg

dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 1024 -K /var/named/keys/ -n ZONE genta123.co.id

Generating key pair…++++++ …++++++
Kgenta123.co.id.+007+18525

oh ia ada beberapa pilihan algoritma yang bisa di implementasinkan untuk dnssec, dalam dockument ini menggunakan algoritma NSEC3RSASHA1

:
RSAMD5: [512…4096]
RSASHA1: [512…4096]
NSEC3RSASHA1: [512…4096]
RSASHA256: [512…4096]
RSASHA512: [1024…4096]
DH: [128…4096]
DSA: [512…1024] and divisible by 64
NSEC3DSA: [512…1024] and divisible by 64
ECCGOST: ignored
ECDSAP256SHA256: ignored
ECDSAP384SHA384: ignored
ED25519: ignored
ED448: ignored
HMAC-MD5: [1…512]
HMAC-SHA1: [1…160]
HMAC-SHA224: [1…224]
HMAC-SHA256: [1…256]
HMAC-SHA384: [1…384]
HMAC-SHA512: [1…512]
(if using the default algorithm, key size
defaults to 2048 for KSK, or 1024 for all others)

eh ia jangan sampe lupa kasih permision named nya untuk key yang udah digenerate yah :kissing_smiling_eyes:

chown named /var/named/keys/*

lanjut sekrang kita sign domain yang akan diimplementasikan dnssecnya

#rndc sign genta123.co.id

lanjut lg sekarang kita tambahkan nsec3 nya kedalam domain dengan perintah

rndc signing -nsec3param 1 0 100 A5F7B1CD genta123.co.id

eh ia lakukan juga reconfig atau refresh untuk perubahan yang sudah dilakukan

#rndc reconfig
#rndc refresh genta123.co.id

sekrang kita cek apakah dnskey record dan rrsig record nya sudah tercreate atau belum

~$ dig @localhost genta123.co.id dnskey +dnssec +multi
; <<>> DiG 9.11.3–1ubuntu1.9-Ubuntu <<>> @ns1.cbn.net.id genta123.co.id dnskey +dnssec +multi
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15512
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;genta123.co.id. IN DNSKEY
;; ANSWER SECTION:
genta123.co.id. 43200 IN DNSKEY 257 3 7 (
AwEAAZJmE5H+Zgo+nD4lByxPdKw2nLGxKj8GQAGj5vhq
dpkA30FVzYgm8clds26nuDgLLkFckIIkj2liNsbxdq1w
w2KYJB34lAGZsxyFLNbgR/0FIXLt6f2idwUrTyw5o9se
4sSeH+VWij81V+k4kojcCox2naxW0o1TOl8auRo/ZHbl
) ; KSK; alg = NSEC3RSASHA1 ; key id = 45714
genta123.co.id. 43200 IN DNSKEY 256 3 7 (
AwEAAcOVeKwORyvX2JS5PnwZs6wn9mwaOzxB44Uw60Ta
5LUPTbK5LCkgFuS7mfU0HC/x+LlUFHfpVgOjJOmuT+73
UOs=
) ; ZSK; alg = NSEC3RSASHA1 ; key id = 9305
genta123.co.id. 43200 IN RRSIG DNSKEY 7 3 43200 (
20191103085330 20191004075330 9305 genta123.co.id.
FeD8iSQMZYn29k7mhIV6pPT8F98b2CHOAm0XdC37MHdK
Mss6QU3cdms/QYIZktS5geDU4gKIPueXSY8Ij2vVIQ== )
genta123.co.id. 43200 IN RRSIG DNSKEY 7 3 43200 (
20191103085330 20191004075330 45714 genta123.co.id.
acTQ//N6RZdqAUwhPs8jw6bF2IURu41x/k8CbvxQNu89
SexSL4EvtAH06dVFacRC/VkiCv3enjZd1XbeL9k/fCPK
wo4n4IwrpF+OVteIrFf6cCKt2suuASKTvAgvAYJ9Y+CB
HZpKlpmhR7f+cpZKNMUaSYwVkVHlaNVGsNHsdvc= )
;; Query time: 1 msec
;; SERVER: 202.158.20.1#53(202.158.20.1)
;; WHEN: Mon Oct 07 16:33:36 WIB 2019
;; MSG SIZE rcvd: 559

yeahhhhhh,dnskey dan rrsig recordnya udah beres ,eng ing eng :stuck_out_tongue_winking_eye:, eh blom beres lanjut lg seting di slave nya karena ini kita set hanya untuk master dnsnya, harusnya sih dengan kita melakukan rndc notify genta123.co.id dia akan transfer zona nya ke slave , tapi jika masih tidak bisa lakukan perubahan zone pada slave nya

zone genta123.co.id{
type slave;
masters { 2020...*; };
file “/var/named/slave/example.com.bk”;
};

untuk dnskey dan rrsig untuk zone genta123.co.id sudah selesai dan tiap ada perubahan record untuk genta123.co.id dia akan menyesuaikan / perubahan rrsig nya ,lanjut lg sekrang kita set DS Record nya dengan perintah :

dnssec-dsfromkey -2 /var/named/keys/Kgenta123.co.id.+007+63824.key

genta123.co.id. IN DS 9305 7 2 E4FC7560EE5944FE336BC23D24BD4E2533FDD68F3474E6A59E7CF6E409A4A784

dnssec-dsfromkey -2 /var/named/keys/Kgenta123.co.id.+007+18525.key

genta123.co.id. IN DS 45714 7 2 932F76757E8E8DD520F2FB9F27A5C1D64B21F8D5EB5CF4369D7A27F5CF267686

untuk DS record yang sudah didapat silahkan konfirmasi ke pihak registrar untuk ditambahkan ke domain teman” , karena untuk implementasi DS Record tersebut hanya bisa didaftar di registrar contohnya pandi dll…
setelah dsrecordnya sudah di implementasikan temen” bisa cek apakah dnssec yang sudah dipasang sudah valid atau nggk dengan mengunjungi link dibawah dan masukan domain teman” yang sudah di set

Https://dnssec-analyzer.verisignlabs.com
Https://dnsviz.net/

dapet nyontek dari https://medium.com/@gentaapriansah/setting-dnssec-di-bind-9-dengan-inline-signing-aca12a494feb :ngakak:

oke cukup sekian kali ini wasalamulaikum :cambuk:

2 Likes

Sungguh luar biasa dedikasi dan sharing anda saudaraku