GNU/Linux >> Belajar Linux >  >> Ubuntu

Mengonfigurasi DNSSEC pada Bind 9.8.2 pada CentOS, RHEL, Ubuntu dan Debian

Tutorial ini akan membantu Anda untuk mengkonfigurasi DNSSEC pada Bind9 (versi 9.8.2) pada sistem operasi CentOS. Namun, prosedur ini akan bekerja pada RedHat Enterprise Linux Server, Ubuntu dan Debian juga. Saya akan membahas cara mengaktifkan DNSSEC di server nama Authoritative Anda, membuat kunci, menandatangani zona, menambahkan jangkar kepercayaan menggunakan validasi dan pengujian DNSSEC Lookaside.

Jika Anda baru mengenal konfigurasi Bind, periksa panduan ini untuk mengetahui tentang konfigurasi BIND. Selain itu, jika Anda tidak yakin apa itu DNSSEC dan mengapa Anda harus mengaktifkannya? lalu klik di sini.

Penafian: Saya membagikan prosedur yang saya pelajari dan coba di testbed saya dan tidak ada jaminan bahwa itu akan berhasil di lingkungan Anda. Namun, Anda dapat mencoba testbed Anda sebelum mengonfigurasinya langsung di sistem produksi Anda.

Haruskah kita bergerak maju?

Siapkan lingkungan DNS Anda dengan konfigurasi Bind.

Karena tutorial ini akan berbicara tentang DNSSEC di Bind, pastikan Anda telah menyiapkan lingkungan Bind yang berfungsi. Untuk menginstal dan mengonfigurasi Bind, ikuti panduan sederhana ini.

Prasyarat:

Langkah 1: Unduh dan Instal paket dnssec-tools. Kami akan menggunakan paket ini untuk menandatangani zona Anda.

$wget http://www.dnssec-tools.org/download/dnssec-tools-2.0.tar.gz
$tar xvzf dnssec-tools-2.0.tar.gz
$cd dnssec-tools-2.0

Di debian dan Ubuntu, Anda dapat menginstalnya melalui apt-get.

$apt-get install dnssec-tools

Langkah 2: Aktifkan DNSSEC, Validasi, dan Lookaside

$vi /etc/named.conf

Namun jalur named.conf mungkin berbeda di lingkungan Anda. Anda mencarinya di /etc/named/named.conf atau /var/named/named.conf .

Cari ‘Opsi ‘ direktif di named.conf . Jika Anda tidak menemukannya di sana, Anda mungkin menemukannya named.options mengajukan. Bagaimanapun, itu tidak ada bedanya.

Di bawah arahan Opsi, ubah atribut di bawah ini.

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

Oke! Beginilah tampilan direktif Opsi saya,

options {
listen-on port 53 { 10.180.1.115; };
listen-on-v6 port 53 { ::1; };
version "not currently available";
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
 bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";};

bindkeys-file :Baris ini diperlukan hanya jika kunci pengikat terletak di lokasi yang berbeda. Bagaimanapun, kita akan membicarakannya nanti.

dnssec-lookaside otomatis :Pengaturan ini memberitahu Bind untuk membaca kunci DLV (DNSSEC Lookaside validation) dari bind.keys untuk pertama kali dieksekusi. DLV saat ini adalah dlv.isc.org kunci.

Untuk memahaminya dengan lebih baik:Untuk membuat rantai kepercayaan, seluruh jalur DNS dari zona akar hingga ke zona Anda sendiri harus ditandatangani. Misalnya, pertimbangkan domain techglimpse.com. Zona akar untuk techglimpse.com adalah .com  yang harus ditandatangani dan kemudian techglimpse.com, zona harus ditandatangani. Tetapi tidak semua Top Level Domain (TLD) ditandatangani (pada saat artikel ini ditulis). Jika induk tidak ditandatangani, maka rantai kepercayaan akan terputus dan Anda tidak dapat menggunakan kunci zona akar sebagai jangkar kepercayaan dalam konfigurasi BIND.

Itulah alasannya validasi lookaside DNSSEC (DLV) diperkenalkan. Ini sebenarnya adalah repositori alternatif untuk kunci tepercaya, di mana seseorang dapat mengirimkan kunci zona mereka, jika tidak ada jalur yang sepenuhnya ditandatangani dari zona root ke zona Anda sendiri. Registri DLV fungsional adalah dlv.isc.org. Secara default, kunci zona root dan kunci dlv.isc.org disertakan dalam /etc/named.iscdlv.key dan itu berlaku sebagai nilai untuk bindkeys-file atribut di Opsi arahan. Jika Anda tidak menemukan ini secara otomatis di named.conf atau named.options , perbarui bind Anda (yum install bind9 ) dan periksa lagi.

Learn more about DLV registry:
DLV Solution by ISC : https://www.isc.org/solutions/dlv
DLV Background : https://dlv.isc.org/about/background
Status of TLDs signed: http://stats.research.icann.org/dns/tld_report/

validasi dnssec otomatis: Opsi ini hanya tersedia mulai dari Bind 9.8, 9.9 dan seterusnya.  Bind 9.7 tidak mendukung otomatis opsi untuk dnssec-validation, sebagai gantinya kami menggunakan dnssec-validation:yes  yang berarti kunci zona root tidak dimuat. Untuk mengatasi masalah tersebut, kita dapat menggunakan bind.keys berkas.

$more bind.keys
managed-keys {
        # ISC DLV: See https://www.isc.org/solutions/dlv for details.
        # NOTE: This key is activated by setting "dnssec-lookaside auto;"
        # in named.conf.
        dlv.isc.org. initial-key 257 3 5 "BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2
                brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+
                1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5
                ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk
                Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM
                QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt
                TDN0YUuWrBNh";

        # ROOT KEY: See https://data.iana.org/root-anchors/root-anchors.xml
        # for current trust anchor information.
        # NOTE: This key is activated by setting "dnssec-validation auto;"
        # in named.conf.
        . initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
                FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
                bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
                X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
                W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
                Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
                QxA+Uk1ihz0=";
};

Kemudian Anda dapat menyertakan bind.keys di named.conf atau named.options.

include "/etc/bind/bind.keys";

Catatan:Periksa jalur bind.keys yang benar

Setelah selesai, mulai ulang Bind.

$service named restart
or
$/etc/init.d/bind9 restart
or
$rndc reload

Oke! Sekarang kami telah mengaktifkan DNSSEC di Bind. Selanjutnya, kita akan melihat cara menandatangani zona.

Bagaimana cara menandatangani zona di DNSSEC?

Untuk menandatangani zona, kita akan menggunakan dnsssec-tools, yang kita instal di awal tutorial ini. dnssec-tools dilengkapi dengan perintah penanda zona yang merupakan pembungkus dari dnssec-keygen dan dnssec-signzone.

Lihat halaman manual zonesigner untuk informasi lebih lanjut.

$man zonesigner

Lokasi file konfigurasi dnssec-tools : /usr/local/etc/dnssec-tools/dnssec-tools.conf . Namun jalurnya mungkin berbeda di sistem Anda.

Untuk menandatangani zona, perintahnya seperti ini:

zonesigner -genkeys -usensec3 -zone <domain-name> <zone-file>
$zonesigner -genkeys -usensec3 -zone techglimpse.com db.techglimpse.com
if zonesigner appears hung, strike keys until the program completes
(see the "Entropy" section in the man page for details)
Generating key pair......................................++++++ ..............++++++
Generating key pair......++++++ ..++++++
Generating key pair...................................+++ ..................................+++
Verifying the zone using the following algorithms: NSEC3RSASHA1.
Zone signing complete:
Algorithm: NSEC3RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 1 stand-by, 0 revoked
zone signed successfully
techglimpse.com:
KSK (cur) 47781 2048 11/14/13 (techglimpse.com-signset-00003)
ZSK (cur) 06809 1024 11/14/13 (techglimpse.com-signset-00001)
ZSK (pub) 26330 1024 11/14/13 (techglimpse.com-signset-00002)
zone will expire in 30 days
DO NOT delete the keys until this time has passed.

Periksa direktori untuk memverifikasi file kunci.

$ ls -lrt
-rw-r--r--. 1 root root 571 Oct 14 14:09 db.10.180.4
-rw-------. 1 root root 1015 Nov 14 11:45 Ktecglimpse.com.+007+06809.private
-rw-r--r--. 1 root root 436 Nov 14 11:45 Ktechglimpse.com.+007+06809.key
-rw-------. 1 root root 1015 Nov 14 11:45 Ktechglimpse.com.+007+26330.private
-rw-r--r--. 1 root root 437 Nov 14 11:45 Ktechglimpse.com.+007+26330.key
-rw-------. 1 root root 1779 Nov 14 11:45 Ktechglimpse.com.+007+47781.private
-rw-r--r--. 1 root root 611 Nov 14 11:45 Ktechglimpse.com.+007+47781.key
-rw-r--r--. 1 root root 777 Nov 14 11:45 db.techglimpse.com
-rw-r--r--. 1 root root 173 Nov 14 11:45 dsset-techglimpse.com.
-rw-r--r--. 1 root root 7183 Nov 14 11:45 db.techglimpse.com.signed
-rw-r--r--. 1 root root 2172 Nov 14 11:45 techglimpse.com.krf

Verifikasi apakah semuanya berjalan dengan baik saat menandatangani.

$ donuts --level 8 -v db.techglimpse.com.signed techglimpse.com
--- loading rule file /usr/local/share/dnssec-tools/donuts/rules/check_nameserve rs.txt
 rules: MEMORIZE_NS_ADDRS DNS_SERVERS_MATCH_DATA
--- loading rule file /usr/local/share/dnssec-tools/donuts/rules/dns.errors.txt
 rules: DNS_SOA_REQUIRED MEMORIZE_NS_CNAME_RECORDS DNS_NS_NO_CNAME
--- loading rule file /usr/local/share/dnssec-tools/donuts/rules/dnssec.rules.tx t
 rules: DNSSEC_RRSIG_TTL_MATCH_ORGTTL DNSSEC_MEMORIZE_NS_RECORDS DNSSEC_CHECK _IF_NSEC3 DNSSEC_MISSING_NSEC_RECORD1 DNSSEC_MISSING_RRSIG_RECORD1 DNSSEC_RRSIG_ NOT_SIGNING_RRSIG DNSSEC_RRSIG_FOR_NS_GLUE_RECORD DNSSEC_NSEC_FOR_NS_GLUE_RECORD DNSSEC_RRSIG_SIGEXP DNSSEC_NSEC_TTL DNSSEC_NSEC3_TTL DNSSEC_DNSKEY_MUST_HAVE_SA ME_NAME DNSSEC_DNSKEY_PROTOCOL_MUST_BE_3 DNSSEC_BOGUS_NS_MEMORIZE DNSSEC_MISSING _RRSIG_RECORD2 DNSSEC_RRSIG_TTL_MUST_MATCH_RECORD DNSSEC_MISSING_NSEC_RECORD2 DN SSEC_RRSIG_SIGNER_NAME_MATCHES DNSSEC_NSEC_RRSEC_MUST_NOT_BE_ALONE DNSSEC_MEMORI ZE_KEYS DNSSEC_RRSIGS_VERIFY DNSSEC_TWO_ZSKS DNSSEC_OPENSSL_KEY_ISSUES
--- loading rule file /usr/local/share/dnssec-tools/donuts/rules/nsec_check.rule s.txt
 rules: DNSSEC_NSEC_MEMORIZE DNSSEC_NSEC3_MEMORIZE DNSSEC_NSEC3_CHECK DNSSEC_ NSEC_CHECK
--- loading rule file /usr/local/share/dnssec-tools/donuts/rules/parent_child.ru les.txt
 rules: DNS_MULTIPLE_NS DNSSEC_SUB_NOT_SECURE DNSSEC_DNSKEY_PARENT_HAS_VALID_ DS DNSSEC_DS_CHILD_HAS_MATCHING_DNSKEY
--- loading rule file /usr/local/share/dnssec-tools/donuts/rules/recommendations .rules.txt
 rules: DNS_REASONABLE_TTLS DNS_NO_DOMAIN_MX_RECORDS
--- Analyzing individual records in db.techglimpse.com.signed
--- Analyzing records for each name in db.techglimpse.com.signed
techglimpse.com:
 Rule Name: DNS_MULTIPLE_NS
 Level: 6
 Warning: Only 1 NS record(s) for techglimpse.com found, but at least 2
 are suggested/required
 Details: Tests to see if at least two NS records exist for a
 delegated zone.
results on testing techglimpse.com:
 rules considered: 38
 rules tested: 30
 records analyzed: 33
 names analyzed: 10
 errors found: 0

Sekarang ganti zona yang ditandatangani (techglimpse.com) di named.conf

zone "techglimpse.com" {
 type master;
 file "/var/named/zones/master/db.techglimpse.com.signed";
 };

Restart Bind seperti di bawah ini,

$service named restart
or
$/etc/init.d/bind9 restart

Uji Pengaturan DNSSEC menggunakan dig

Format perintah dig seperti ini.

$dig @<dns_server> +dnssec <domain_name>

Pada output, cari ‘iklan ' dalam bendera.

;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 1

IKLAN singkatan dari Authenticated Data flag, yang akan ditetapkan hanya jika resolver memvalidasi jawaban yang diterimanya dari server nama otoritatif.

Itu dia! Jika semuanya berjalan dengan baik, maka Anda telah berhasil mengatur DNSSEC dasar di Bind 9.8.2.

BACA:Panduan pemula untuk DNSSEC

BACA:Bagaimana cara mengidentifikasi domain yang ditandatangani DNSSEC atau tidak?


Ubuntu
  1. Cara menginstal Ioncube loader di CentOS, Debian dan Ubuntu

  2. Instal Real Player 11 di CentOS, RHEL, Fedora dan Ubuntu

  3. CentOS / RHEL :Menginstal dan Mengonfigurasi ASMLib

  1. Mengatur NTP Pada Centos dan Ubuntu

  2. Instal Node.js Di Ubuntu dan Debian

  3. Cara Menginstal VMware Player di CentOS/RHEL dan Ubuntu

  1. Cara Menginstal Ansible di CentOS 7 / RHEL 7 / Ubuntu 18.04 / 16.04 &Debian 9

  2. Perbaiki Kerentanan OpenSSL pada CentOS, Debian, Ubuntu dan RHEL! [1.0.1e-fips]

  3. CentOS / RHEL 7 :Mengkonfigurasi server NFS dan klien NFS