tls.cert.self_signed
Selbstsigniertes Zertifikat
Was wir prüfen
Wir validieren die präsentierte Zertifikatskette gegen ein fest eingebettetes Bundle vertrauenswürdiger Root-CAs. Als selbstsigniert gilt ein Zertifikat, wenn Aussteller und Inhaber identisch sind und keine vertrauenswürdige Zertifizierungsstelle dafür bürgt.
Was dieses Ergebnis bedeutet
Der Server präsentiert ein Zertifikat, das er selbst signiert hat — keine Zertifizierungsstelle hat die Identität des Betreibers geprüft. Ein selbstsigniertes Zertifikat kann jeder für jeden beliebigen Hostnamen erzeugen: Es liefert Verschlüsselung, aber keine Authentifizierung.
Warum das wichtig ist
- Keine Identitätsprüfung. Absender können nicht sicher sein, mit dem legitimen Mailserver zu sprechen statt mit einem Angreifer. TLS ohne Authentifizierung ist anfällig für aktive Man-in-the-Middle-Angriffe.
- Richtlinienfehler. Absender mit MTA-STS oder DANE verweigern die Zustellung an ein selbstsigniertes Zertifikat. Auch ohne strikte Richtlinien protokollieren oder markieren manche Absender solche Zertifikate.
- Kostenlose Alternativen. Let's Encrypt und andere ACME-CAs stellen domainvalidierte Zertifikate kostenlos aus — es gibt keinen praktischen Grund, auf einem Produktions-Mailserver selbstsigniert zu fahren.
So behebst du das
Installiere ein CA-signiertes Zertifikat. Der einfachste Weg ist Let's Encrypt mit certbot:
# Certbot installieren (Debian/Ubuntu) apt install certbot # Zertifikat beziehen (Standalone-HTTP-Challenge) certbot certonly --standalone -d mail.example.com # Oder DNS-Challenge, wenn Port 80 nicht verfügbar ist certbot certonly --manual --preferred-challenges dns -d mail.example.comKonfiguriere den Mailserver auf das neue Zertifikat. Für Postfix:
# /etc/postfix/main.cf smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.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 -issuerAls Aussteller sollte jetzt eine anerkannte CA erscheinen, nicht der Server selbst.
Aktiviere die automatische Erneuerung — certbots systemd-Timer macht das standardmäßig; kontrolliere, dass er aktiv ist.
So fließt es in die Bewertung ein
Ein selbstsigniertes Zertifikat kostet 20 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 -subject -issuer
subject=CN = mail.example.com
issuer=CN = mail.example.com ← Aussteller == Inhaber: selbstsigniert