Übersicht #
Dieser Artikel erklärt, wie eine häufig verwendete F5 BIG-IP iRule für das Einfügen von HTTP-Sicherheitsheadern migriert wird nach RELIANOID unter Verwendung nativer HTTP/S-Farmfunktionen.
Die folgende iRule fügt mehrere HTTP-Antwort-Sicherheitsheader ein:
Wenn HTTP_RESPONSE_RELEASE nicht existiert, wird der Header "X-XSS-Protection" mit dem Wert "1; mode=block" eingefügt. Falls der Header "Strict-Transport-Security" nicht existiert, wird der Header "Strict-Transport-Security" mit dem Wert "max-age=63072000; includeSubDomains; preload" eingefügt. Falls der Header "content-security-policy" nicht existiert, wird der Header "content-security-policy" mit dem Wert "frame-ancestors 'none'" eingefügt. Falls der Header "X-Content-Type-Options" nicht existiert, wird der Header "X-Content-Type-Options" eingefügt und die Meldung "nosniff" ausgegeben.
In RELIANOIDDiese Sicherheitskontrollen können direkt über die WebUI konfiguriert werden, ohne dass TCL-Skripte erforderlich sind.
HSTS (Strict-Transport-Security) aktivieren #
HSTS zwingt Browser, ausschließlich HTTPS-Verbindungen zu verwenden. Zu den Vorteilen gehören:
- Verhinderung von SSL-Stripping-Angriffen
- Erzwingen verschlüsselter Kommunikation
- Verbesserung der browserseitigen Transportsicherheit
Der folgende iRule-Abschnitt:
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
Kann direkt über die WebUI migriert werden.
Navigieren Sie zu: Farmen > HTTP/S-Farm > Dienste
Dann:
- Wählen Sie den gewünschten HTTP/S-Dienst aus.
- Aktivieren Sie den STS-Schalter.
Dadurch wird automatisch die Strict-Transport-Security Header in HTTPS-Antworten.
Konfiguration des X-XSS-Protection-Sicherheitsheaders #
Aktiviert die XSS-Filterung älterer Browser. Obwohl moderne Browser stärker auf CSP setzen, ist dieser Header für Kompatibilitätsszenarien weiterhin nützlich.
Navigieren Sie zu: Farmen > HTTP/S-Farm > Global > Erweitert > HeaderDann: Klicken Create rule. Wählen:
Typ: Response: Add header
Header: X-XSS-Protection
Wert: 1; mode=block
Konfigurieren des Content-Security-Policy-Sicherheitsheaders #
Steuert, wie Inhalte eingebettet und geladen werden können. Vorteile:
- Verhindert Clickjacking
- Beschränkt unautorisiertes Framing
- Verbessert die Browsersicherheit
Navigieren Sie zu: Farmen > HTTP/S-Farm > Global > Erweitert > HeaderDann: Klicken Create rule. Wählen:
Typ: Response: Add header
Header: Content-Security-Policy
Wert: frame-ancestors 'none'
Konfigurieren des X-Content-Type-Options-Sicherheitsheaders #
Verhindert das Auslesen von MIME-Typen durch Browser. Vorteile:
- Verhindert die Interpretation von Inhalten durch bösartige Personen
- Reduziert bestimmte Skript-Injektionsvektoren
Navigieren Sie zu: Farmen > HTTP/S-Farm > Global > Erweitert > HeaderDann: Klicken Create rule. Wählen:
Typ: Response: Add header
Header: X-Content-Type-Options
Wert: nosniff
Validierung #
Nach Anwendung der Konfiguration überprüfen Sie die Antwortheader mit folgendem Befehl:
curl -I https://
Erwartete Ausgabe:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload X-XSS-Protection: 1; mode=block Content-Security-Policy: frame-ancestors 'none' X-Content-Type-Options: nosniff
Problemlösung #
Header werden nicht angezeigt #
Überprüfen:
- Die Regeln werden auf den richtigen Bauernhof angewendet.
- HTTPS ist aktiviert für HSTS
- Header-Regeln sind wie folgt konfiguriert: Antwort Regeln
- Die Farmkonfiguration wurde angewendet/neu geladen.
Doppelte Header #
Wenn die Backend-Anwendung bereits Header einfügt, können Duplikate auftreten. Empfehlung:
- Entscheiden Sie, ob die Header von der Backend-Anwendung oder von einem anderen System verwaltet werden sollen. RELIANOID Farmkonfiguration
- Vermeiden Sie es, dieselben Header an beiden Stellen zu verwalten.
HSTS funktioniert nicht #
Dafür sorgen:
- Clients verbinden sich über HTTPS.
- Gültige SSL-Zertifikate sind installiert
- Browser testen nicht über HTTP
HSTS-Header werden bei Nicht-TLS-Verbindungen ignoriert.
Zusammenfassung #
F5 iRules, die für das Einfügen von HTTP-Sicherheitsheadern verwendet werden, können migriert werden zu RELIANOID Nutzung nativer HTTP/S-Farmfunktionen ohne TCL-Skripting.
Dieser Ansatz vereinfacht die Administration bei gleichzeitiger Aufrechterhaltung gleichwertiger Sicherheitsfunktionen.