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:
parent
a2bce25424
commit
0fc2d8808b
10 changed files with 299 additions and 25 deletions
|
|
@ -63,15 +63,16 @@ func buildBackends(cfg *config.Config) (*opnsense.Client, *auth.AD, error) {
|
|||
return nil, nil, err
|
||||
}
|
||||
ad, err := auth.NewAD(auth.Options{
|
||||
Servers: cfg.AD.Servers,
|
||||
Port: cfg.AD.Port,
|
||||
TLSMode: cfg.AD.TLSMode,
|
||||
BaseDN: cfg.EffectiveBaseDN(),
|
||||
BindUser: cfg.AD.BindUser,
|
||||
BindPassword: cfg.AD.BindPassword,
|
||||
VPNGroup: cfg.AD.VPNGroup,
|
||||
CAFile: cfg.AD.CAFile,
|
||||
Timeout: time.Duration(cfg.AD.Timeout),
|
||||
Servers: cfg.AD.Servers,
|
||||
Port: cfg.AD.Port,
|
||||
TLSMode: cfg.AD.TLSMode,
|
||||
BaseDN: cfg.EffectiveBaseDN(),
|
||||
BindUser: cfg.AD.BindUser,
|
||||
BindPassword: cfg.AD.BindPassword,
|
||||
VPNGroup: cfg.AD.VPNGroup,
|
||||
CAFile: cfg.AD.CAFile,
|
||||
MinTLSVersion: auth.ParseTLSVersion(cfg.AD.MinTLSVersion),
|
||||
Timeout: time.Duration(cfg.AD.Timeout),
|
||||
})
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue