Mezgls DNS#

Mezgls DNS ir atvērtā koda autoritatīvs DNS serveris, ko var izmantot DNSSEC. Lai izmantotu KnotDNS ar NetHSM, lūdzu, instalējiet un konfigurējiet PKCS#11 moduli, kā aprakstīts šeit ` <./pkcs11-setup.html>`__.

Manuālais režīms#

Manuālajā režīmā atslēgas jāģenerē un jāpārvalda manuāli.

PKCS#11 moduļa konfigurācijas failā ir nepieciešams tikai lietotājs Operator. Paroli var norādīt, izmantojot pin-value PKCS#11 URI datnē knot.conf.

Pievienojiet KnotDNS konfigurācijas failā /etc/knot/knot.conf šādas rindiņas:

keystore:
  - id: nethsm_keystore
    backend: pkcs11
    config: "pkcs11:token=localnethsm /usr/local/lib/libnethsm_pkcs11.so"

policy:
  - id: manual_policy
    keystore: nethsm_keystore
    manual: on

zone:
  - domain: example.com
    storage: "/var/lib/knot"
    file: "example.com.zone"
    dnssec-signing: on
    dnssec-policy: manual_policy

token vērtība PKCS#11 URI ir label no p11nethsm.conf. Pielāgojiet ceļu līdz libnethsm_pkcs11.so pēc vajadzības.

Lai ģenerētu atslēgas, izpildiet šādas komandas:

nitropy nethsm \
  --host "localhost:8443" --no-verify-tls \
  --username "admin" \
  generate-key \
    --type "EC_P256" --mechanism "ECDSA_Signature" --length "256" --key-id "myKSK"
# knot's keymgr expects the binary key id in hex format
# myKSK in ascii-binary is 0x6d794b534b, e.g. echo -n "myKSK" | xxd -ps
keymgr "example.com" import-pkcs11 "6d794b534b" "algorithm=ECDSAP256SHA256" "ksk=yes"

nitropy nethsm \
  --host "localhost:8443" --no-verify-tls \
  --username "admin" \
  generate-key \
    --type "EC_P256" --mechanism "ECDSA_Signature" --length "256" --key-id "myZSK"
# myZSK in ascii-binary is 0x6d795a534b
keymgr "example.com" import-pkcs11 "6d795a534b" "algorithm=ECDSAP256SHA256"

Automātiskais režīms#

Automātiskā režīmā atslēgas ģenerē Knot DNS un tās tiek saglabātas NetHSM.

PKCS#11 moduļa konfigurācijā ir nepieciešams administrators un operators.

Pievienojiet Knot DNS konfigurācijas datnei /etc/knot/knot.conf šādas rindas:

keystore:
  - id: nethsm_keystore
    backend: pkcs11
    config: "pkcs11:token=localnethsm /usr/local/lib/libnethsm_pkcs11.so"
    #key-label: on

policy:
  - id: auto_policy
    keystore: nethsm_keystore
    ksk-lifetime: 5m
    zsk-lifetime: 2m
    dnskey-ttl: 10s
    zone-max-ttl: 15s
    propagation-delay: 2s

zone:
  - domain: example.com
    storage: "/var/lib/knot"
    file: "example.com.zone"
    dnssec-signing: on
    dnssec-policy: auto_policy

Iestatot key-label uz on, nekas nemainās, un pkcs11 modulis ignorē norādīto etiķeti un kā etiķeti vienmēr atgriež sešciparu atslēgas id. Politikā testēšanas nolūkos tiek izmantoti ļoti īsi atslēgas darbības laiki un TTL.