Marché #
Cet article explique comment migrer une iRule F5 BIG-IP courante utilisée pour l'insertion d'en-têtes de sécurité HTTP vers RELIANOID Utilisation des fonctionnalités natives de la ferme HTTP/S.
La règle iRule suivante injecte plusieurs en-têtes de sécurité dans la réponse HTTP :
Lors de la réponse HTTP (HTTP_RESPONSE_RELEASE) : si l'en-tête HTTP « X-XSS-Protection » n'est pas présent, il est inséré avec la valeur « 1 ; mode=block ». Si l'en-tête HTTP « Strict-Transport-Security » n'est pas présent, il est inséré avec les paramètres suivants : « max-age=63072000 ; includeSubDomains ; preload ». Si l'en-tête HTTP « content-security-policy » n'est pas présent, il est inséré avec la valeur « frame-ancestors 'none' ». Si l'en-tête HTTP « X-Content-Type-Options » n'est pas présent, il est inséré avec la valeur « nosniff ».
In RELIANOIDCes contrôles de sécurité peuvent être configurés directement via l'interface Web sans nécessiter de script TCL.
Activation du HSTS (Strict-Transport-Security) #
HSTS oblige les navigateurs à utiliser exclusivement les connexions HTTPS. Ses avantages sont les suivants :
- Prévention des attaques de suppression de certificats SSL
- Imposer le chiffrement des communications
- Amélioration de la sécurité du transport côté navigateur
La section iRule suivante :
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
La migration peut être effectuée directement via l'interface Web.
Accédez à : Fermes > Ferme HTTP/S > Services
Puis:
- Sélectionnez le service HTTP/S souhaité
- Activez le commutateur STS
Cela injecte automatiquement le Strict-Transport-Security en-tête dans les réponses HTTPS.
Configuration de l'en-tête de sécurité X-XSS-Protection #
Active le filtrage XSS pour les navigateurs hérités. Bien que les navigateurs modernes s'appuient davantage sur la CSP, cet en-tête reste utile pour des raisons de compatibilité.
Accédez à: Fermes > Ferme HTTP/S > Global > Avancé > En-têtesEnsuite : cliquez Create rule. Sélectionner:
Catégorie: Response: Add header
Entête: X-XSS-Protection
Valeur Relative (RV): 1; mode=block
Configuration de l'en-tête de sécurité Content-Security-Policy #
Contrôle la manière dont le contenu peut être intégré et chargé. Avantages :
- Empêche le détournement de clic
- Restreint l'encadrement non autorisé
- Améliore la sécurité du navigateur
Accédez à: Fermes > Ferme HTTP/S > Global > Avancé > En-têtesEnsuite : cliquez Create rule. Sélectionner:
Catégorie: Response: Add header
Entête: Content-Security-Policy
Valeur Relative (RV): frame-ancestors 'none'
Configuration de l'en-tête de sécurité X-Content-Type-Options #
Empêche la détection des identifiants MIME par les navigateurs. Avantages :
- Empêche l'interprétation de contenu malveillant
- Réduit certains vecteurs d'injection de scripts
Accédez à: Fermes > Ferme HTTP/S > Global > Avancé > En-têtesEnsuite : cliquez Create rule. Sélectionner:
Catégorie: Response: Add header
Entête: X-Content-Type-Options
Valeur Relative (RV): nosniff
Validation #
Après avoir appliqué la configuration, validez les en-têtes de réponse à l'aide de :
curl -I https://
Production attendue:
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
Dépannage #
En-têtes non affichés #
Vérifier:
- Les règles s'appliquent à la ferme appropriée.
- HTTPS est activé pour HSTS
- Les règles d'en-tête sont configurées comme Réponse
- La configuration de la ferme a été appliquée/rechargée.
En-têtes dupliqués #
Si l'application backend injecte déjà des en-têtes, des doublons peuvent apparaître. Recommandation :
- Décidez si les en-têtes doivent être gérés par l'application backend ou par RELIANOID configuration de la ferme
- Évitez de gérer les mêmes en-têtes aux deux endroits.
HSTS ne fonctionne pas #
Ensure:
- Les clients se connectent via HTTPS
- Des certificats SSL valides sont installés.
- Les navigateurs ne testent pas via HTTP.
Les en-têtes HSTS sont ignorés sur les connexions non TLS.
Résumé #
Les iRules F5 utilisées pour l'insertion d'en-têtes de sécurité HTTP peuvent être migrées vers RELIANOID Utilisation des fonctionnalités natives de la ferme HTTP/S sans script TCL.
Cette approche simplifie l'administration tout en maintenant des fonctionnalités de sécurité équivalentes.