Migrating F5 iRules Security Headers to RELIANOID Farms Configuration

View Categories

Migrating F5 iRules Security Headers to RELIANOID Farms Configuration

3 min read

Overview #

This article explains how to migrate a common F5 BIG-IP iRule used for HTTP security header insertion into RELIANOID using native HTTP/S farm features.

The following iRule injects several HTTP response security headers:

when HTTP_RESPONSE_RELEASE {

    if {!([ HTTP::header exists "X-XSS-Protection"])} {
        HTTP::header insert "X-XSS-Protection" "1; mode=block"
    }

    if { !([ HTTP::header exists "Strict-Transport-Security" ])} {
        HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
    }

    if { !([ HTTP::header exists "content-security-policy" ])} {
        HTTP::header insert "content-security-policy" "frame-ancestors 'none'"
    }

    if {!([HTTP::header exists "X-Content-Type-Options" ])} {
        HTTP::header insert "X-Content-Type-Options" nosniff
    }
}

In RELIANOID, these security controls can be configured directly through the WebUI without requiring TCL scripting.

Enabling HSTS (Strict-Transport-Security) #

HSTS forces browsers to use HTTPS connections only. Benefits include:

  • Preventing SSL stripping attacks
  • Enforcing encrypted communications
  • Improving browser-side transport security

The following iRule section:

HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"

Can be migrated directly through the WebUI.

Navigate to: Farms > HTTP/S Farm > Services

Then:

  • Select the desired HTTP/S service
  • Enable the STS switch

This automatically injects the Strict-Transport-Security header into HTTPS responses.

Configuring X-XSS-Protection Security Header #

Enables legacy browser XSS filtering. Although modern browsers rely more heavily on CSP, this header is still useful for compatibility scenarios.

Navigate to: Farms > HTTP/S Farm > Global > Advanced > Headers. Then: Click Create rule. Select:

Type: Response: Add header
Header: X-XSS-Protection
Value: 1; mode=block

Configuring Content-Security-Policy Security Header #

Controls how content can be embedded and loaded. Benefits:

  • Prevents clickjacking
  • Restricts unauthorized framing
  • Improves browser security posture

Navigate to: Farms > HTTP/S Farm > Global > Advanced > Headers. Then: Click Create rule. Select:

Type: Response: Add header
Header: Content-Security-Policy
Value: frame-ancestors 'none'

Configuring X-Content-Type-Options Security Header #

Prevents MIME sniffing by browsers. Benefits:

  • Prevents malicious content interpretation
  • Reduces certain script injection vectors

Navigate to: Farms > HTTP/S Farm > Global > Advanced > Headers. Then: Click Create rule. Select:

Type: Response: Add header
Header: X-Content-Type-Options
Value: nosniff

Validation #

After applying the configuration, validate response headers using:

curl -I https://<Farm VIP>

Expected 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

Troubleshooting #

Headers Not Appearing #

Verify:

  • Rules are applied to the correct farm
  • HTTPS is enabled for HSTS
  • Header rules are configured as Response rules
  • Farm configuration has been applied/reloaded

Duplicate Headers #

If the backend application already injects headers, duplicates may appear. Recommendation:

  • Decide whether headers should be managed by the Backend application or by RELIANOID farm configuration
  • Avoid managing the same headers in both places.

HSTS Not Working #

Ensure:

  • Clients connect via HTTPS
  • Valid SSL certificates are installed
  • Browsers are not testing via HTTP

HSTS headers are ignored on non-TLS connections.

Summary #

F5 iRules used for HTTP security header insertion can be migrated to RELIANOID using native HTTP/S farm features without TCL scripting.

This approach simplifies administration while maintaining equivalent security functionality.

📄 Download this document in PDF format #

    EMAIL: *

    Powered by BetterDocs