feat(auth): konfigurierbare TLS-Mindestversion fuer den Verzeichnisdienst

Domain Controller auf Windows Server 2012 R2 koennen TLS 1.2 per Registry
deaktiviert haben. ad.min_tls_version (Default 1.2) erlaubt es, fuer solche
Altsysteme auf 1.0/1.1 herunterzugehen; das Portal warnt dann bei jedem Start.

Die Zertifikatspruefung bleibt in jedem Fall aktiv — fuer LDAP gibt es
weiterhin keine Insecure-Option. Im Legacy-Modus kommen lediglich die
CBC-SHA256-Suiten hinzu, die Go als unsicher einstuft; RC4, 3DES und Suiten
ohne Forward Secrecy werden nie angeboten.

README dokumentiert zusaetzlich die beiden anderen 2012-R2-Stolpersteine:
SHA-1-signierte DC-Zertifikate (seit Go 1.24 nicht mehr umgehbar) und
RSA-Schluesselaustausch (nur ueber GODEBUG=tlsrsakex=1).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBHF4R9EAejDJUMdwr6C68
This commit is contained in:
Carsten Abele 2026-08-14 13:18:24 +02:00
parent a2bce25424
commit 0fc2d8808b
10 changed files with 299 additions and 25 deletions

View file

@ -76,6 +76,15 @@ ad:
# port: 636
# tls_mode: "ldaps"
# Niedrigste akzeptierte TLS-Version zum Verzeichnisdienst.
# Default 1.2. Erlaubt: 1.0, 1.1, 1.2, 1.3.
#
# Nur herabsetzen, wenn die Domain Controller nachweislich kein TLS 1.2
# können (z. B. Windows Server 2012 R2 mit deaktiviertem TLS 1.2). Das
# Portal warnt dann bei jedem Start. Die Zertifikatsprüfung bleibt in jedem
# Fall aktiv — die lässt sich für LDAP bewusst nicht abschalten.
# min_tls_version: "1.2"
# Unprivilegierter Domain-Benutzer genügt — er muss nur lesen dürfen.
bind_user: "svc-vpnportal@firma.local"
bind_password: "BITTE-ERSETZEN"