Hallo,
ursprünglich wollten wir gestern noch v3.0.0-rc4 freigeben, allerdings hat die DNSSEC-Migration wesentlich mehr Aufwand mit sich gebracht als vermutet.
Zur Erklärung hier ein paar technische Details:
Bislang nutzt LiveConfig für DNSSEC die BIND-Option "auto-dnssec: maintain". Diese ist inzwischen aber "deprecated" und wurde durch die Methode der "dnssec-policy" ersetzt. Spätestens ab BIND 9.20 wird "auto-dnssec" nicht mehr unterstützt - also ist die Umstellung obligatorisch.
Das neue Verfahren (dnssec-policy) ist mega mächtig, u.a. erlaubt das langfristig sogar ein automatisiertes Deployment der DS-Keys bei der Registry (RFC8078). LiveConfig nutzt die dnssec-policy nun u.a. um die Zone Signing Keys (ZSK) vollautomatisch alle 60 Tage zu rotieren.
Und da liegt schon die erste Herausforderung: die Schlüssel müssen nun zusätzliche Metadaten enthalten (u.a. Veröffentlichungsdatum im DNS), damit BIND anhand der verschiedenen TTLs berechnen kann, wann welche Events stattfinden müssen. Damit BIND die Schlüsselzustände verwalten und diese später auch rotieren kann, müssen diese von BIND beschreibbar sein. Auf /etc/bind/keys/ hat BIND mit AppArmor aber nur Lesezugriff, also migrieren wir diese nach /var/lib/bind/keys/.
Nächste Herausforderung: standardmäßig geht BIND bei der Signatur-Erneuerung davon aus, dass kein RR-TTL mit >24 Std vorliegt. Sollte das der Fall sein, muss das explizit konfiguriert werden, da sonst lange gecachte Signaturen ungültig werden können. Wir müssen also im Rahmen der Migration auch prüfen, welche TTLs in den Zonen vorhanden sind, und ggf. die dnssec-TTL-Option entsprechend anpassen.
Nach unseren ersten Tests hatte die Migration reibungslos geklappt, nur dass plötzlich keine dynamischen DNS-Updates mehr möglich waren. Hier stellte sich heraus, dass es einen bislang noch unbekannten/undokumentierten Bug im BIND gibt (Keys für dynamische Updates werden in manchen Fällen (nicht in allen!) im Verzeichnis /var/cache/bind/ gesucht, statt im konfigurierten key-directory (/var/lib/bind/keys/).
Da die DNSSEC-Migration von auto-dnssec zu dnssec-policy eine "Operation am offenen Herzen" ist, muss das äußerst sorgfältig erfolgen. Sollte es zu Problemen kommen, kann es mitunter sehr kompliziert werden, etwas zu korrigieren. Ein einfaches "neu signieren" geht oft nicht, weil ja alte Signaturen noch in anderen Resolvern gecached sein könnten.
Wir haben uns daher dazu entschlossen, die DNSSEC-Migration auch in LiveConfig 2 noch zu implementieren (Version 2.18), und auch dort noch in allen erdenkbaren Kombinationen durchzutesten. Nach dem aktuellen Stand der Dinge gehe ich davon aus, dass wir noch diese Woche hier die Preview fertig haben (aktuell glauben wir alle Probleme gelöst zu haben und sind "nur" noch in den Tests).
LC3 3.0.0-rv4 wird dann zeitgleich mit der LC2 2.18-Preview bereitgestellt, so dass sich beide Versionen analog verhalten. Zudem bereiten wir noch einen KB-Artikel zur DNSSEC-Migration vor.
Die restlichen für RC4 geplanten Punkte (u.a. Übersetzungen in ES/FR/NL, Löschen von Templates, etc.) sind erfolgreich abgeschlossen.
Viele Grüße
-Klaus Keppler