fix(security): W-02 Secure-Cookie-Flag + W-03 TrustedProxies für X-Forwarded-For
W-02: Cookie Secure-Flag ist nun über config.yml steuerbar.
api.secure_cookies: true/false — default false (kein Breaking Change).
Alle 3 SetCookie-Aufrufe (Login, Logout, TOTP) nutzen s.cfg.SecureCookies.
W-03: remoteIP() ist jetzt eine Methode und prüft api.trusted_proxies.
X-Forwarded-For wird nur ausgewertet wenn der direkte Peer in der
trusted_proxies-Liste steht (IP oder CIDR). Sonst wird r.RemoteAddr
verwendet — kein Spoofing mehr möglich.
Neue Hilfsfunktion: isTrustedProxy(ip, proxies).
config.go: APIConfig um SecureCookies bool + TrustedProxies []string erweitert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+8
-2
@@ -9,8 +9,14 @@ import (
|
||||
|
||||
// APIConfig holds configuration for the HTTP API server.
|
||||
type APIConfig struct {
|
||||
Bind string `yaml:"bind"`
|
||||
Secret string `yaml:"secret"`
|
||||
Bind string `yaml:"bind"`
|
||||
Secret string `yaml:"secret"`
|
||||
// SecureCookies sets the Secure flag on session cookies.
|
||||
// Enable when TLS is terminated at this server or at a trusted reverse proxy.
|
||||
SecureCookies bool `yaml:"secure_cookies"`
|
||||
// TrustedProxies is a list of IP addresses or CIDR ranges whose
|
||||
// X-Forwarded-For header is trusted. Empty = trust no proxy (use r.RemoteAddr).
|
||||
TrustedProxies []string `yaml:"trusted_proxies"`
|
||||
}
|
||||
|
||||
// Config is the full application configuration loaded from YAML.
|
||||
|
||||
Reference in New Issue
Block a user