ubuntuusers.de

ubuntuusers.deWikissl-cert

E-Mail Benachrichtigungen funktionieren derzeit nicht, das Problem ist bekannt, wird untersucht und baldmöglichst behoben. Besten Dank für das Verständnis und die Geduld.

ssl-cert

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/security.png 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 die private Nutzung reicht oft auch ein selbstgeneriertes Zertifikat. Dieses wird durch den Befehl ssl-cert auf dem Rechner erstellt.

Installation

Experten-Info:

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. Ubuntu 10.04 ist von diesem Fehler nicht betroffen.

Durch die Installation [1] des folgenden Pakets wird das Zertifikat sofort erzeugt:

  • ssl-cert

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ssl-cert 

sudo aptitude install ssl-cert 

Nutzung

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.

SSL-Zertifikate erneuern

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.

SSL-Zertifikate mit längerer Laufzeit

Um die Laufzeit/Gültigkeit der erstellten Zertifikate von der Voreinstellung 1 Monat auf einen anderen Zeitraum zu ändern, muss man das Shell-Skript /usr/sbin/make-ssl-cert mit einem Editor [4] und Root-Rechten bearbeiten. In dieser Datei nach openssl suchen (ungefähr bei Zeile 124) und die Zeile

openssl req -config $TMPFILE -new -x509 -nodes \

in

openssl req -config $TMPFILE -new -days 365 -x509 -nodes \

ändern. Damit ist das nächste selbst erstellte Zertifikat 365 Tage gültig.

Problembehebung

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.

  • SSL - Wikipedia

  • CA - eine eigene Certification Authority betreiben

  • CAcert - Community, die kostenlose SSL-Zertifikate ausstellt

  • Apache/SSL

Diese Revision wurde am 12. April 2014 13:20 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Verschlüsselung, SSL, SSL-Cert, Netzwerk, Server, Internet