Puh, wenn ich mir den heutigen
Sicherheitsbericht von Debian so anschaue, weiss ich, was ich heute Abend mache. Ich generiere alle Schlüssel neu. Weil die Debian-Versionen von openssl hatte einen Bug. Die davon abgeleiteten
Ubuntu-Versionen hats natürlich auch erwischt. Distributionen, die kein Debian im Stammbaum haben sind wohl nicht betroffen. Im Rundschreiben steht was von viel Arbeit:
It is strongly recommended that all cryptographic key material which has been generated by OpenSSL versions starting with 0.9.8c-1 on Debian systems is recreated from scratch. Furthermore, all DSA keys ever used on affected Debian systems for signing or authentication purposes should be considered compromised; the Digital Signature Algorithm relies on a secret random value used during signature generation.
Das heisst zwar nicht, dass nun jeder per ssh in einen Server reinkommt, aber "verschlüsselt" ist der Datenverkehr nicht mehr, wenn der Schlüssel ratbar ist (wie leicht, wird man sehen, exploit ist noch keines bekannt). Mal überlegen, was hier alles ssl macht... apache, ssh natürlich, pop3, smtp,
tor auch, irgendwo liegt hier noch ein stunnel rum, ircd, die ganzen public keys für die ssh-Authentifizierung... Naja, vielleicht bring ich die ganzen Schlüssel ja mal irgendwie zusammen, dann hab ich wenigstens was dabei gelernt.
Notiz für zukünftige Updates: Der obskure Einzeiler, mit dem man ein selbstsigniertes Cert erstellt und den dazu passenden private key sieht so aus:
openssl req -x509 -nodes -days 3650 \
-subj '/C=DE/ST=BY/L=Aschheim/O=Max Berger/CN=www.dianacht.de' \
-newkey rsa:1024 -keyout key.pem -out cert.pem
Manche Programme (postfix, dovecot) wollen das als 2 Dateien, manchen (apache) kann man auch alles in einer Datei hinwerfen.
Für sshd hab ich im
heise-Forum einen Zweizeiler gefunden:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -b 1024 -N ''
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -b 1024 -N ''
(Die beiden letzten Zeichen sind 2 Stück Hochkomma, die Dinger überm # auf der deutschen Tastatur, 1024 ist die Schlüssellänge, beim RSA könnte man auch 2048 verwenden...)
Nachtrag: Hab doch wieder lauter einzelne selbstsignierte Schlüssel ohne gemeinsame Zertifizierungsstelle gemacht. Ein einziger Schlüssel für alles geht schlecht. Der Browser mault, wenn der Schlüssel nicht für www.dianacht.de ausgestellt ist, mein heimischer postfix verlangt exklusiv nach mail.dianacht.de. Dann gibts halt für jeden Dienst ein Schlüsselpaar, man muss ja nicht eine echte Zertifizierungsstelle für eine handvoll beteiligter Rechner aufbauen.
Nachtrag 14.5.: Inzwischen gibts ganz gute Hintergrundinformationen im
Debian-Wiki.