Cara Mengamankan dan Menajaga Nama Domain Anda | UNIX LINUX EXPLORE
Edit

Cara Mengamankan dan Menajaga Nama Domain Anda

2024/08/13
Nama domain Anda adalah pengenal webiste atau brand Anda di antara lautan situs web yang tak terbatas. Sama seperti alamat bisnis yang memungkinkan orang menemukan kantor pusat fisik brand Anda, nama domain Anda adalah titik kontak utama bagi orang-orang di dunia maya.

Karena alasan yang sama, nama domain sering dijadikan target utama para penjahat dunia maya. Laporan International Data Corporation tahun 2023 menunjukkan bahwa organisasi mengalami rata-rata 7,5 serangan server nama domain setiap tahun, dengan 90% organisasi terkena dampaknya.

Nama domain merupakan aset penting dan secara default tidak dilindungi oleh tiap sistem operasi. Anda harus menjaga dan mengamankan nama domain anda. Dalam panduan ini, Anda akan menemukan manfaat terbaik dari keamanan nama domain tingkat atas. Artikel ini merupakan lanjutan artikel sebelumnya yang membahas proses instalasi dan konfigurasi PowerDNS di Ubuntu. Pada artikel ini kita akan mengamankan nama domain yang telah terinstal di PowerDNS.




Dengan DNSSEC, kita dapat menandatangani catatan domain kita secara digital. Pihak ketiga tidak dapat menyensor konten kita atau mengarahkan layanan kita ke server lain, tanpa ada yang menyadarinya. Manfaat lainnya adalah mengamankan layanan dengan kunci dan sertifikat TLS, tanpa memerlukan otoritas sertifikat. Kunci publik SSH juga tidak perlu lagi didistribusikan sebagai file, karena kuncinya dapat diverifikasi dengan catatan DNS yang diamankan DNSSEC.

Meskipun DNSSEC biasanya rumit, sulit diimplementasikan dan dikelola, PowerDNS telah membuatnya semudah mungkin. Lihat dokumentasi PowerDNS DNSSEC untuk cakupan lengkap.


1. Kunci yang digunakan oleh DNSSEC

Semua kunci yang digunakan untuk DNSSEC adalah pasangan kunci publik/pribadi, alias kunci asinkron.

Key

Description

Key Signing Key (KSK)

Digunakan untuk menandatangani kunci penandatanganan zona (ZSK).

Zone Signing Key (ZSK)

Digunakan untuk menandatangani catatan sumber daya DNS untuk suatu zona.

Common Signing Key (CSK)

I wish I knew.

DNSSEC juga mmeiliki beberapa jenis Records yang akan digunakan selama proses konfigurasi. Berikut adalah daftar records yang biasa digunakan.

Type

Description

DS

Delegation Signer

DNSKEY

Domain Name Signing Public Key

RRSIG

Resource Record Signature

CDNS

Child Copy of DNSKEY

CDS

Child Copy of DS

NSEC

Signature for a non-existing (NXDOMAIN) record

NSEC3

Signature of a hashed NXDOMAIN record

NSEC3PARAM

Parameters used for hashing and signing NXDOMAIN records


Rekaman DS dipublikasikan oleh zona induk, rekaman ini memberi otorisasi kepada KSK di zona anak untuk menandatangani ZSK zona anak, dan DNSKEY digunakan oleh zona anak untuk mempublikasikan kunci publik apa pun yang digunakannya untuk penandatanganan. KSK atau ZSK.

Sedangkan Rekaman RRSIG digunakan untuk mempublikasikan tanda tangan rekaman DNS apa pun. Rekaman CDNS dan CDS dipublikasikan oleh zona anak selama pergantian kunci. Mereka memberi tahu zona induk tentang semua kunci yang digunakan, sehingga induk dapat memperbarui rekaman DS (penanda tangan delegasi) untuk anak.


2. Algoritma Kriptografi (Cryptographic Algorithms)

Pasangan kunci dapat dibuat menggunakan salah satu algoritma kriptografi berikut. Masing-masing memiliki nomor (didefinisikan dan dikelola oleh IANA). Nomor tersebut kemudian digunakan dalam rekaman DNS untuk mengidentifikasi kunci dan menggunakan algoritma yang tepat saat menghitung bukti tanda tangan.

Public Key Algorithm

Nr.

Status

RSAMD5

1

Forbidden

DSA

3

Optional

RSASHA1

5

Mandatory

RSASHA1-NSEC3-SHA1

6

Recommended

RSASHA256

8

Recommended

RSASHA512

10

Recommended

ECC-GOST

12

Optional

ECDSAP256SHA256

13

Recommended

ECDSAP384SHA384

14

Recommended

ED25519

15

Optional

ED448

16

Optional

Number

Mnemonics

DNSSEC Signing

DNSSEC Validation

1

RSAMD5

MUST NOT

MUST NOT

3

DSA

MUST NOT

MUST NOT

5

RSASHA1

NOT RECOMMENDED

MUST

6

DSA-NSEC3-SHA1

MUST NOT

MUST NOT

7

RSASHA1-NSEC3-SHA1

NOT RECOMMENDED

MUST

8

RSASHA256

MUST

MUST

10

RSASHA512

NOT RECOMMENDED

MUST

12

ECC-GOST

MUST NOT

MAY

13

ECDSAP256SHA256

MUST

MUST

14

ECDSAP384SHA384

MAY

RECOMMENDED

15

ED25519

RECOMMENDED

RECOMMENDED

16

ED448

MAY

RECOMMENDED


a. Digest Algorithms

Digest Algorithm

Nr.

Status

SHA-1

1

Mandatory

SHA-256

2

Mandatory

GOST R 34.11-94

3

Optional

SHA-384

4

Optional


b. Titik Masuk Aman (Secure Entry Points)

Flag

Meaning

256

Only allowed to sign anything if signed by a key with the SEP flag.

257

Authorized by the parent zone DS record to sign anything in the child zone.


c. DNSSEC dan Time-To-Live

Setiap rekaman yang dikembalikan dalam jawaban dari server DNS memiliki nilai time-to-live (TTL). Nilai tersebut memberi tahu klien berapa lama rekaman dapat di-cache, jadi kami tidak perlu bertanya setiap kali kami membutuhkan informasi yang sama lagi.

Nilai TTL yang umum untuk host DNS berkisar dari satu minggu (86400 detik) hingga lima menit (300 detik) yaitu untuk IP dinamis yang dapat berubah kapan saja.

Dalam rekaman non-DNSSEC, nilai ini adalah nilai tetap. Klien tidak tahu kapan rekaman dibuat. Klien hanya mendapat izin untuk men-cache rekaman tersebut selama jumlah detik yang disebutkan, terlepas dari berapa lama rekaman tersebut saat klien memintanya. Setelah kedaluwarsa, rekaman akan diambil lagi oleh resolver jika diperlukan, terlepas apakah rekaman tersebut berubah atau tidak.


3. Rekaman DS (DS Record)



# dig +multiline example.net. DS

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +multiline example.net. DS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33503
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.net.       IN DS

;; ANSWER SECTION:
example.net.        33698 IN DS 61250 8 1 (
                EBF5191249B08ADBA60DC57DE26F8D530FE5D17D )
example.net.        33698 IN DS 31589 8 2 (
                5A9EAEFC7CC7D6946E1D106418427D272D406B835BA9
                EA0219DFBD3974A54A81 )
example.net.        33698 IN DS 31589 8 1 (
                628FCA4806B2E475DA9FD97A1FB57B7E26F8494C )
example.net.        33698 IN DS 54761 8 2 (
                9FDE7678F418E724ACE98537E0EAD92BB96B3109072D
                076A117492DB708CE238 )
example.net.        33698 IN DS 54761 8 1 (
                2B45E49265B30032497E0D61D259F4ACF821A5A0 )
example.net.        33698 IN DS 61250 8 2 (
                984E001501B50F8D7B73935E12A0B15E9DCE5498F088
                5C3C6193B4DCB8DDAD36 )

;; Query time: 0 msec
;; SERVER: 172.20.10.43#53(172.20.10.43)
;; WHEN: Sat Jan 06 11:31:16 CET 2018
;; MSG SIZE  rcvd: 292
Struktur rekaman DS adalah sebagai berikut:

Field

Example

Description

Key Tag

61250

Identifies the key across parent and child zones.

Algorithm

8

Which type of key (algorithm) the child key is using.

Digest Type

1

Identifies the digest algorithm used by the parent.

Digest

EBF5…D17D

The digest of the child’s public key.


Intisari dihitung dengan menggabungkan nama domain dan bagian rdata dari rekaman DNSKEY zona (bendera, protokol, algoritma, dan kunci publik), dan melakukan hashing terhadap hasilnya dengan algoritma.

a. DNSKEY records

Berisi kunci publik KSK atau ZSK.


$ dig +multiline example.net. DNSKEY

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +multiline example.net. DNSKEY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50414
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.net.       IN DNSKEY

;; ANSWER SECTION:
example.net.        900 IN DNSKEY 257 3 8 (
                AwEAAcSvBHUuazPyycexMEFH9+oQoJXAugbelISqKM0e
                Qv4jPsp1qws6+rs6mpBgxwE6bOqOqAUDnXqkjPiLE8st
                Q6l2r1jCN/Ad8N+tOqCPMIG93RE233PKm3hDK1KoLEmR
                9us2vRfkM1H/tt0UuL/4RoVdUCHH8jcp9tueMQzQG4RO
                nE/HctTb+WR/zBFa+GjGdoQGdjasr5CDrXvImipyG9fJ
                ZQ+wNtAzjMpl2dR2oJERE9HFnv52GblveqAZcw3HqCn2
                MsF8QKOFcPEXVk1lOtaqb0bBqftLEuoNysbYcKoXOO4Z
                nKcxPB+bHoeHTWSvz5XSoCwulwE15xJ/GrA1rrk=
                ) ; KSK; alg = RSASHA256; key id = 61250
example.net.        900 IN DNSKEY 256 3 8 (
                AwEAAZ/9wpQpBVsh1WLWtgOewqesLtZLV1nOgle7OmKs
                aPSX4gFEWP3znBXICNsuFAaOY0JYZKO6A7Pip+6cmwiR
                A34mr5Xk3XNtTPMfoT55D1qE/l8zMHBspEgulIFPSBPc
                WQpXTkxQKIpYzn4yhak7BKBOm8I0AFDHlehtdf8qys9t
                ) ; ZSK; alg = RSASHA256; key id = 17491
example.net.        900 IN DNSKEY 257 3 8 (
                AwEAAbMqsFTYoin5LDKjSo0Ix0nj29adzS97t2n3QImu
                svDp8llLbKmG3wVX99FbLL232oVfvL1QgP3Uqa88yxrJ
                iwJ+BxT5SWaU0kFbfEvLlAIwkcp8fIpZPiPLo0tXXFu7
                h0LtXWUYMei1Q4wzxVaxTAWBuDnbUM+g629FeI9052lQ
                DYpSa32CzDRXLXJ23hR2lNRecCnTXw+kudfL3oxUTUKi
                Ijjf0zDcoa3G0TCogMhgXnJJ32havw+u3HevDLLQq5hk
                KTR55Ymr8bagm7N0V8ZAxvnCG5ix9SFLvjG/7BQUEOgI
                eeyoZoTGGkeFEA2Hs+j8BNPXwML+ETlYsgeaAwc=
                ) ; KSK; alg = RSASHA256; key id = 51916

;; Query time: 14 msec
;; SERVER: 127.0.0.1#53(172.20.10.43)
;; WHEN: Sat Jan 06 11:26:45 CET 2018
;; MSG SIZE  rcvd: 740

Struktur rekaman DNSKEY adalah sebagai berikut:

Field

Example

Description

Flags

256

Zone key and secure entry point (SEP) flags.

Protocol

3

Always 3

Algorithm

8

The public key algorithm used to create the key.

Public Key

AwEA…ys9t

The full public key.


b. DNSKEY Flags

Bit

Flag

0 - 6

Reserved

7

Zone Key Flag

8 - 14

Reserved

15

Secure Entry Point (SEP) Flag

16

Reserved


Flag Bits

Flag Bits Values

Decimal Value

Description

000000000000000

0

Key is neither a zone key nor a secure entry point.

000000000000001

1

Key is not a zone key but is a secure entry point.

000000100000000

256

Key is a zone key but not a secure entry point.

000000100000001

257

Key is a zone key and a secure entry point.


c. Catatan RRSIG

Tanda tangan jawaban DNS terhadap kueri tidak ditampilkan secara default. Gunakan opsi +dnssec untuk membuatnya terlihat:


$ dig +multiline +dnssec example.net. SOA

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +multiline +dnssec example.net. SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5858
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;example.net.       IN SOA

;; ANSWER SECTION:
example.net.        3588 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
                2017120519 ; serial
                7200       ; refresh (2 hours)
                3600       ; retry (1 hour)
                1209600    ; expire (2 weeks)
                3600       ; minimum (1 hour)
                )
example.net.        3588 IN RRSIG SOA 8 2 3600 (
                20180123134822 20180102162512 17491 example.net.
                bfE6eVnjxMcX/UH2rzc7HRZ1DwetaTVseDeMVUQEAwno
                ioWhGnsHxaXs6pA7btGEC9ZIZ3PgUiexL1fWxOU4p049
                3dy1wkkUrmEj22viN/cj0S1DhhP2x/8ROqpG+L4Rhovx
                BtvD3H+uOeVGRIXQ781UiXL4po/ti7AdFDSf49I= )

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(172.20.10.43)
;; WHEN: Sat Jan 06 12:02:54 CET 2018
;; MSG SIZE  rcvd: 268

Struktur catatan RRSIG adalah sebagai berikut:

Field

Example

Description

Original Type

SOA

The type of record that has been signed.

Algorithm

8

The algorithm used for signing

Number of Labels

2

If the answer was formed from a wildcard record.

Original TTL

3600

The time-to-live of the signed record.

Signature Expiration

20180123134822

The expiration time of the signature.

Signature Inception

20180102162512

The time when the record was signed.

Key Tag

17491

The key-tag of the key used for signing.

Name of Signer

example.net.

The name of the zone who signed the record.

Signature

bfE6…49I=

The signature.


d. Jumlah Label

Catatan wildcard memerlukan penanganan khusus selama verifikasi.

Misalkan zona tersebut memiliki catatan wildcard *.example.net dan kami meminta alamat IP books.example.net. Server akan mengembalikan alamat IP sebagai catatan A beserta tanda tangan untuk catatannya *.example.net.

Tanpa DNSSEC, klien bahkan tidak perlu tahu apakah jawaban tersebut dibentuk dari catatan wildcard. Namun dengan DNSSEC, jika ia mencoba memvalidasi jawaban books.example.net dengan tanda tangan untuk *.example.net, validasi tersebut gagal.

Untuk mengatasi masalah ini, kolom "jumlah label" digunakan. Jika jumlah label memiliki nilai yang sama dengan yang kami minta, itu adalah catatan normal yang ada. Dalam kasus contoh kami, kami meminta nama domain yang terdiri dari tiga bagian: books, example, dan net.
  • Jika "Jumlah Label" memiliki nilai 3, klien tahu bahwa ia dapat memvalidasi tanda tangan secara normal menggunakan nama host yang dimintanya.
  • Jika "Jumlah Label" memiliki nilai kurang, katakanlah "2", klien akan memvalidasi tanda tangan terhadap *.example.net dan bukan terhadap apa yang dimintanya.
Beberapa perubahan berikut akan memberi tahu PowerDNS untuk mengelola nomor seri SOA secara otomatis. Oleh karena itu, nomor seri yang disimpan dalam basis data mungkin tidak lagi relevan. Selalu periksa nomor seri dengan melakukan kueri SOA pada server DNS Anda seperti $ dig @192.0.2.41 SOA example.net dan bukan pencarian dalam basis data atau front-end Anda.

Tabel MySQL domainmetadata dalam basis data PowerDNS digunakan untuk menyimpan pengaturan konfigurasi khusus domain. Meskipun beberapa hal berfungsi tanpanya, tabel ini diperlukan untuk beberapa konfigurasi terkait server slave dan untuk tujuan DNSSEC.

Sayangnya tidak ada front-end yang mudah digunakan yang mendukung fitur ini hingga hari ini, jadi kami harus menggunakan perintah SQL pada database MySQL untuk mengatur opsi kami.


$ mysql -u root -p pdns
Semua opsi khusus domain ini dijelaskan dalam Manual PowerDNS di Bab 15. Pengaturan per zona alias Metadata Domain.


 -- Automatically increment the SOA serial number after DNSSEC signatures
 -- have been refreshed.  Avoids slaves to server DNS records with expired
 -- signatures.
 INSERT INTO `domainmetadata` (
     `domain_id`,
     `kind`, `content`
     ) VALUES (
         (SELECT id from domains where name='example.net'),
         'SOA-EDIT', 'INCEPTION-INCREMENT'
         );

 -- Automatically increment the SOA serial number after changes made trough
 -- API calls or signatures have been refreshed. Avoids slaves to server DNS
 -- records with expired signatures.
INSERT INTO `domainmetadata` (
     `domain_id`,
     `kind`, `content`
     ) VALUES (
         (SELECT id from domains where name='example.net'),
         'SOA-EDIT-API', 'INCEPTION-INCREMENT'
         );

 -- Automatically rectify zone (as needed by DNSSEC for NSEC/NSEC3)
 -- after any changes made trough API calls.
 INSERT INTO `domainmetadata` (
     `domain_id`,
     `kind`, `content`
     ) VALUES (
         (SELECT id from domains where name='example.net'),
         'API-RECTIFY', '1'
         );

 -- Allow all slaves to request AXFR zone transfers
 INSERT INTO `domainmetadata` (
     `domain_id`,
     `kind`, `content`
     ) VALUES (
         (SELECT id from domains where name='example.net'),
         'ALLOW-AXFR-FROM', 'AUTO-NS'
         );

Untuk mendapatkan daftar semua meta-data domain anda, jalankan perintah SQL berikut.


SELECT domains.name AS Domain, kind AS Option, content AS Value
    FROM domainmetadata
    LEFT JOIN domains ON domainmetadata.domain_id = domains.id
    ORDER BY Domain, Option, Value ASC;

Domain

Option

Value

example.net

ALLOW-AXFR-FROM

AUTO-NS

example.net

API-RECTIFY

1

example.net

SOA-EDIT

INCEPTION-INCREMENT

example.net

SOA-EDIT-API

INCEPTION-INCREMENT

example.org

ALLOW-AXFR-FROM

AUTO-NS

example.org

API-RECTIFY

1

example.org

SOA-EDIT

INCEPTION-INCREMENT

example.org

SOA-EDIT-API

INCEPTION-INCREMENT



4. Mengamankan Zona

a. Pembuatan Kunci

Alat baris perintah dnssec menangani semua tugas yang rumit. Untuk mengonfigurasi zona example.net dengan pengaturan DNSSEC yang wajar.


$ sudo pdnssec secure-zone example.net
Securing zone with rsasha256 algorithm with default key size
Zone example.net secured
Adding NSEC ordering information
Menghitung bidang ‘ordername’ dan ‘auth’ untuk zona tersebut sehingga mematuhi pengaturan DNSSEC.


$ sudo pdnssec rectify-zone example.net
Dapat digunakan untuk memperbaiki data yang dimigrasikan. Selalu dapat dijalankan dengan aman, tidak ada salahnya. Disarankan untuk menjalankan perintah ini di setiap zona yang dihosting, baik yang diamankan dengan DNSSEC atau tidak, untuk menjaga seluruh basis data tetap bersih.


$ sudo pdnssec rectify-all-zones

b. NSEC

Menerbitkan (publishing)
Setelah zona tersebut diamankan, kami dapat memberitahukannya kepada dunia. Hal ini dilakukan dengan menerbitkan kunci DS kami melalui pendaftar domain kami.

Untuk mendapatkan informasi kunci DS:


$ sudo pdnssec show-zone exmaple.com
Perintah tersebut akan menampilkan sejumlah kunci. Untuk mengatur DNSSEC di registrar Anda, ia akan meminta Anda untuk memberikan informasi berikut.

Key Tag: Ditemukan pada baris pertama output. tag = nnn. Tag adalah angka antara 0 dan 65.535.
Algorithm: Pilih algo = 8 atau RSA-SHA256.
Digest Type: Mengacu pada salah satu baris panjang yang dimulai dengan DS = example.net IN DS 31085 8. Pilih nomor 2 untuk intisari SHA256 yang diinginkan.
Digest: Rangkaian intisari yang panjang, seperti yang ditampilkan.

Untuk memeriksa apakah domain sekarang secara resmi mengaktifkan DNSSEC, jalankan perintah berikut.

Edit pdns.service
$ whois exmaple.com | grep DNSSEC
DNSSEC:signedDelegation


5. Update Slave

Server slave DNS kami yang lain belum mengetahui apa pun tentang semua ini, karena PowerDNS akan menandatangani rekaman DNS hanya saat dimintai rekaman tersebut. Prosedur tersebut juga tidak memperbarui nomor seri, oleh karena itu, slave tidak tahu bahwa sekarang adalah saat yang tepat untuk meminta pembaruan.

Dengan meningkatkan nomor seri, kami mengelabui PowerDNS agar memberi tahu semua slave agar mendapatkan salinan baru semua rekaman domain kami. Saat server slave menerima pemberitahuan pembaruan, mereka akan meminta semua rekaman di domain kami, dengan meminta transfer zona dari server kami.

PowerDNS menandatangani setiap rekaman secara digital, selama transfer zona. Server slave kemudian mendapatkan salinan semua rekaman yang ditandatangani. Untuk meningkatkan nomor seri dan memicu pembaruan.


$ sudo pdnssec increase-serial example.net

a. Algoritma Roll-over

Roll-over algoritma DNSSEC dalam banyak hal mirip dengan roll-over normal, tetapi dengan dua peringatan berikut:

KSK dan ZSK harus digulirkan pada saat yang sama.
ZSK lama tidak dapat ditarik hingga roll-over KSK selesai.

Prosedur berikut ini hanya boleh digunakan jika suatu algoritma dianggap lemah atau serangan telah dipublikasikan. Mari kita asumsikan bahwa hingga saat ini domain kita example.net telah ditandatangani dengan algoritma RSASHA1 yang dianggap lemah saat ini.

Mulai sekarang catatan domain kita harus ditandatangani dengan kunci ECDSA, kriptografi kurva eliptik p-256, dan algoritma digest SHA-256.
  • Buat pasangan kunci baru dengan algoritma baru ECDSAP256SHA256 untuk digunakan sebagai KSK, tetapi biarkan tidak aktif untuk saat ini. Jangan publikasikan kunci publik di mana pun dulu.
  • Buat pasangan kunci baru dengan algoritma baru ECDSAP256SHA256 untuk digunakan sebagai ZSK. Yang ini dapat diaktifkan, sehingga zona kita terisi dengan tanda tangan baru menggunakan algoritma baru, di samping yang lama yang juga tetap aktif.
  • Cari rekaman dengan TTL tertinggi di zona Anda. Gandakan waktu itu untuk menunggu langkah berikutnya. Ini untuk memastikan tanda tangan dengan algoritma baru terisi di mana-mana dalam cache.
  • Setelah menunggu, aktifkan KSK baru yang dibuat sebelumnya tetapi belum diaktifkan.
  • Komunikasikan KSK baru ke pendaftar Anda dan tunggu rekaman delegasi DS muncul.
  • Tunggu hingga SOA TTL kedaluwarsa. Ini untuk memastikan semua cache mengambil KSK baru Anda sehingga dapat memverifikasi tanda tangan baru.
  • Biarkan pencatat Anda menghapus KSK lama.
  • Tunggu hingga DS TTL induk Anda kedaluwarsa. Ini untuk memastikan semua cache mengetahui bahwa KSK lama tidak dapat lagi digunakan untuk verifikasi.
  • Nonaktifkan dan hapus ZSK lama dari zona Anda.
b. Membuat Jadwal Rollover KSK

Prosedur berikut harus digunakan untuk roll-over yang direncanakan setahun sekali. Roll-over KSK memerlukan kunci publik baru yang dikirimkan ke pendaftar.
  • Buat kunci/pasangan KSK baru.
  • Aktifkan kunci sehingga kunci penandatanganan zona (ZSK) akan ditandatangani oleh KSK baru dan lama selama periode transisi.
  • Pastikan semua rekaman ditandatangani ulang dan semua slave telah memilih perubahan.
  • Berikan kunci publik ke pendaftar domain.
  • Tunggu publikasi rekaman DS baru di domain induk.
  • Tunggu waktu cache domain (TTL dalam rekaman SOA) berakhir.
  • Nonaktifkan KSK lama.
c. Buat Backup Domain Keys

Zona DNSSEC menggunakan satu atau lebih kunci penandatanganan kunci (KSK) dan kunci penandatanganan zona (ZSK) yang sesuai. Masing-masing ZSK dan KSK memiliki kunci publik dan kunci privat.


$ sudo -sH
$ mkdir -p ~/dnssec-keys
$ cd ~/dnssec-keys
Daftarkan semua zona (dan periksa kesalahan).


$  pdnssec check-all-zones
Lanjutkan dengan perintah berikut untuk setiap domain (atau zona).


$ export ZONE=example.net
Tampilkan properti DNSSEC zona tersebut, mungkin cadangkan juga.


$ pdnssec show-zone $ZONE > $ZONE.dnssec.txt
$ cat $ZONE.dnssec.txt

d. Ekspor Kunci Penandatanganan (KSK)

Lihat baris yang dimulai dengan “ID = <NOMOR> (KSK) …”. Setidaknya ada satu yang aktif, tetapi mungkin ada lebih banyak lagi.


$ grep '(KSK)' $ZONE.dnssec.txt
$ export KEY_ID=<NUMBER>
Ekspor masing-masing kunci privat KSK berikut.


$ pdnssec export-zone-key $ZONE $KEY_ID > ${ZONE}_ID${KEY_ID}.ksk
Ekspor kunci publik yang sesuai.


$ pdnssec export-zone-dnskey $ZONE $KEY_ID > ${ZONE}_ID${KEY_ID}.ksk.pub
Jika ada beberapa KSK, ulangi hingga Anda memiliki semuanya.

Install PowerDNS
$ export KEY_ID=<NUMBER>
$ ...

Langkah berikutnya adalah lakukan perintah untuk mengEkspor Kunci Penandatanganan Zona  (ZSK).
Sekarang ulangi langkah-langkah berikut untuk kunci privat dan publik KSK.


$ grep '(ZSK)' $ZONE.dnssec.txt
$ export KEY_ID=<NUMBER>
$ pdnssec export-zone-key $ZONE $KEY_ID > ${ZONE}_ID${KEY_ID}.zsk
$ pdnssec export-zone-dnskey $ZONE $KEY_ID > ${ZONE}_ID${KEY_ID}.zsk.pub
Setelah membaca artikel ini, kami harpakan anda tahu cara mengamankan nama domain, yang merupakan hal terpenting dalam lanskap digital saat ini, tempat ancaman keamanan mengintai. Keamanan nama domain tingkat atas melindungi identitas website atau brand Anda, memastikan kelangsungan bisnis, dan menumbuhkan kepercayaan konsumen.