Abilitare il protocollo nsupdate per challenge ACME Letesencrypt du Bind
Se si vuole abilitare la challenge DNS per letsencrypt usando bind:
- Creare le domain keys:
cd /etc/bind/zones dnssec-keygen -a HMAC-SHA512 -b 512 -n USER acme.example.com
- Le chiavi generate saranno ad esempio:
ls Kacme.example.com.+165+29050.*
-rw-r--r-- 1 root bind 125 Feb 6 19:29 Kacme.example.com.+165+29050.key -rw------- 1 root bind 232 Feb 6 19:29 Kacme.example.com.+165+29050.private
- La chiave pubblica sarà:
cat Kacme.example.com.+165+29050.key | cut --delimiter=' ' -f7
FcxzfHLOt6xJmkQeUmYJntCERZkqWfTGeZbrmQidnW/a+m6mar44/0YR
- La chiave privata sarà:
cat Kacme.example.com.+165+29050.private | grep ^Key | cut --delimiter=' ' -f2
FcxzfHLOt6xJmkQeUmYJntCWTZkqWfTeDZbrmQidnW/a+m6mar44/0YRbBDECqR89tsoQc0RZWCqJk50Vwreig==
- Definire la chiave inserendo il valore della chiave privata:
vi /etc/bind/ddns-keys.conf
key acme.example.com {
algorithm HMAC-SHA512; secret "FcxzfHLOt6xJmkQeUmYJntCWTZkqWfTeDZbrmQidnW/a+m6mar44/0YRbBDECqR89tsoQc0RZWCqJk50Vwreig==";
};
- Assicurarsi che venga inclusa nella configurazione PRIMA della definizione della zona:
vi /etc/bind/named.conf.local
# ... include "/etc/bind/ddns-keys.conf"; # ... include "/etc/bind/named.conf.publiczones";
- Dichiarare i diritti della chiave nella definizione della zona:
vi /etc/bind/named.conf.publiczones
zone "example.com" {
type master;
file "/etc/bind/zones/example.com";
update-policy { grant acme.example.com zonesub TXT; };
};
- Riavviare bind
systemctl restart bind9