===== 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 ''./update_keepass_version'' die erforderliche KeePass-Datei-Version im cm zu aktualisieren.
Nun kann im cm in den ''host_vars'' der relevanten Hosts der Rollout dieses Fake-Zertifikats durch aktivieren der Property ''#letsencrypt_fake: "34c3.cdn.c3voc.de"'' aktiviert werden.
Ist diese Property gesetzt wird das normale Let's Encrypt-Setup deaktiviert und stattdessen das Zertifikat aus dem KeePass ausgerollt.