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

So behebst du das

  1. 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.com
    
  2. Konfiguriere 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.pem
    
  3. Neu 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 -issuer
    

    Als Aussteller sollte jetzt eine anerkannte CA erscheinen, nicht der Server selbst.

  4. 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

Referenzen