Ubuntu 16.04 Xenial Xerus
Möchte man die verschlüsselten Protokolle wie HTTPS, IMAPS oder POP3S nutzen, so benötigt man ein SSL-Zertifikat einer CA (Certification Authority). Eigentlich muss solch ein Zertifikat von Firmen oder Organisationen ausgestellt werden, die dafür autorisiert sind. Doch für Testzwecke oder die private Nutzung reicht oft auch ein selbstgeneriertes Zertifikat. Dieses wird durch den Befehl ssl-cert auf dem Rechner erstellt. Allerdings kann der praktische Einsatz durch kleinere Probleme getrübt sein.
Anfang April 2014 ist der Heartbleed-Bug (CVE-2014-0160) in OpenSSL bekannt geworden. Leider hat sich Canonical entscheiden, bis einschließlich Ubuntu 14.04 nicht die aktualisierte Version 1.0.1g oder neuer zu nutzen, sondern nur die Pakete in den offiziellen Paketquellen zu patchen. Seit dem 7. April 2014 stehen diese als Update zur Verfügung. Man sollte sich daher nicht durch die scheinbar betroffene Versionsnummer des Pakets täuschen lassen.
Allerdings wird empfohlen, vor diesem Datum mit Ubuntu 12.04 oder neuer erstellte Zertifikat zu verwerfen und neue zu erstellen.
Durch die Installation [1] des folgenden Pakets wird das Zertifikat sofort erzeugt:
ssl-cert
mit apturl
Paketliste zum Kopieren:
sudo apt-get install ssl-cert
sudo aptitude install ssl-cert
Man kann diesen Vorgang auch später durch folgenden Befehl wiederholen [2][3]:
sudo make-ssl-cert generate-default-snakeoil
Die dadurch generierten Dateien werden sofort in die SSL-Schlüssel aufgenommen:
SSL-Zertifikat | /etc/ssl/certs/ssl-cert-snakeoil.pem |
SSL-Schlüssel | /etc/ssl/private/ssl-cert-snakeoil.key |
und können dort beispielsweise von Serveranwendungen genutzt werden.
Sollte sich der Rechnername ändern oder das Zertifikat ablaufen, so kann man durch den Befehl:
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
ein neues Zertifikat erzeugen. Damit das neue Zertifikat verwendet wird, müssen die entsprechenden Dienste neu gestartet werden.
Wenn ein Zertifikat über die obigen Schritte erneuert wurde (force-overwrite
), ist darauf zu achten, dass im Zertifikat der richtige Rechnername eingetragen wird. ssl-cert setzt diesen als CommonName des Zertifikates ein. Der Name kann im laufenden Betrieb mittels des Befehls:
sudo hostname NEUER_NAME
geändert (die Datei /etc/hostname wird nur beim Systemstart gelesen) oder einfach nur mit hostname
ausgelesen werden.
Danach wird versucht, diesen Hostname aufzulösen (mittels /etc/hosts, DNS, etc). Wenn ssl-cert den Namen nicht auflösen kann, bekommt man eine Fehlermeldung, dass der Hostname kein gültiger FQDN ist.
Diese Revision wurde am 27. Februar 2017 15:51 von VolkerRaschek erstellt.