TLSA semi-automatisch im PowerDNS hinterlegen
Einfaches Beispiel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
ZONE="torrentkino.de"
FQHN="www.$ZONE"
PREFIX="\_443.\_tcp.www"
TYPE="TLSA"
METHOD="3 0 1"
TTL="86400"
HASH=$(echo | openssl s\_client -connect $FQHN:443 2>/dev/null | \
sed -n '/-BEGIN/,/-END/p' | \
openssl x509 -outform DER | \
sha256sum | cut -d' ' -f1)
echo "sudo pdnsutil replace-rrset $ZONE $PREFIX $TYPE $TTL \\"$METHOD $HASH\\""
echo "sudo pdnsutil rectify-zone $ZONE"
echo "sudo pdnsutil increase-serial $ZONE"
Der Let’s encrypt Certbot beherrscht zudem Hooks, die beim Austausch eines Webserver-Zertifikats getriggert werden. Damit kann man das Spiel beliebig weiter spielen. Wer es noch komplizierter mag, kann auch mit der HTTP-API des PowerDNS-Servers sprechen. Das lässt sich sehr schön mit Perl, Go oder Foo realisieren.