Zertifikate und Vertrauen
Lektion 40 von 47 im Kurs Netzwerken mit dem Terminal von Coddy.
Während des Handshakes präsentiert der Server ein Zertifikat: ein Dokument, aus dem hervorgeht, für welchen Host es bestimmt ist, wann es abläuft und wer dafür bürgt.
Jeder kann eines erstellen und behaupten, es gelte für einen beliebigen Host – entscheidend ist also die Signatur. Zertifikate werden von einer Zertifizierungsstelle signiert, und dein Rechner wird mit einer Liste von Zertifizierungsstellen ausgeliefert, denen er vertraut:
ls -l /etc/ssl/certs/ca-certificates.crtDein Client prüft drei Dinge: dass das Zertifikat von einer Zertifizierungsstelle aus dieser Liste signiert wurde, dass es noch nicht abgelaufen ist und dass der darauf angegebene Name mit dem Host übereinstimmt, den du angefordert hast. Wenn auch nur eine dieser Prüfungen fehlschlägt, wird die Verbindung beendet.
Diese letzte Prüfung ist der Grund, warum ein internes, über seine IP-Adresse erreichbares Dienst oft fehlschlägt, selbst wenn das Zertifikat gültig ist: Das Zertifikat gilt für einen Namen, du hast aber eine Zahl angegeben.
Aufgabe
MittelFinde die Liste der Zertifizierungsstellen, denen deine Maschine vertraut.
Überprüfe, ob das CA-Bundle unter /etc/ssl/certs/ca-certificates.crt vorhanden ist, und gib ca bundle present aus, wenn dies der Fall ist, oder missing, wenn nicht.
Erwartete Ausgabe:
ca bundle presentJede von dir hergestellte TLS-Verbindung wird anhand dieser Datei überprüft.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Netzwerken mit dem Terminal
2Namen und DNS
Warum Namen existierenDie Hosts-DateiEinen Namen nachschlagenRecord-TypenRückblick: Namen5HTTP von Hand
Anatomie einer AnfrageAnfragemethodenStatuscodesAntwort-HeaderEine Antwort schreibenRückblick: HTTP-Grundlagen8HTTPS und TLS
Warum HTTPSDas Schema legt den Port festZertifikate und VertrauenWenn TLS scheitertRückblick: HTTPSÜbe selbstständig: Terminal-Playground