Oversigt #
Denne artikel forklarer, hvordan man migrerer en almindelig F5 BIG-IP iRule, der bruges til indsættelse af HTTP-sikkerhedsheadere, til RELIANOID ved hjælp af native HTTP/S-farmfunktioner.
Følgende iRule indsætter adskillige HTTP-svarsikkerhedsheadere:
når HTTP_RESPONSE_RELEASE { hvis {!([ HTTP::header findes "X-XSS-Protection"])} { HTTP::header indsæt "X-XSS-Protection" "1; mode=block" } hvis { !([ HTTP::header findes "Strict-Transport-Security" ])} { HTTP::header indsæt "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload" } hvis { !([ HTTP::header findes "content-security-policy" ])} { HTTP::header indsæt "content-security-policy" "frame-ancestors 'none'" } hvis {!([ HTTP::header findes "X-Content-Type-Options" ])} { HTTP::header indsæt "X-Content-Type-Options" nosniff } }
In RELIANOID, kan disse sikkerhedskontroller konfigureres direkte via WebUI uden at kræve TCL-scripting.
Aktivering af HSTS (Strict-Transport-Security) #
HSTS tvinger browsere til kun at bruge HTTPS-forbindelser. Fordelene inkluderer:
- Forebyggelse af SSL-strippingsangreb
- Håndhævelse af krypteret kommunikation
- Forbedring af browsersidetransportsikkerhed
Følgende iRule-sektion:
HTTP::header indsæt "Strict-Transport-Security" "max-age=63072000; includeSubDomains; forudindlæs"
Kan migreres direkte via WebUI.
Naviger til: Gårde > HTTP/S-gård > Tjenester
Derefter:
- Vælg den ønskede HTTP/S-tjeneste
- Aktivér STS-kontakten
Dette indsprøjter automatisk Strict-Transport-Security header i HTTPS-svar.
Konfiguration af X-XSS-Protection sikkerhedsheader #
Aktiverer XSS-filtrering i ældre browsere. Selvom moderne browsere er mere afhængige af CSP, er denne header stadig nyttig til kompatibilitetsscenarier.
Naviger til: Gårde > HTTP/S-gård > Global > Avanceret > HeadereDerefter: Klik Create ruleVælg:
Type: Response: Add header
header: X-XSS-Protection
Værdi: 1; mode=block
Konfiguration af sikkerhedsheader for indholdssikkerhedspolitik #
Styrer, hvordan indhold kan integreres og indlæses. Fordele:
- Forhindrer clickjacking
- Begrænser uautoriseret indramning
- Forbedrer browserens sikkerhedstilstand
Naviger til: Gårde > HTTP/S-gård > Global > Avanceret > HeadereDerefter: Klik Create ruleVælg:
Type: Response: Add header
header: Content-Security-Policy
Værdi: frame-ancestors 'none'
Konfiguration af sikkerhedsheaderen X-Content-Type-Options #
Forhindrer MIME-sniffing af browsere. Fordele:
- Forhindrer fortolkning af ondsindet indhold
- Reducerer visse scriptinjektionsvektorer
Naviger til: Gårde > HTTP/S-gård > Global > Avanceret > HeadereDerefter: Klik Create ruleVælg:
Type: Response: Add header
header: X-Content-Type-Options
Værdi: nosniff
Validering #
Efter at have anvendt konfigurationen, valider svarheadere ved hjælp af:
krølle -I https://
Forventet output:
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
Fejlfinding #
Overskrifter vises ikke #
Verificere:
- Reglerne anvendes på den korrekte gård
- HTTPS er aktiveret til HSTS
- Headerregler er konfigureret som Respons regler
- Gårdkonfigurationen er blevet anvendt/genindlæst
Duplikerede overskrifter #
Hvis backend-applikationen allerede indsætter headere, kan der forekomme dubletter. Anbefaling:
- Beslut om headere skal administreres af backend-applikationen eller af RELIANOID gårdkonfiguration
- Undgå at administrere de samme overskrifter begge steder.
HSTS virker ikke #
den sikre:
- Klienter opretter forbindelse via HTTPS
- Gyldige SSL-certifikater er installeret
- Browsere tester ikke via HTTP
HSTS-headere ignoreres på ikke-TLS-forbindelser.
Resumé #
F5 iRules, der bruges til indsættelse af HTTP-sikkerhedsheadere, kan migreres til RELIANOID bruger native HTTP/S-farmfunktioner uden TCL-scripting.
Denne tilgang forenkler administrationen, samtidig med at den opretholder en tilsvarende sikkerhedsfunktionalitet.