Κόμπος 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 για σκοπούς δοκιμών.