Vozel DNS¶
Knot DNS je odprtokodni avtoritativni strežnik DNS, ki se lahko uporablja za DNSSEC. Če želite uporabljati KnotDNS z NetHSM, namestite in konfigurirajte modul PKCS#11, kot je opisano tukaj ` <./pkcs11-setup.html>`__.
Ročni način¶
V ročnem načinu je treba ključe ustvariti in upravljati ročno.
V konfiguracijski datoteki modula PKCS#11 je potreben samo uporabnik Operator. Geslo lahko določite z uporabo pin-value
v PKCS#11 URI v knot.conf.
V konfiguracijsko datoteko KnotDNS /etc/knot/knot.conf
dodajte naslednje vrstice:
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
Vrednost token
v PKCS#11 URI je label
iz p11nethsm.conf
. Po potrebi prilagodite pot do libnethsm_pkcs11.so
.
Za ustvarjanje ključev zaženite naslednje ukaze:
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"
Samodejni način¶
V samodejnem načinu ključe ustvari sistem Knot DNS in jih shrani v sistem NetHSM.
V konfiguraciji modula PKCS#11 sta potrebna uporabnika Administrator in Operator.
V konfiguracijsko datoteko Knot DNS /etc/knot/knot.conf
dodajte naslednje vrstice:
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
Nastavitev key-label
na on
ne spremeni ničesar in modul pkcs11 ne upošteva podane oznake ter kot oznako vedno vrne šestnajstiški id ključa. Politika uporablja zelo kratke življenjske dobe ključev in TTL za namene testiranja.