[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte erlangen] [:Editor: Einen Editor verwenden] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/security.png, 48, align=left)]] 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 [:CA#SelbstsignierteZertifikate:selbstsigniertes Zertifikat]. Dieses wird durch den Befehl '''ssl-cert''' auf dem Rechner erstellt. Allerdings kann der praktische Einsatz durch kleinere [:CA#Problembehebung:Probleme] getrübt sein. = Installation = Durch die Installation [1] des folgenden Pakets wird das Zertifikat sofort erzeugt: {{{#!vorlage Paketinstallation ssl-cert }}} = Nutzung = Man kann diesen Vorgang auch später durch folgenden Befehl wiederholen [2][3]: {{{#!vorlage Befehl 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: {{{#!vorlage 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. = 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: {{{#!vorlage Befehl 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 [:hosts:/etc/hosts], DNS, etc). Wenn ssl-cert den Namen nicht auflösen kann, bekommt man eine Fehlermeldung, dass der Hostname kein gültiger [wikipedia:Domain_(Internet)#Fully_Qualified_Domain_Name_(FQDN):FQDN] ist. = Links = == intern == * [:TLS-Zertifikate:] - Übersichtsseite zu TLS * [:certbot:] - Zertifikate von Let’s Encrypt mittels certbot erhalten * [:Howto/getssl:] - kostenlose Let's Encrypt-Zertifikate über getssl erhalten * [:CA:] - eine eigene Certification Authority betreiben * [:CAcert:] - Community, die kostenlose SSL-Zertifikate ausstellt == extern == * [wikipedia:Transport_Layer_Security:SSL] - Wikipedia-Artikel zu SSL/TLS # tag: Internet, Netzwerk, Server, Sicherheit, Verschlüsselung, SSL, SSL-Cert