tls.cert.weak_sig_alg
Schwacher Signaturalgorithmus (SHA-1/MD5)
Was wir prüfen
Wir untersuchen den Signaturalgorithmus des präsentierten Zertifikats. Zertifikate mit SHA-1- oder MD5-Signatur werden markiert — beide Hash-Algorithmen sind kryptografisch gebrochen und anfällig für Kollisionsangriffe.
Was dieses Ergebnis bedeutet
Das Zertifikat wurde mit SHA-1 oder MD5 signiert. Ein Angreifer mit ausreichenden Ressourcen könnte ein Zertifikat mit derselben Signatur fälschen und damit die Vertrauenskette untergraben.
Warum das wichtig ist
- Bekannte Schwachstellen. SHA-1-Kollisionen sind praktisch machbar (SHAttered-Angriff, 2017), MD5-Kollisionen bereits seit 2004. Ein gefälschtes Zertifikat wäre vom echten nicht zu unterscheiden.
- Branchenweite Abkehr. Große CAs stellen seit 2016 keine SHA-1-Zertifikate mehr aus; Browser lehnen sie seit 2017 ab. Trust-Stores phasen sie vollständig aus.
- Einfach zu beheben. Moderne CAs signieren standardmäßig mit SHA-256 — meist genügt es, das Zertifikat zu ersetzen.
So behebst du das
Prüfe den aktuellen Signaturalgorithmus:
openssl s_client -starttls smtp -connect mail.example.com:25 \ -servername mail.example.com 2>/dev/null | \ openssl x509 -noout -text | grep "Signature Algorithm"Beantrage ein neues Zertifikat. Jede moderne CA (auch Let's Encrypt) signiert standardmäßig mit SHA-256:
certbot certonly --standalone -d mail.example.com --force-renewalBei intern signierten Zertifikaten neu mit SHA-256 signieren:
openssl x509 -req -in server.csr -CA ca.pem -CAkey ca-key.pem \ -sha256 -days 365 -out server-new.pemNeu laden und prüfen:
systemctl reload postfix openssl s_client -starttls smtp -connect mail.example.com:25 \ -servername mail.example.com 2>/dev/null | \ openssl x509 -noout -text | grep "Signature Algorithm"Die Ausgabe sollte
sha256WithRSAEncryptionoderecdsa-with-SHA256zeigen.
So fließt es in die Bewertung ein
Ein schwacher Signaturalgorithmus kostet 10 Punkte in der TLS-Kategorie. Das vollständige Scoring-Modell steht in der Bewertungsmethodik.
Evidenzbeispiel
$ openssl s_client -starttls smtp -connect mail.example.com:25 \
-servername mail.example.com 2>/dev/null | \
openssl x509 -noout -text | grep "Signature Algorithm"
Signature Algorithm: sha1WithRSAEncryption ← schwach
Signature Algorithm: sha1WithRSAEncryption