Migration des restrictions de taille de chargement des iRules F5 vers RELIANOID

Voir les catégories

Migration des restrictions de taille de chargement des iRules F5 vers RELIANOID

3 min de lecture

Marché #

Cet article explique comment migrer une iRule F5 BIG-IP utilisée pour limiter la taille des chargements HTTP vers RELIANOID en utilisant l'intégration WAF (pare-feu d'application Web) répondent parfaitement à vos attentes. ModSecurity et OWASP CRS.

La règle iRule d'origine vérifie :

  • Méthode HTTP (POST)
  • Content-Length entête

Et bloque les téléchargements de plus de 200 MB avec un HTTP 413 Payload Too Large réponse.

iRule F5 d'origine #

when HTTP_REQUEST { if { [HTTP::method] eq "POST" } { set content_length [HTTP::header "Content-Length"] if { $content_length ne "" && $content_length > 200000000 } { # Rejeter les requêtes supérieures à 200 Mo HTTP::respond 413 content "La taille du chargement dépasse la limite." event disable } } }

RELIANOID Approche migratoire #

In RELIANOID, cette fonctionnalité peut être implémentée à l'aide de :

  • Module WAF / IPDS
  • Règles ModSecurity
  • Intégration OWASP CRS

Cette approche fournit :

  • application centralisée de la sécurité
  • Amélioration de la journalisation et de la visibilité
  • Maintenance simplifiée
  • Inspection native des requêtes HTTP

Déploiement via un ensemble de règles manuelles #

RELIANOID Exemple de configuration WAF #

Sous le chemin /usr/local/relianoid/config/ipds/waf/sets/ Créez un fichier de configuration contenant :

## début de la configuration SecRuleEngine sur SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:1" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:2" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:3" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:4" ## fin de la configuration SecRule REQUEST_METHOD "POST" \ "id:910001,\ phase:1,\ t:none,\ chain,\ deny,\ status:413,\ msg:'La taille du fichier téléchargé dépasse la limite.',\ log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"

Comment fonctionne la règle #

La règle applique la logique suivante :

REQUEST_METHOD "POST": Inspecte uniquement les requêtes POST
REQUEST_HEADERS:Content-Length: lit la taille du téléchargement
@gt 200000000Vérifie si la taille dépasse 200 Mo
deny,status:413: Rejette la demande
msg:'Upload size exceeds limit.': Génère un message de journal d'audit

Correspondance des comportements équivalents entre les iRules F5 et RELIANOID WAF #

HTTP::method: REQUEST_METHOD
HTTP::header "Content-Length": REQUEST_HEADERS:Content-Length
HTTP::respond 413: deny,status:413
event disable: Immediate WAF deny

Déploiement via interface Web #

Cette configuration peut également être déployée directement via le RELIANOID Interface utilisateur Web.

Chemin de configuration de l'interface Web #

Accédez à IPDS > WAF > Règles

Ensuite Créer un ensemble de règles WAF avec une règle comportant 2 conditions comme celle illustrée ci-dessous.

limite de longueur du contenu de la waf ipds relanoïde

Validation #

Test avec CURL #

Exemple de demande :

curl -k -X POST -H "Content-Length: 250000000" https://LB_VIP/upload -v

résultat attendu #

La réponse devrait être :

HTTP/1.1 413 Charge utile trop volumineuse

Et la requête devrait être bloquée avant d'atteindre le serveur.

Validation des journaux #

Vérifiez les journaux WAF pour :

La taille du fichier à télécharger dépasse la limite.

Remarques importantes #

Dépendance à la longueur du contenu #

Cette règle dépend de l'envoi par le client d'une valeur valide Content-Length En-tête. Si les chargements utilisent un encodage par transfert segmenté ou des chargements en continu, des protections supplémentaires peuvent être nécessaires.

Restreindre uniquement certaines URL #

Cette règle peut être combinée avec la validation d'URI.

Exemple :

SecRule REQUEST_URI "@beginsWith /upload"

Dépannage #

Règle non déclenchée #

Vérifier:

  • Le WAF est activé sur la ferme
  • La règle est correctement attachée.
  • La méthode de requête est POST.
  • L'en-tête Content-Length est présent.

Les chargements atteignent toujours le serveur. #

Causes possibles:

  • WAF non appliqué à la ferme appropriée
  • problème de syntaxe des règles
  • Le chargement utilise un encodage par blocs

Faux positifs #

Certaines applications peuvent légitimement nécessiter des téléchargements volumineux.

Recommandation:

  • Créer des exceptions spécifiques à l'application
  • Ajustez les seuils avec précaution.

Pratiques d'excellence #

  • Utilisez les limites de téléchargement spécifiques à l'application
  • Combiner avec une limitation de débit lorsque cela est possible
  • Surveillez régulièrement les journaux WAF
  • Évitez les seuils de téléchargement inutilement élevés.
  • Valider le comportement de téléchargement après le déploiement

Résumé #

Les iRules F5 utilisées pour limiter la taille des chargements peuvent être migrées vers RELIANOID utilisation de règles WAF/ModSecurity natives intégrées à OWASP CRS.

Cette approche fournit :

  • Application centralisée des politiques
  • Amélioration de la journalisation et de la visibilité
  • Évolutivité plus facile
  • Complexité de script réduite
  • Inspection des demandes fondée sur des normes

📄 Téléchargez ce document au format PDF #

    E-MAIL: *

    Sécurité accrue. Efforts réduits. Succès durable. Meilleurs Docs