TLS-Konfigurationen im direkten Vergleich — aus einer FiSi-Weiterbildung.
Dieselbe statische Seite, dreimal ausgeliefert — jedes Mal mit anderem Sicherheitsniveau. Ideal, um in der Praxis zu sehen und im Terminal nachzumessen, was der Unterschied zwischen „Klartext-HTTP", „TLS mit Defaults" und „gehärtetem HTTPS" konkret ausmacht.
| Version | Was sie zeigt | Zertifikat |
|---|---|---|
| insecure | Reines HTTP auf Port 80. Kein TLS. | Keins |
| basic-tls | HTTPS mit Nginx-Defaults, keine Cipher-Härtung. | Let's Encrypt DV |
| hardened | Nur moderne TLS-Protokolle, ausgewählte Cipher-Suites, HSTS, Security-Header. | Let's Encrypt DV |
Alle Befehle sind für Linux/macOS. Auf Klick auf copy landen sie in der Zwischenablage.
curl -sI http://insecure.ebrus-lab.de curl -sI https://basic-tls.ebrus-lab.de curl -sI https://hardened.ebrus-lab.de
Achte auf Unterschiede bei strict-transport-security, content-security-policy, x-frame-options und ähnlichen Headern.
echo | openssl s_client -connect basic-tls.ebrus-lab.de:443 -servername basic-tls.ebrus-lab.de 2>/dev/null | grep -E 'Protocol|Cipher' echo | openssl s_client -connect hardened.ebrus-lab.de:443 -servername hardened.ebrus-lab.de 2>/dev/null | grep -E 'Protocol|Cipher'
Bei basic-tls zeigt sich, was Nginx im Default aushandelt. Bei hardened siehst du die bewusst ausgewählte Suite.
openssl s_client -connect basic-tls.ebrus-lab.de:443 -tls1_1 2>&1 | grep -E 'Protocol|handshake failure' openssl s_client -connect hardened.ebrus-lab.de:443 -tls1_1 2>&1 | grep -E 'Protocol|handshake failure'
handshake failure ist das, was du sehen willst — der Server lehnt das alte Protokoll ab.
echo | openssl s_client -connect basic-tls.ebrus-lab.de:443 -servername basic-tls.ebrus-lab.de 2>/dev/null | openssl x509 -noout -subject -issuer -dates
Zeigt Subject, Issuer und Gültigkeit. Für den vollen X.509-Dump: | openssl x509 -noout -text anhängen.
curl -sIL http://basic-tls.ebrus-lab.de | grep -E 'HTTP|Location'