TLS-Zertifikat: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Diese Anleitung beschreibt Möglichkeiten zur Erlangung eines [wikipedia:SSL-Verschlüsselung: SSL]- oder auch [wikipedia:Transport_Layer_Security: TLS]-Zertifikates samt der Erzeugung des zugehörigen privaten Schlüssels
'''TLS-Zertifikat'''
* Ziel ist meist, Inhalte von einem Webserver (z.. B.. [[Apache/mod_ssl:Apache]) verschlüsselt über das Internet öffnen zu können


= Zertifikate =
== Beschreibung ==
Es gibt drei unterschiedliche Arten von Zertifikaten
Möglichkeiten zur Erlangung eines [[SSL-Verschlüsselung|SSL]]- oder auch [[Transport_Layer_Security|TLS]]-Zertifikates samt der Erzeugung des zugehörigen privaten Schlüssels
* öffentlich signierte Zertifikate - offiziell gültiges Zertifikat, das über eine öffentliche CA signiert wurde
* Ziel ist meist, Inhalte von einem Webserver (z. B. [[Apache/mod_ssl|Apache]]) verschlüsselt über das Internet öffnen zu können
* privat signierte Zertifikate - über eine private (nicht öffentliche) CA signiert
* [[#selbstsigniertes-Zertifikat|Selbst signierte Zertifikate]] - signiert durch den eigenen privaten Schlüssel, nicht über eine CA


Für die Stärke bzw. Sicherheit der Verschlüsselung ist das gewählte Verfahren irrelevant
== Zertifikate ==
; Arten von Zertifikaten
{| class="wikitable options big"
|-
| Öffentlich signierte Zertifikate || Offiziell gültiges Zertifikat, das über eine öffentliche CA signiert wurde
|-
| Privat signierte Zertifikate || Über eine private (nicht öffentliche) CA signiert
|-
| [[#selbstsigniertes-Zertifikat|Selbst signierte Zertifikate]] || Signiert durch den eigenen privaten Schlüssel, nicht über eine CA
|}


Der Unterschied liegt aber darin, dass ein öffentlich gültiges Zertifikat von einer offiziellen Zertifizierungsstelle ("Certificate Authority", [[CA]]) "unterschrieben" werden muss und anschließend in der Regel von allen gängigen Programmen (z.. B. Browsern) anstandslos als vertrauenswürdig akzeptiert wird - da diese ein übergeordnetes Zertifikat der CA enthalten
Für die Stärke bzw. der Verschlüsselung ist das gewählte Verfahren irrelevant
 
Der Unterschied liegt aber darin, dass ein öffentlich gültiges Zertifikat von einer offiziellen Zertifizierungsstelle ("Certificate Authority", [[CA]]) "unterschrieben" werden muss und anschließend in der Regel von allen gängigen Programmen (z. B. Browsern) anstandslos als vertrauenswürdig akzeptiert wird - da diese ein übergeordnetes Zertifikat der CA enthalten


Umgekehrt lässt sich für selbst signierte Zertifikate nicht prüfen, ob dem Aussteller vertraut werden kann oder nicht, und es werden entsprechende Warnungen bzw. Sicherheitsabfragen angezeigt
Umgekehrt lässt sich für selbst signierte Zertifikate nicht prüfen, ob dem Aussteller vertraut werden kann oder nicht, und es werden entsprechende Warnungen bzw. Sicherheitsabfragen angezeigt
Zeile 16: Zeile 24:
Privat signierte Zertifikate werden nur dann als vertrauenswürdig akzeptiert, falls das Zertifikat der verwendeten CA [[CA#CAhinzufuegen:nachträglich auf dem Client-Rechner installiert] wurde
Privat signierte Zertifikate werden nur dann als vertrauenswürdig akzeptiert, falls das Zertifikat der verwendeten CA [[CA#CAhinzufuegen:nachträglich auf dem Client-Rechner installiert] wurde


= Offiziell gültiges Zertifikat =
== Offiziell gültiges Zertifikat ==
Um ein offiziell gültiges Zertifikat zu erhalten, muss man im Besitz einer Domain sein
Um ein offiziell gültiges Zertifikat zu erhalten, muss man im Besitz einer Domain sein
* Für diese Domain wird das Zertifikat beantragt und ausgestellt
* Für diese Domain wird das Zertifikat beantragt und ausgestellt
Zeile 22: Zeile 30:
* Je nach CA und Typ des Zertifikats unterscheidet sich die Art dieser Überprüfung
* Je nach CA und Typ des Zertifikats unterscheidet sich die Art dieser Überprüfung


== Let's Encrypt ==
=== Let's Encrypt ===
Eine sehr einfache und dazu kostenlose Variante, um mit Ubuntu an ein solches Zertifikat zu kommen, ist die Beantragung über die Zertifizierungsstelle [https://letsencrypt.org Let's Encrypt]  
Eine sehr einfache und dazu kostenlose Variante, um mit Ubuntu an ein solches Zertifikat zu kommen, ist die Beantragung über die Zertifizierungsstelle [https://letsencrypt.org Let's Encrypt]  
* Voraussetzung für diese Methode ist, dass der Webserver bereits öffentliche HTTP-Anfragen auf die Domain beantwortet - es muss also unter anderem ein A-record im DNS existieren
* Voraussetzung für diese Methode ist, dass der Webserver bereits öffentliche HTTP-Anfragen auf die Domain beantwortet - es muss also unter anderem ein A-record im DNS existieren
Zeile 30: Zeile 38:
Die eigentliche "Bestellung" erfolgt über eines der Kommandozeilenprogramme direkt auf dem Webserver
Die eigentliche "Bestellung" erfolgt über eines der Kommandozeilenprogramme direkt auf dem Webserver


=== certbot ===
==== certbot ====
Das Programm certbot vereinfacht die Erstellung und Administration von Let's Encrypt-Zertifikaten erheblich
Das Programm certbot vereinfacht die Erstellung und Administration von Let's Encrypt-Zertifikaten erheblich
* Näheres hierzu im Artikel [[certbot]]
* Näheres hierzu im Artikel [[certbot]]


=== getSSL ===
==== getSSL ====
Alternativ kann die Einrichtung via getSSL erfolgen
Alternativ kann die Einrichtung via getSSL erfolgen
* Hierfür gibt es ein [[Howto/getssl: Howto] auf diesem Portal
* Hierfür gibt es ein [[Howto/getssl: Howto] auf diesem Portal


== andere CAs ==
=== andere CAs ===
Um ein Zertifikat von einer anderen CA anzufordern, muss ein "Certificate Signing Request" (CSR) erstellt werden
Um ein Zertifikat von einer anderen CA anzufordern, muss ein "Certificate Signing Request" (CSR) erstellt werden
* Voraussetzung hierfür ist wiederum ein privater Schlüssel
* Voraussetzung hierfür ist wiederum ein privater Schlüssel


=== Privaten Schlüssel erzeugen ===
==== Privaten Schlüssel erzeugen ====
Der Schlüssel sollte immer auf eigens verwalteten Systemen erzeugt und gespeichert werden und niemals Dritten in die Hände gegeben werden - auch nicht der signierenden CA
Der Schlüssel sollte immer auf eigens verwalteten Systemen erzeugt, gespeichert und niemals Dritten in die Hände gegeben werden - auch nicht der signierenden CA


; Hinweis
; Hinweis
:Es gibt CAs, welche komplette Zertifikate inklusive privaten Schlüsseln selbst erstellen und diese z. T. sogar noch in ungesicherten E-Mails zusammen an den Empfänger verschicken
: Es gibt CAs, welche komplette Zertifikate inklusive privaten Schlüsseln selbst erstellen und diese z. T. sogar noch in ungesicherten E-Mails zusammen an den Empfänger verschicken
* Um solche Anbieter sollte ein großer Bogen gemacht werden: Niemand kann garantieren, dass der private Schlüssel wirklich keinem Dritten in die Hände fällt, womit das komplette Vertrauensmodell und auch die Sicherheit der Verschlüsselung ausgehebelt werden
* Um solche Anbieter sollte ein großer Bogen gemacht werden: Niemand kann garantieren, dass der private Schlüssel wirklich keinem Dritten in die Hände fällt, womit das komplette Vertrauensmodell und auch die Sicherheit der Verschlüsselung ausgehebelt werden


Zeile 61: Zeile 69:
* Das ist notwendig, da Apache sonst bei jedem Neustart die manuelle Eingabe der Passphrase verlangen würde oder diese in der Konfiguration im Klartext hinterlegt werden müsste
* Das ist notwendig, da Apache sonst bei jedem Neustart die manuelle Eingabe der Passphrase verlangen würde oder diese in der Konfiguration im Klartext hinterlegt werden müsste


==== Kryptografie mit elliptischen Kurven ====
===== Elliptischen Kurven Kryptografie =====
Als Schlüsselformat werden neben herkömmlichen RSA-Schlüsseln sogenannte EC-Schlüssel (elliptic curve = [wikipedia:Elliptische-Kurven-Kryptosystem:Elliptische Kurve]) unterstützt, welche mit dem Kommando
Als Schlüsselformat werden neben herkömmlichen RSA-Schlüsseln sogenannte EC-Schlüssel (elliptic curve = [wikipedia:Elliptische-Kurven-Kryptosystem:Elliptische Kurve]) unterstützt, welche mit dem Kommando
  openssl ecparam -out /etc/ssl/private/apache.key -name secp521r1 -genkey"
  openssl ecparam -out /etc/ssl/private/apache.key -name secp521r1 -genkey"
erzeugt werden können
erzeugt werden können
* Mit `-name secp521r1` wird der zu verwendende Algorithmus (die zu verwendende Kurve, analog zur Länge für einen RSA-Schlüssel) festgelegt
* Mit `-name secp521r1` wird der zu verwendende Algorithmus (die zu verwendende Kurve, analog zur Länge für einen RSA-Schlüssel) festgelegt
Zeile 74: Zeile 80:
* Schlüssel aus elliptischen Kurven können mit geringerer Länge eine gleich gute Sicherheit wie RSA-Schlüssel bieten und sind deswegen deutlich schneller
* Schlüssel aus elliptischen Kurven können mit geringerer Länge eine gleich gute Sicherheit wie RSA-Schlüssel bieten und sind deswegen deutlich schneller


=== CSR erzeugen ===
==== CSR erzeugen ====
Als nächstes kann nun der CSR erzeugt werden
Als nächstes kann nun der CSR erzeugt werden
* Dieser beinhaltet keine sensiblen Daten und kann deshalb an einer beliebigen Stelle erstellt werden, wo man ihn später wieder findet
* Dieser beinhaltet keine sensiblen Daten und kann deshalb an einer beliebigen Stelle erstellt werden, wo man ihn später wieder findet
Zeile 105: Zeile 111:
  whBYbD1MOpsiG1Kj3xq4oeKCjI1oW0ZZcL0Y6bOGIpYlTuFbHzB5X14sEuX1lRnu
  whBYbD1MOpsiG1Kj3xq4oeKCjI1oW0ZZcL0Y6bOGIpYlTuFbHzB5X14sEuX1lRnu
  uHwkzHyKLHFwd450qmQzEpXE9+w3HhaJTJ3Qm5ta37HGuqjCFxJduliUOhtVPJyB
  uHwkzHyKLHFwd450qmQzEpXE9+w3HhaJTJ3Qm5ta37HGuqjCFxJduliUOhtVPJyB
  qoTOxB7DHESz7ICaLQAUUxhm3OG+Rea4FTo=
  qoTOxB7DHESz7ICaLQAUUxhm3OG+Rea4FTo==
  -----END CERTIFICATE-----
  -----END CERTIFICATE-----


Zeile 112: Zeile 118:
* Anschließend kann das Zertifikat vom Webserver eingebunden werden
* Anschließend kann das Zertifikat vom Webserver eingebunden werden


= privat signiertes Zertifikat =
== Privat signiertes Zertifikat ==
Wer Zertifikate über eine eigene CA signieren will, findet eine entsprechende Anleitung im Artikel [[CA]]
Wer Zertifikate über eine eigene CA signieren will, findet eine entsprechende Anleitung im Artikel [[CA]]


= Selbstsigniertes Zertifikat =
== Selbstsigniertes Zertifikat ==
== Paket ssl-cert ==
=== Paket ssl-cert ===
Ein selbstsigniertes Zertifikat inkl. Schlüssel erhält man am schnellsten über das Paket '''ssl-cert'''
Ein selbstsigniertes Zertifikat inkl. Schlüssel erhält man am schnellsten über das Paket '''ssl-cert'''
* Eine sehr gute Anleitung dazu findet sich im [[ssl-cert: Wiki]
* Eine sehr gute Anleitung dazu findet sich im [[ssl-cert: Wiki]
Zeile 123: Zeile 129:
* Daher müssen selbstsignierte Zertifikate erst im Browser heruntergeladen und über dauerhafte Ausnahmeregeln legitimiert werden
* Daher müssen selbstsignierte Zertifikate erst im Browser heruntergeladen und über dauerhafte Ausnahmeregeln legitimiert werden


= Links =
<noinclude>
== intern ==
 
== Anhang ==
=== Siehe auch ===
* [[ssl-cert]] - selbstsignierte Zertifikate erstellen
* [[ssl-cert]] - selbstsignierte Zertifikate erstellen
* [[CA]] - eigene Certification Authority betreiben
* [[CA]] - eigene Certification Authority betreiben
Zeile 130: Zeile 138:
* [[Apache/mod_ssl]] - Verwendung von TLS mit dem Webserver Apache
* [[Apache/mod_ssl]] - Verwendung von TLS mit dem Webserver Apache
* [[certspotter]] - Überwachung von SSL-Zertifikaten
* [[certspotter]] - Überwachung von SSL-Zertifikaten
{{Special:PrefixIndex/TLS}}
{{Special:PrefixIndex/SSL}}


== extern ==
==== Links ====
* [wikipedia:SSL-Verschlüsselung: SSL-Verschlüsselung]
===== Weblinks =====
* [https://certbot.eff.org certbot.eff.org] - Kostenlose Zertifikate von [https://letsencrypt.org Let's Encrypt]
# https://wiki.ubuntuusers.de/TLS-Zertifikate/
* [https://skrilnetz.net/how-to-get-free-ssl-certificates-on-ubuntu/ How to get free SSL certificates on Ubuntu with Let's Encrypt] - Gratis TLS-Zertifikate von Let's Encrypt
# [wikipedia:SSL-Verschlüsselung: SSL-Verschlüsselung]
* [https://misterunknown.de/de/getssl-letsencrypt-ohne-python-client Let's Encrypt mit getssl]
# [https://certbot.eff.org certbot.eff.org] - Kostenlose Zertifikate von [https://letsencrypt.org Let's Encrypt]
* [https://www.ssllabs.com/ssltest/ SSL Server Test] - Online-Prüfung, Qualys SSL Labs
# [https://skrilnetz.net/how-to-get-free-ssl-certificates-on-ubuntu/ How to get free SSL certificates on Ubuntu with Let's Encrypt] - Gratis TLS-Zertifikate von Let's Encrypt
* [github:nabla-c0d3/sslyze:SSLyze] - umfangreiche Testsuite für SSL-Server
# [https://misterunknown.de/de/getssl-letsencrypt-ohne-python-client Let's Encrypt mit getssl]
* [https://bettercrypto.org/static/applied-crypto-hardening.pdf Applied Crypto Hardening] {dl} - möglichst sichere TLS-Konfiguration (PDF)
# [https://www.ssllabs.com/ssltest/ SSL Server Test] - Online-Prüfung, Qualys SSL Labs
* [https://www.my-it-brain.de/wordpress/mein-tls-kochbuch/ TLS/SSL-Kochbuch -- Rezepte für die Verwendung von OpenSSL, HSTS und HPKP]
# [github:nabla-c0d3/sslyze:SSLyze] - umfangreiche Testsuite für SSL-Server
# [https://bettercrypto.org/static/applied-crypto-hardening.pdf Applied Crypto Hardening] {dl} - möglichst sichere TLS-Konfiguration (PDF)
# [https://www.my-it-brain.de/wordpress/mein-tls-kochbuch/ TLS/SSL-Kochbuch -- Rezepte für die Verwendung von OpenSSL, HSTS und HPKP]
</noinclude>

Aktuelle Version vom 12. Dezember 2024, 07:36 Uhr

TLS-Zertifikat

Beschreibung

Möglichkeiten zur Erlangung eines SSL- oder auch TLS-Zertifikates samt der Erzeugung des zugehörigen privaten Schlüssels

  • Ziel ist meist, Inhalte von einem Webserver (z. B. Apache) verschlüsselt über das Internet öffnen zu können

Zertifikate

Arten von Zertifikaten
Öffentlich signierte Zertifikate Offiziell gültiges Zertifikat, das über eine öffentliche CA signiert wurde
Privat signierte Zertifikate Über eine private (nicht öffentliche) CA signiert
Selbst signierte Zertifikate Signiert durch den eigenen privaten Schlüssel, nicht über eine CA

Für die Stärke bzw. der Verschlüsselung ist das gewählte Verfahren irrelevant

Der Unterschied liegt aber darin, dass ein öffentlich gültiges Zertifikat von einer offiziellen Zertifizierungsstelle ("Certificate Authority", CA) "unterschrieben" werden muss und anschließend in der Regel von allen gängigen Programmen (z. B. Browsern) anstandslos als vertrauenswürdig akzeptiert wird - da diese ein übergeordnetes Zertifikat der CA enthalten

Umgekehrt lässt sich für selbst signierte Zertifikate nicht prüfen, ob dem Aussteller vertraut werden kann oder nicht, und es werden entsprechende Warnungen bzw. Sicherheitsabfragen angezeigt

Privat signierte Zertifikate werden nur dann als vertrauenswürdig akzeptiert, falls das Zertifikat der verwendeten CA [[CA#CAhinzufuegen:nachträglich auf dem Client-Rechner installiert] wurde

Offiziell gültiges Zertifikat

Um ein offiziell gültiges Zertifikat zu erhalten, muss man im Besitz einer Domain sein

  • Für diese Domain wird das Zertifikat beantragt und ausgestellt
  • Bevor man ein Zertifikat erhält, wird diese Voraussetzung von der CA überprüft
  • Je nach CA und Typ des Zertifikats unterscheidet sich die Art dieser Überprüfung

Let's Encrypt

Eine sehr einfache und dazu kostenlose Variante, um mit Ubuntu an ein solches Zertifikat zu kommen, ist die Beantragung über die Zertifizierungsstelle Let's Encrypt

  • Voraussetzung für diese Methode ist, dass der Webserver bereits öffentliche HTTP-Anfragen auf die Domain beantwortet - es muss also unter anderem ein A-record im DNS existieren
  • Das Zertifikat ist nach der Ausstellung zunächst für drei Monate gültig
  • Die Verlängerung ist ebenfalls kostenlos und kann ganz einfach automatisiert werden

Die eigentliche "Bestellung" erfolgt über eines der Kommandozeilenprogramme direkt auf dem Webserver

certbot

Das Programm certbot vereinfacht die Erstellung und Administration von Let's Encrypt-Zertifikaten erheblich

getSSL

Alternativ kann die Einrichtung via getSSL erfolgen

  • Hierfür gibt es ein [[Howto/getssl: Howto] auf diesem Portal

andere CAs

Um ein Zertifikat von einer anderen CA anzufordern, muss ein "Certificate Signing Request" (CSR) erstellt werden

  • Voraussetzung hierfür ist wiederum ein privater Schlüssel

Privaten Schlüssel erzeugen

Der Schlüssel sollte immer auf eigens verwalteten Systemen erzeugt, gespeichert und niemals Dritten in die Hände gegeben werden - auch nicht der signierenden CA

Hinweis
Es gibt CAs, welche komplette Zertifikate inklusive privaten Schlüsseln selbst erstellen und diese z. T. sogar noch in ungesicherten E-Mails zusammen an den Empfänger verschicken
  • Um solche Anbieter sollte ein großer Bogen gemacht werden: Niemand kann garantieren, dass der private Schlüssel wirklich keinem Dritten in die Hände fällt, womit das komplette Vertrauensmodell und auch die Sicherheit der Verschlüsselung ausgehebelt werden

Im folgenden Beispiel soll der private Schlüssel als /etc/ssl/private/apache.key für den Apache Webserver erzeugt werden

  • Da normale Benutzer auf diesen Ordner keinen Zugriff haben, sollte zunächst ein Pseudo-Root-Terminal mittels
sudo -i

geöffnet werden

Der private Schlüssel wird nun mit dem folgenden Kommando erzeugt

openssl genrsa -out /etc/ssl/private/apache.key

Der private Schlüssel ist nicht durch eine Passphrase geschützt

  • Das ist notwendig, da Apache sonst bei jedem Neustart die manuelle Eingabe der Passphrase verlangen würde oder diese in der Konfiguration im Klartext hinterlegt werden müsste
Elliptischen Kurven Kryptografie

Als Schlüsselformat werden neben herkömmlichen RSA-Schlüsseln sogenannte EC-Schlüssel (elliptic curve = [wikipedia:Elliptische-Kurven-Kryptosystem:Elliptische Kurve]) unterstützt, welche mit dem Kommando

openssl ecparam -out /etc/ssl/private/apache.key -name secp521r1 -genkey"

erzeugt werden können

  • Mit `-name secp521r1` wird der zu verwendende Algorithmus (die zu verwendende Kurve, analog zur Länge für einen RSA-Schlüssel) festgelegt
  • Welche Kurven genutzt werden können, lässt sich mit dem Befehl
openssl ecparam -list_curves
abfragen
  • Aktuell sollten vorwiegend die Kurven `secp192r1`, `secp256k1`, `secp384r1` oder `secp521r1` verwendet werden, da diese in den meisten Standards vertreten sind und somit am weitesten verbreitet sein dürften
  • Schlüssel aus elliptischen Kurven können mit geringerer Länge eine gleich gute Sicherheit wie RSA-Schlüssel bieten und sind deswegen deutlich schneller

CSR erzeugen

Als nächstes kann nun der CSR erzeugt werden

  • Dieser beinhaltet keine sensiblen Daten und kann deshalb an einer beliebigen Stelle erstellt werden, wo man ihn später wieder findet
  • Im folgenden Beispiel wird der CSR im eigenen Heimatverzeichnis abgelegt
openssl req -new -key /etc/ssl/private/apache.key -out ~/apache.csr

Nach Bestätigen des Befehls mit der Eingabetaste werden noch einige Details zum Inhalt des Zertifikates abgefragt

  • Hier ist der Common Name am wichtigsten, denn hier muss der Domainname ([wikipedia:Domain_(Internet)#Fully_Qualified_Domain_Name_(FQDN): FQDN]) stehen, für welchen das Zertifikat eingesetzt werden soll (beispielsweise "meine-seite.de")

Wie mit dieser Datei zu verfahren ist, hängt von der jeweiligen CA ab und sollte auf deren Seiten erklärt sein

  • Es ist bspw. üblich, dass der Inhalt der CSR-Datei bei einer Zertifikatsbestellung in einem Browser-Fenster eingefügt werden muss
  • Nach erfolgreicher Verifizierung, dass man auch im Besitz der Domain ist, wird das Zertifikat ausgestellt
  • Dieses besteht - wie auch der private Schlüssel und der CSR - aus einer einfachen Text-Datei mit kryptischem Inhalt
Beispiel
-----BEGIN CERTIFICATE-----
MIIC5jCCAc6gAwIBAgIJALRqoODSYVNiMA0GCSqGSIb3DQEBCwUAMBwxGjAYBgNV
BAMMEWt1YnVudHUuZnJpdHouYm94MB4XDTE3MTEyNTE4MTIzNVoXDTI3MTEyMzE4
MTIzNVowHDEaMBgGA1UEAwwRa3VidW50dS5mcml0ei5ib3gwggEiMA0GCSqGSIb3
DQEBAQUAA4IOI5ISDLKHAoIBAQDTrT4T7vvmIhTLr/a+sQwogaUUCZbzqoeVytsz
GlCth3Y/P11zK3GVuwlX3ChMTkxUEYQ2ZavKVA1SHrthbUqOmbJp2zi5sDWxiJvp
IyFY4ydXuDwUlnFEMb9FfDSMLWno1N8V8ecNIKAhsqBTI9Dh9yGbBuyWnBEJqM32
tdTeciLKMK2I8ux96WoJtury6JqFAsfdwFsbwuNcGgqMT+FenN3LeI12qxoqyfX5
ZMGy2KGJNMYPyzo59LCBg0xvXrFKDgItO0c/5sDcWqNxiufp54JTiTAq0ZK6pWGY
I6RRamvSbMXqOb7qYRmkm8auENJLmCn5JCk65zwXAUScEqRzAgMBAAGjKzApMAkG
A1UdEwQCMAAwHAYDVR0RBBUwE4IRa3VidW50dS5mcml0ei5ib3gwDQYJKoZIhvcN
AQELBQADggEBAGmC7xH62zzJYE1EqqjK+aznHd1iT+90hnJyxqNaTgALUn6I4UFg
RIlUOmiqI9dgO9kcnfnbABSN4dEKWacgV9ZEH+4zatYJri4M7oxUi+PQ4kvY1Iw8
0MN5euI4IIwGXkUYJCG+WSqozDBA2oGcjsSfhrPYy658b05g1eTwaxyiKmQzGEqj
whBYbD1MOpsiG1Kj3xq4oeKCjI1oW0ZZcL0Y6bOGIpYlTuFbHzB5X14sEuX1lRnu
uHwkzHyKLHFwd450qmQzEpXE9+w3HhaJTJ3Qm5ta37HGuqjCFxJduliUOhtVPJyB
qoTOxB7DHESz7ICaLQAUUxhm3OG+Rea4FTo==
-----END CERTIFICATE-----

Die erste und letzte Zeile sind Teil der Zertifikatsdatei und dürfen nicht entfernt werden

  • Die Datei speichert man nun auf dem Server (z. B. unter /etc/ssl/certs/apache.crt)
  • Anschließend kann das Zertifikat vom Webserver eingebunden werden

Privat signiertes Zertifikat

Wer Zertifikate über eine eigene CA signieren will, findet eine entsprechende Anleitung im Artikel CA

Selbstsigniertes Zertifikat

Paket ssl-cert

Ein selbstsigniertes Zertifikat inkl. Schlüssel erhält man am schnellsten über das Paket ssl-cert

  • Eine sehr gute Anleitung dazu findet sich im [[ssl-cert: Wiki]

Selbstsignierte Zertifikate werden über entsprechende Warnhinweise prinzipiell als verdächtig bzw. unsicher eingestuft und der Client-Zugriff komplett blockiert

  • Daher müssen selbstsignierte Zertifikate erst im Browser heruntergeladen und über dauerhafte Ausnahmeregeln legitimiert werden


Anhang

Siehe auch

  • ssl-cert - selbstsignierte Zertifikate erstellen
  • CA - eigene Certification Authority betreiben
  • CAcert - Community, die kostenlose TLS-Zertifikate ausstellt
  • Apache/mod_ssl - Verwendung von TLS mit dem Webserver Apache
  • certspotter - Überwachung von SSL-Zertifikaten

Links

Weblinks
  1. https://wiki.ubuntuusers.de/TLS-Zertifikate/
  2. [wikipedia:SSL-Verschlüsselung: SSL-Verschlüsselung]
  3. certbot.eff.org - Kostenlose Zertifikate von Let's Encrypt
  4. How to get free SSL certificates on Ubuntu with Let's Encrypt - Gratis TLS-Zertifikate von Let's Encrypt
  5. Let's Encrypt mit getssl
  6. SSL Server Test - Online-Prüfung, Qualys SSL Labs
  7. [github:nabla-c0d3/sslyze:SSLyze] - umfangreiche Testsuite für SSL-Server
  8. Applied Crypto Hardening {dl} - möglichst sichere TLS-Konfiguration (PDF)
  9. TLS/SSL-Kochbuch -- Rezepte für die Verwendung von OpenSSL, HSTS und HPKP