Κόμπος DNS¶
Knot DNS είναι ένας ανοικτού κώδικα εξουσιοδοτικός διακομιστής DNS που μπορεί να χρησιμοποιηθεί για DNSSEC. Για να χρησιμοποιήσετε το KnotDNS με το NetHSM, εγκαταστήστε και ρυθμίστε την ενότητα PKCS#11 όπως περιγράφεται εδώ.
Χειροκίνητη λειτουργία¶
Στη χειροκίνητη λειτουργία τα κλειδιά πρέπει να δημιουργούνται και να διαχειρίζονται χειροκίνητα.
Μόνο ο χρήστης Operator απαιτείται στο αρχείο ρυθμίσεων της ενότητας PKCS#11. Ο κωδικός πρόσβασης μπορεί να καθοριστεί χρησιμοποιώντας το pin-value
στο PKCS#11 URI στο knot.conf.
Προσθέστε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων KnotDNS /etc/knot/knot.conf
:
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
στο PKCS#11 URI είναι η label
από την p11nethsm.conf
. Προσαρμόστε τη διαδρομή προς το libnethsm_pkcs11.so
ανάλογα με τις ανάγκες.
Για να δημιουργήσετε τα κλειδιά εκτελέστε τις ακόλουθες εντολές:
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"
Αυτόματη λειτουργία¶
Στην αυτόματη λειτουργία τα κλειδιά παράγονται από το Knot DNS και αποθηκεύονται στο NetHSM.
Στη διαμόρφωση της ενότητας PKCS#11 απαιτείται ένας χρήστης διαχειριστής και ένας χρήστης χειριστής.
Προσθέστε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων Knot DNS /etc/knot/knot.conf
:
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
Ο καθορισμός key-label
σε on
δεν αλλάζει τίποτα και η ενότητα pkcs11 αγνοεί τη δεδομένη ετικέτα και επιστρέφει πάντα το δεκαεξαδικό αναγνωριστικό κλειδιού ως ετικέτα. Η πολιτική χρησιμοποιεί πολύ μικρούς χρόνους ζωής κλειδιών και TTL για σκοπούς δοκιμών.