Resumen #
Este artículo explica cómo migrar una iRule común de F5 BIG-IP utilizada para la inserción de encabezados de seguridad HTTP en RELIANOID utilizando las funciones nativas de la granja HTTP/S.
La siguiente iRule inyecta varios encabezados de seguridad de respuesta HTTP:
cuando HTTP_RESPONSE_RELEASE { si {!([ HTTP::header existe "X-XSS-Protection"])} { HTTP::header insert "X-XSS-Protection" "1; mode=block" } si { !([ HTTP::header existe "Strict-Transport-Security" ])} { HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload" } si { !([ HTTP::header existe "content-security-policy" ])} { HTTP::header insert "content-security-policy" "frame-ancestors 'none'" } si {!([HTTP::header existe "X-Content-Type-Options" ])} { HTTP::header insert "X-Content-Type-Options" nosniff } }
In RELIANOIDEstos controles de seguridad se pueden configurar directamente a través de la interfaz web sin necesidad de utilizar scripts TCL.
Habilitación de HSTS (Seguridad de transporte estricta) #
HSTS obliga a los navegadores a usar únicamente conexiones HTTPS. Entre sus ventajas se incluyen:
- Prevención de ataques de eliminación de SSL
- Aplicación de comunicaciones cifradas
- Mejorar la seguridad del transporte del lado del navegador.
La siguiente sección de iRule:
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
Se puede migrar directamente a través de la interfaz web.
Navegue a: Granjas > Granja HTTP/S > Servicios
Entonces:
- Seleccione el servicio HTTP/S deseado.
- Habilitar el interruptor STS
Esto inyecta automáticamente el Strict-Transport-Security encabezado en las respuestas HTTPS.
Configuración del encabezado de seguridad X-XSS-Protection #
Permite el filtrado XSS en navegadores antiguos. Aunque los navegadores modernos dependen en mayor medida de CSP, este encabezado sigue siendo útil para escenarios de compatibilidad.
Vaya a: Granjas > Granja HTTP/S > Global > Avanzado > Encabezados. Luego: Haga clic Create rule. Seleccionar:
Tipo: Response: Add header
Encabezamiento: X-XSS-Protection
Valor: 1; mode=block
Configuración del encabezado de seguridad Content-Security-Policy #
Controla cómo se puede incrustar y cargar el contenido. Beneficios:
- Evita el clickjacking
- Restringe la creación de marcos no autorizados.
- Mejora la postura de seguridad del navegador
Vaya a: Granjas > Granja HTTP/S > Global > Avanzado > Encabezados. Luego: Haga clic Create rule. Seleccionar:
Tipo: Response: Add header
Encabezamiento: Content-Security-Policy
Valor: frame-ancestors 'none'
Configuración del encabezado de seguridad X-Content-Type-Options #
Evita que los navegadores detecten el tipo MIME. Beneficios:
- Evita la interpretación de contenido malicioso
- Reduce ciertos vectores de inyección de scripts
Vaya a: Granjas > Granja HTTP/S > Global > Avanzado > Encabezados. Luego: Haga clic Create rule. Seleccionar:
Tipo: Response: Add header
Encabezamiento: X-Content-Type-Options
Valor: nosniff
de calidad #
Después de aplicar la configuración, valide los encabezados de respuesta utilizando:
curl -I https://
Rendimiento esperado:
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
Localización de averías #
Los encabezados no aparecen #
Verificar:
- Las reglas se aplican a la granja correcta.
- HTTPS está habilitado para HSTS
- Las reglas de encabezado están configuradas como Respuesta reglas
- Se ha aplicado/recargado la configuración de la granja.
Encabezados duplicados #
Si la aplicación de backend ya inyecta encabezados, pueden aparecer duplicados. Recomendación:
- Decida si los encabezados deben ser gestionados por la aplicación Backend o por RELIANOID configuración de la granja
- Evite gestionar los mismos encabezados en ambos lugares.
HSTS no funciona #
Asegurar:
- Los clientes se conectan a través de HTTPS.
- Se han instalado certificados SSL válidos.
- Los navegadores no realizan pruebas a través de HTTP.
Las cabeceras HSTS se ignoran en las conexiones que no utilizan TLS.
Resumen #
Las iRules de F5 utilizadas para la inserción de encabezados de seguridad HTTP se pueden migrar a RELIANOID Utilizar las funciones nativas de la granja HTTP/S sin usar scripts TCL.
Este enfoque simplifica la administración al tiempo que mantiene una funcionalidad de seguridad equivalente.