231 SSL/TLS, Encryption und Hashing [1.5 PT]

Updated . Posted . Visible to the public.

Im Jahr 2022 ist beinahe der gesamte Traffic im Internet verschlüsselt. Das geschieht primär mit TLS. Da wir Webserver, Loadbalancer und sonstige Komponenten, die Verbindungen entgegennehmen, konfigurieren, liegt auch die TLS Konfiguration dieser Endpunkte in unserer Hand. Deswegen ist es entscheidend, ein gutes Verständnis davon zu haben, wie die Verschlüsselung des Traffics funktioniert.

Ziele

  • Du verstehst den Unterschied zwischen Symmetrischer und Asymmetrischer Verschlüsselung
  • Du weißt, für was Hashing eingesetzt wird und wo es bei Verschlüsselung zum Tragen kommt.
  • Du weißt, was eine Certificate Authority (CA) ist.
  • Du verstehst Certificate Trust Chains
  • Warum ist eine Chain of Trust notwendig?
  • Wo und wie beginnt die "Wurzel" bei der Chain of Trust?
  • Wie schützt uns Public Key Infrastructure for "Man In The Middle" Angriffen?
  • Wie validieren CAs, ob ein Certificate Signing Request signiert werden darf?
    • Welche Probleme können auftreten, wenn die Validierung ausgetrickst werden kann?
  • Du weißt, welches Verfahren eingesetzt wird, um zu überprüfen, ob ein Zertifikat wirklich von einer CA signiert ist.
  • Du weißt, wie du auf der CLI überprüfen kannst, ob ein Zertifikat zu einem Private Key gehört.
  • Du verstehst, wie ein Server Inhalte verschlüsseln kann, die dann ein Client entschlüsseln kann.
  • Du weißt wie ein Client seinen Schlüssel sicher zu einem Server übertragen kann
  • Du weißt, für was das Feld "Common Name" in einem SSL/TLS Zertifikat da ist.
  • Du weißt, für was das Feld "Subject Alternative Names" in einem SSL/TLS Zertifikat da ist.
  • Du kannst den TLS Handshake beschreiben.
  • Du verstehst Perfect Forward Secrecy (PFS) und kannst den Unterschied zum "normalen" Schlüsselaustausch erklären
  • Du kennst "Replay Attacks" und weißt was man tun kann, um diese zu verhindern.
  • Was sind die Unterschiede zwischen TLSv1.2 und TLSv1.3?
  • Du verstehst, was eine Cipher Suite ist, aus welchen Elementen sie besteht und warum das in der Praxis relevant ist.
  • Du kannst mit dem Namen Diffie-Hellmann etwas anfangen und weißt, warum das für die heutige Verschlüsselung entscheidend ist.
  • Du weißt, was Diffie-Hellmann mit PFS zu tun hat.
  • Du kennst TLS Session Resumption mit Session Tickets und weißt um die Vorteile und die Sicherheitsprobleme, die damit auftreten können.
    • Wie ist das mit TLSv1.3 gelöst?
  • Du weißt, wie du eine Webseite auf die Sicherheit der SSL Konfiguration testen kannst.
  • Du kennst Certificate Transparency logs und weißt wofür das gut ist.
  • Du weißt, was SNI ist und warum es lange Zeit gedauert hat, bis es häufig konfiguriert wurde.

Inhalte

Aufgaben

  1. Gehe auf www.makandra.de und finde heraus, wie du dir in deinem Webbrowser das SSL-Zertifikat anzeigen lassen kannst.
  2. Zeichne eine Beispielgrafik wie die Chain of Trust beim makandra SSL Zertifikat funktioniert. Finde heraus, wie du die Informationen zu dem Zertifikat von https://www.makandra.de erhalten kannst.
  3. Basierend auf der vorherigen Aufgabe: Welcher Schlüssel signiert was? Welcher Public Key, welcher Private Key und von welcher Stelle signiert was?
  4. Schau dir crt.sh Show archive.org snapshot an. Was kannst du hier herausfinden? Wie ist es möglich, dass die Informationen dort vorliegen?
  5. Teste makandra.de auf SSL Labs Show archive.org snapshot . Schau dir das Testergebnis an und verstehe welche Ergebnisse dir angezeigt werden. Schau dir zum vergleich zz_api.abus-server.com an. Sprich mit deinem Mentor über die Testergebnisse
  6. Schau dir Security/Server Side TLS Show archive.org snapshot an und erkläre deinem Mentor was dieser Wiki Artikel beinhaltet und welche Abwägungen man beim Betrieb eines Webservers treffen muss.
Claus-Theodor Riegg
Last edit
Claus-Theodor Riegg
License
Source code in this card is licensed under the MIT License.
Posted by Claus-Theodor Riegg to DevOps Curriculum (2022-11-08 13:43)