Letsencrypt-Fake für den Congress
Da während des Congresses potentiell alle Infrastruktur (incl. Let's Encrypt bzw. deren Rate Limits) kaputt ist, verwenden wir während des Congresses kein echtes Let's Encrypt renewal. Stattdessen generieren wir ein LE-Cert für alle CDN-Hosts im Dezember, welches dann 3 Monate und damit bis deutlich bis nach dem Congress gültig ist.
Generieren des Zertifikats
Die Scripte zum generieren des Zertifikats leben in voc@mngslave.dus.c3voc.de:/home/voc/letsencrypt-cdn-for-34c3
. Dort werden in der Datei domains.txt
alle Domains benannt, die zum CDN gehörten. Es wird dehydrated verwendet um ein einzelnes Zertifikat für alle diese Domains zu holen. Dazu wird die dns-01
challenge benutzt, da dafür die Hosts selbst nicht angefasst, ja nicht einmal online sein müssen.
Der Key Kle-dns-challenge.34c3.c3voc.de.+163+*.{key,private}
wird zur Authorisierung ggü. dem DNS-Server verwendet. Er ist üblicherweise deaktiviert.
Vor dem Congress muss er in /etc/bind/named.conf
aktiviert werden in dem diese Blöcke einkommentiert werden und der bind
-Service anschließend neu geladen werden muss:
#key "le-dns-challenge.34c3.c3voc.de" { # algorithm hmac-sha256; # secret "fNbiQG2VCxBb7K/kTg2K2/8saRAeiYMSmyYIxuFShts="; #};
# update-policy { # grant le-dns-challenge.34c3.c3voc.de subdomain c3voc.de txt; # };
Anschließend kann das Script /home/voc/letsencrypt-cdn-for-34c3/update-cert.sh
verwendet werden. Es generiert ein neues Zertifikatr in /home/voc/letsencrypt-cdn-for-34c3/cdn-all-domains/cdn.c3voc.de/{fullchain,chain,privkey,cert}.pem
.
Verwenden des Zertifikats
Zum Rollout auf den Hosts muss der Inhalt dieser vier Dateien in das KeePass-File unter ansible/ssl/certs/34c3.cdn.c3voc.de
hinterlegt werden. Dazu werden die Textfelder unter Advanced→Additional attributes
verwendet. Nach dem Comitten des neuen KeePass-Files nicht vergessen mit ./updatekeepassversion
die erforderliche KeePass-Datei-Version im cm zu aktualisieren.
Nun kann im cm in den hostvars
aktiviert werden.
der relevanten Hosts der Rollout dieses Fake-Zertifikats durch aktivieren der Property
#letsencryptfake: “34c3.cdn.c3voc.de”
Ist diese Property gesetzt wird das normale Let's Encrypt-Setup deaktiviert und stattdessen das Zertifikat aus dem KeePass ausgerollt.