Vue d’ensemble des contrôles de sécurité
Les protections avancées (contrôles de sécurité) du Web App Firewall sont un ensemble de filtres conçus pour détecter les attaques complexes ou inconnues sur vos sites Web et services Web protégés. Les contrôles de sécurité utilisent l’heuristique, la sécurité positive et d’autres techniques pour détecter les attaques qui peuvent ne pas être détectées uniquement par les signatures. Vous configurez les contrôles de sécurité en créant et en configurant un profil de Web App Firewall, qui est un ensemble de paramètres définis par l’utilisateur qui indiquent au Web App Firewall les contrôles de sécurité à utiliser et comment gérer une demande ou une réponse qui échoue à un contrôle de sécurité. Un profil est associé à un objet de signatures et à une stratégie pour créer une configuration de sécurité.
Le Web App Firewall fournit vingt contrôles de sécurité, qui varient considérablement en fonction des types d’attaques qu’ils ciblent et de la complexité de leur configuration. Les contrôles de sécurité sont organisés dans les catégories suivantes :
- Contrôles de sécurité courants. Vérifications qui s’appliquent à tout aspect de la sécurité Web qui n’implique pas de contenu ou qui s’applique de la même manière à tous les types de contenu.
- Contrôles de sécurité HTML. Vérifications qui examinent les requêtes et les réponses HTML. Ces vérifications s’appliquent aux sites Web HTML et aux parties HTML des sites Web 2.0, qui contiennent du contenu mixte HTML et XML.
- Contrôles de sécurité XML. Vérifications qui examinent les demandes et les réponses XML. Ces vérifications s’appliquent aux services Web XML et aux parties XML des sites Web 2.0.
Les contrôles de sécurité protègent contre un large éventail de types d’attaques, notamment les attaques visant les vulnérabilités des systèmes d’exploitation et des logiciels de serveurs Web, les vulnérabilités des bases de données SQL, les erreurs de conception et de codage de sites Web et de services Web, et les échecs de sécurisation des sites hébergeant ou pouvant accéder à des informations sensibles.
Tous les contrôles de sécurité comportent un ensemble d’options de configuration, les actions de vérification, qui contrôlent la façon dont le Web App Firewall gère une connexion qui correspond à une vérification. Trois actions de vérification sont disponibles pour tous les contrôles de sécurité. Ils sont :
- Bloquer. Bloquez les connexions qui correspondent à la signature. Désactivé par défaut.
- Journal. Enregistrez les connexions qui correspondent à la signature, pour une analyse ultérieure. Activé par défaut.
- Statistiques. Tenez à jour des statistiques, pour chaque signature, indiquant le nombre de connexions auxquelles elle correspond et fournissant certaines autres informations sur les types de connexions bloquées. Désactivé par défaut.
Une quatrième action de vérification, Learn, est disponible pour plus de la moitié des actions de vérification. Il observe le trafic vers un site Web ou un service Web protégé et utilise les connexions qui enfreignent à plusieurs reprises le contrôle de sécurité pour générer des exceptions recommandées (assouplissements) au contrôle, ou de nouvelles règles pour le contrôle. Outre les actions de vérification, certains contrôles de sécurité comportent des paramètres qui contrôlent les règles utilisées par le contrôle pour déterminer quelles connexions enfreignent ce contrôle, ou qui configurent la réponse du Web App Firewall aux connexions qui enfreignent le contrôle. Ces paramètres sont différents pour chaque vérification, et ils sont décrits dans la documentation de chaque vérification.
Pour configurer les contrôles de sécurité, vous pouvez utiliser l’assistant Web App Firewall, comme décrit dans l’Assistant Web App Firewall, ou vous pouvez configurer les contrôles de sécurité manuellement, comme décrit dans Configuration manuelle à l’aide de l’interface graphique. Certaines tâches, telles que la saisie manuelle de relaxations ou de règles ou l’examen des données apprises, ne peuvent être effectuées qu’à l’aide de l’interface graphique, et non de la ligne de commande. L’utilisation de l’assistant est généralement la meilleure méthode de configuration, mais dans certains cas, la configuration manuelle peut être plus facile si vous le connaissez parfaitement et que vous souhaitez simplement ajuster la configuration pour une seule vérification de sécurité.
Quelle que soit la méthode que vous utilisez pour configurer les contrôles de sécurité, chaque contrôle de sécurité nécessite l’exécution de certaines tâches. De nombreux contrôles nécessitent que vous spécifiiez des exceptions (assouplissements) pour empêcher le blocage du trafic légitime avant d’activer le blocage pour ce contrôle de sécurité. Vous pouvez le faire manuellement, en observant les entrées du journal après qu’un certain volume de trafic a été filtré, puis en créant les exceptions nécessaires. Cependant, il est généralement beaucoup plus facile d’activer la fonction d’apprentissage, de la laisser observer le trafic et de recommander les exceptions nécessaires.
Le Web App Firewall utilise des moteurs de paquets (PE) lors du traitement des transactions. Chaque moteur de paquets a une limite de 100 000 sessions, ce qui est suffisant pour la plupart des scénarios de déploiement. Toutefois, lorsque le Web App Firewall traite un trafic important et que le délai d’expiration de session est configuré à une valeur plus élevée, les sessions peuvent s’accumuler. Si le nombre de sessions actives du Web App Firewall dépasse la limite de 100 000 par PE, les violations des contrôles de sécurité du Web App Firewall risquent de ne pas être envoyées à l’appliance Security Insight. Réduire le délai d’expiration de la session ou utiliser le mode sans session pour les contrôles de sécurité avec fermeture d’URL sans session ou cohérence des champs sans session peut aider à empêcher l’accumulation de sessions. Si cette option n’est pas viable dans les scénarios où les transactions peuvent nécessiter des sessions plus longues, il est recommandé de passer à une plateforme haut de gamme dotée d’un moteur de paquets plus important.
La prise en charge de AppFirewall mis en cache est ajoutée, et le paramètre de session maximale via l’interface de ligne de commande par cœur est défini sur 50 000 sessions.
Contrôles de sécurité des demandes et des réponses
Voici la liste des contrôles de sécurité :
Demander des chèques
Les contrôles de sécurité des demandes sont les suivants :
- URL de démarrage
- Refuser URL
- Cohérence des
- Détournement de cookies
- Débordement de beurre
- Post Body Limit
- Type de contenu
- Déduire la charge utile XML du type de contenu
- Types de téléchargement de fichiers
- Cohérence des champs de formulaire
- Formats de champs
- Balisage de formulaire CSRF
- Scriptage inter-sites HTML
- Injection SQL HTML
- Injection de commandes HTML
- Bloquer le mot clé - XML
- Format XML
- Déni de service XML
- Script intersite XML
- Injection SQL XML
- Pièce jointe XML
- Validation des messages XML
- Déni de service JSON
- Script intersite JSON
- Injection SQL JSON
- injection de commandes JSON
- Bloquer le mot clé - JSON
Contrôles de réponse
Les contrôles de sécurité des réponses sont les suivants :
- Carte de crédit
- Objet sécurisé
- Filtrage des défauts SOAP XML
- Quelques éléments de l’interopérabilité des services Web