Introduction aux stratégies en périphérie
Utilisez le pare-feu d'applications Web pour gérer les stratégies Edge.
Avant de commencer
Pour connaître les concepts importants concernant le service WAF, reportez-vous à Présentation de Web Application Firewall.
Pour commencer à utiliser le service WAF, vous devez disposer des éléments suivants :
- Les droits pour la stratégie de service IAM requise.
- Nous vous recommandons d'utiliser un compartiment distinct pour la stratégie WAF afin que la gestion soit plus facile et plus sécurisée.
- Un domaine d'application Web principal.
- L'adresse IP de LBaaS ou une autre adresse publique de l'application.
- La possibilité de mettre à jour les enregistrements DNS pour le domaine.
- Le service WAF prend uniquement en charge le trafic sur les ports 80/443. Cependant, une fois que les demandes ont atteint WAF sur les ports 80/443, nous pouvons envoyer les demandes au serveur d'origine sur n'importe quel port nécessaire. En voici un exemple :
Utilisateur final → Port 80/443 → WAF → Port 443/8000/555/*** → Serveur d'origine
Assurez-vous que votre application n'est pas exécutée sur d'autres ports.Remarque
Vous ne pouvez pas utiliser WAF pour du trafic SSH, FTP ou SMTP par exemple.
De plus, si vous avez l'intention d'exécuter votre site sur HTTPS/443, vous devez :
- Certificat public pour le nom de domaine qualifié complet de l'application
- Clé privée correspondante pour le site
- Certificat au format PEM
- Certificat de chaîne complète (racine, intermédiaire, serveur d'origine)Remarque
Les certificats SSL ne peuvent être appliqués qu'à l'application principale de la stratégie.
La propagation des modifications apportées aux stratégies en périphérie dure généralement de 10 à 30 minutes, selon la modification. La propagation prend beaucoup de temps car de nouveaux noeuds sont propagés vers des centaines de noeuds. Les modifications suivantes se propagent généralement en 10 à 15 minutes :
- Stratégies relatives aux bots
- Question de vérification avec interaction humaine
- Mesure d'empreinte d'appareil
- Question de vérification Javascript
- Question de vérification CAPTCHA
- Liste blanche du bon bot
- Règles d'accès
- Informations sur les threads
- Listes d'adresses IP
- Liste blanche d'adresses IP
Tenez compte des informations suivantes lorsque vous utilisez des stratégies en périphérie :
-
IPv6 n'est pas pris en charge actuellement.
- WAF inspecte, mais ne modifie pas le corps de la réponse.
- La limite de mise en mémoire cache est de 1 Go par stratégie.
- Pour les limites de téléchargement de taille de fichier, la limite est de 1 Go. Pour les limitations de taille de fichier, tenez compte des points suivants :
- La limite ne dépend pas du type de téléchargement, comme les images, les vidéos, les fichiers binaires, etc.
- L'en-tête Content-Type n'affecte pas la limite. Seules des règles de protection différentes sont appliquées en fonction de l'en-tête Content-Type.
- Les chargements utilisant des blocs ou des flux de données n'affectent pas la limite. En mode de mise en mémoire tampon, la limite est de 1 Go pour les téléchargements vers le serveur et en local. Cependant, certains autres modes, notamment la transmission en continu du corps de réponse, ignorez la limite de 1 Go.
- Les connexions WAF sont rarement annulées. Une annulation peut se produire en raison de téléchargements importants ou de connexions lentes. Une fois le noeud de périphérie rechargé, une connexion peut être annulée lorsqu'un processus de nettoyage est exécuté, si le cycle de demande ou de réponse prend trop de temps.
- Lors de l'utilisation de WAF avec des services de diffusion en continu de contenu, les services de diffusion en continu de contenu peuvent être affectés car nos règles de protection nécessitent la mise en mémoire tampon du contenu HTML complet avant analyse. L'ensemble du contenu doit être mis en mémoire tampon dans notre moteur central de règles de protection, ce qui peut entraîner des réponses lentes ou des événements qui n'affichent pas le contenu de diffusion en continu.
- Vous pouvez créer ou restaurer des sauvegardes de stratégie WAF à l'aide de l'interface de ligne de commande OCI. Extrayez le fichier JSON complet de l'application Web, puis recréez-la partie par partie. Il est recommandé de recréer d'abord les paramètres principaux, puis les questions de vérification et fonctionnalités de sécurité de l'application Web.
- Vous pouvez activer WebSocket pour une URL spécifique via l'interface de ligne de commande à l'aide de la commande suivante :
oci waas policy-config update --waas-policy-id ocid1.waaspolicy.oc1..[WAAS POLICY OCID] --websocket-path-prefixes '["/url/url/websocket"]'
Remarque
La prise en charge de WebSocket empêche le traitement WAF dans les chemins spécifiés. Cela signifie que si une règle WAF est activée, elle n'analyse pas les demandes qui vont à l'URL exclue dans la configuration. Toutefois, d'autres contre-mesures, telles que la question de vérification avec interaction humaine et la question de vérification JavaScript, peuvent être activées pour fournir une couche de sécurité supplémentaire à l'URL WebSocket. - La "clé" du flux Threat Intelligence généré est différente pour chaque stratégie WAF.
-
Vous ne pouvez apporter des modifications aux stratégies Edge que lorsque le statut de la stratégie est ACTIVE.
Estimer le coût d'utilisation de WAF
- Accédez à https://www.oracle.com/cloud/cost-estimator.html.
- Cliquez sur Rechercher et recherchez Networking - WAF.
- Cliquez sur Ajouter.
- Sous Ajouter une configuration, cliquez sur le menu en regard du nom de service, sélectionnez Ajouter par SKU, puis entrez la SKU.
- Cliquez sur Ajouter.
Dans l'estimateur de coût, "Instance" représente la stratégie WAF.
Configuration initiale de votre stratégie WAF
1. Création d'une stratégie en périphérie pour acheminer le trafic via WAF
Pour commencer, créez une stratégie en périphérie permettant d'acheminer le trafic via WAF sans aucune règle activée. Lorsque vous créez une stratégie sans qu'aucune règle ne soit activée, vous vous assurez qu'il n'existe aucune régression en plaçant un proxy inverse devant l'application.
-
Sélectionnez la région et le compartiment de conservation de la stratégie (il n'existe aucune contrainte concernant la coexistence de WAF et de l'équilibreur de charge ou d'autres ressources d'application dans Oracle Cloud Infrastructure).
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
-
Cliquez sur Créer une stratégie WAF.
-
Recherchez l'élément suivant en bas de la page Informations de base :
Utilisez le workflow hérité ici si vous devez sécuriser vos applications Web autres qu'OCI.
- Cliquez sur le lien pour afficher la boîte de dialogue Créer une stratégie en périphérie.
- Renseignez les informations ci-dessous :
- Nom : nom unique de la stratégie.
- Domaines :
- Domaine principal : nom de domaine qualifié complet de l'application dans laquelle la stratégie sera appliquée.
- Domaines supplémentaires (facultatif) : sous-domaines dans lesquels la stratégie sera appliquée.Remarque
Les domaines génériques ne sont toutefois acceptés qu'en tant que domaines supplémentaires et uniquement via l'API et l'interface de ligne de commande.
- Source WAF : hôte ou adresse IP de l'application Internet publique protégée.
- Nom d'origine : nom unique de l'origine.
- URI : entrez l'adresse publique (IPv4 ou nom de domaine qualifié complet) de l'application.
- Port HTTPS : port utilisé pour la connexion HTTP sécurisée. Le port par défaut est le port 443.
- Port HTTP : port HTTP sur lequel l'origine écoute. La valeur par défaut est 80.
- En-têtes : facultatif.
- Nom d'en-tête : nom affiché dans l'en-tête de demande HTTP et valeur d'en-tête pouvant être ajoutée et transmise au serveur d'origine avec toutes les demandes.
- Valeur d'en-tête : indique les données demandées par l'en-tête.
- Balises : : si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à forme libre. Pour appliquer une balise defined, vous devez être autorisé à utiliser la balise namespace. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas sûr d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Cliquez sur Créer une stratégie WAF. L'aperçu de la stratégie WAF apparaît. La stratégie doit devenir active dans les 15 minutes qui suivent sa création.
Pour plus d'informations, reportez-vous à Gestion des stratégies en périphérie.
2. Mise à jour du délai d'expiration de maintien des connexions de l'origine
La stratégie en périphérie exige que les délais d'expiration de maintien des connexions de votre origine (équilibreur de charge ou serveur Web) soient maintenus pendant 301 secondes ou plus, car notre valeur de délai d'expiration en amont est de 300 secondes. La seconde supplémentaire permet de s'assurer que la connexion dispose de suffisamment de temps pour la renégociation lorsque nos noeuds créent des connexions et d'éviter les problèmes de connectivité. Cela s'applique aux appels d'API car nous utilisons notre technologie de multiplexage réseau OCI qui aide à réduire les goulets d'étranglement du réseau et à améliorer les performances en optimisant le protocole TCP.
Vérification HTTP :
- Effectuez la demande sur le serveur d'origine ou en amont. Exécutez la commande suivante :
time telnet www-origin.example.com 80
Exemple de sortie :Trying 12.34.56.78... Connected to lb65-soc-191485947.us-east-1.elb.amazonaws.com. Escape character is '^]'.
- Effectuez une demande GET en saisissant les en-têtes HTTP suivants :
GET / HTTP/1.1 Host: www.example.com Connection: keep-Alive
- Appuyez deux fois sur Entrée et attendez la fermeture ou la déconnexion de la session.
Vérification HTTPS :
- Lancez la demande sur le serveur d'origine ou en amont. Exécutez la commande suivante :
time openssl s_client -connect www-origin.example.com:443
- Effectuez une demande GET en saisissant les en-têtes HTTP suivants :
GET / HTTP/1.1 Host: www.example.com Connection: keep-Alive
- Appuyez deux fois sur Entrée et attendez la fermeture ou la déconnexion de la session.
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
...
<!DOCTYPE html>
<html>
...
</html>
Connection closed by foreign host.
real 5m1.962s
user 0m0.011s
sys 0m0.009s
Pour plus d'informations, reportez-vous à Gestion des origines.
3. Téléchargement de votre certificat et de votre clé
Cette étape suppose que votre site est exécuté sur HTTPS/443.
4. Test de votre application (avant son déploiement en production)
Au cours de cette étape, vous vous assurez que les demandes sont acheminées vers WAF et que votre application continue de fonctionner normalement avec un proxy inverse dans la topologie.
- Ouvrez un terminal.
Exécutez la commande suivante pour HTTP :
curl -lvk http://<OCI_WAF_CNAME> -H "Host: <WEBAPP_DOMAIN>" -so /dev/null
Exécutez la commande suivante pour HTTPS :
curl -lvk https://<OCI_WAF_CNAME> -H "Host: <WEBAPP_DOMAIN>" -so /dev/null
- Vous pouvez également exécuter une requête DNS sur
<OCI_WAF_CNAME>
pour votre stratégie WAF et copier l'une des adresses IP de la sortie résultante.-
Pour exécuter une requête DNS, vous pouvez utiliser l'une des commandes suivantes :
dig <OCI_WAF_CNAME>
nslookup <OCI_WAF_CNAME>
- Copiez l'une des adresses IP de la sortie.
-
- Exécutez la commande suivante. Remplacez
<WEBAPP_DOMAIN>
par le domaine de la stratégie WAF. Utilisez le port 80 ou 443. Remplacez<OCI_NODE_IP>
par l'adresse IP deOCI_WAF_CNAME
.Query curl -vso/dev/null --resolve <WEBAPP_DOMAIN>:<PORT_80_OR_443>:<OCI_NODE_IP> https://<WEBAPP_DOMAIN>
Un code de réponse HTTP 200, 301, 302 ou tout autre code de réponse HTTP attendu est renvoyé.
Remarque
Si vous recevez une erreur HTTP 5XX, assurez-vous que vous avez mis à jour votre paramètre de pare-feu pour autoriser nos adresses IP. Si un problème persiste, ouvrez une demande de service auprès de My Oracle Support. Dans la demande d'assistance, indiquez l'OCID de compartiment, l'OCID de stratégie, une explication du problème rencontré, un fichier HAR et l'heure à laquelle le problème a commencé.
Pour tester votre application à l'aide d'un fichier hosts, vous avez besoin d'une adresse IP vers laquelle vous pouvez pointer l'application. Sous la stratégie, vous devez voir le CNAME qui vous est affecté. Vous pouvez obtenir l'adresse IP vers laquelle vous pouvez pointer votre application.
- Ouvrez un terminal.
- Exécutez une requête DNS à l'aide de l'une des commandes suivantes :
dig <OCI_WAF_CNAME>
nslookup <OCI_WAF_CNAME>
- Copiez l'une des trois adresses IP à partir de la section Answer de la sortie de commande dig et collez-la dans un fichier hosts portant le nom de votre domaine.
- Après avoir enregistré votre fichier hosts, ouvrez votre application dans un navigateur et vérifiez qu'elle fonctionne comme prévu.
Un code de réponse HTTP 200, 301, 302 ou tout autre code de réponse HTTP attendu est renvoyé.
Remarque
Si vous recevez une erreur HTTP 5XX, assurez-vous que vous avez mis à jour votre paramètre de pare-feu pour autoriser nos adresses IP. Si un problème persiste, ouvrez une demande de service auprès de My Oracle Support. Dans la demande d'assistance, indiquez l'OCID de compartiment, l'OCID de stratégie, une explication du problème rencontré, un fichier HAR et l'heure à laquelle le problème a commencé.
echo | openssl s_client -showcerts -servername <Domain> -connect <Domain>:443 2>/dev/null | openssl x509 -inform pem -noout -text
..
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
Validity
Not Before: Jun 5 03:15:10 2020 GMT
Not After : Sep 3 03:15:10 2020 GMT
Subject: CN = www.example.com
Subject Public Key Info:
...
Vous pouvez également tester le certificat à partir de sites Web tiers tels que SSL Shooper ou SSL Labs, et effectuer la validation à ces emplacements.
5. Mise à jour de DNS pour activer WAF
Après avoir vérifié que votre application Web fonctionne sans faille via WAF, vous pouvez désormais procéder à la mise à jour globale de DNS.
Au cours de cette étape, vous mettez à jour le CNAME pour votre zone afin d'acheminer les demandes des clients Internet vers WAF. Utilisez les instructions suivantes pour effectuer cette modification de DNS dans la console. Si votre configuration DNS réside auprès d'un autre fournisseur, reportez-vous à sa documentation pour obtenir des instructions.
- Dans l'onglet Informations sur la stratégie de l'aperçu de la stratégie WAF, sélectionnez Cible CNAME.
- Copiez la cible CNAME dans le presse-papiers.
- Ouvrez le menu de navigation et sélectionnez Fonctions de réseau. Sous Gestion DNS, sélectionnez Zones.
-
Cliquez sur le nom de zone du domaine principal pour lequel mettre à jour l'enregistrement. Les détails de la zone et la liste des enregistrements apparaissent.
- Cochez la case correspondant à l'enregistrement CNAME, puis sélectionnez Modifier dans le menu déroulant Actions.
- Dans la boîte de dialogue Modifier un enregistrement, mettez à jour le champ Cible avec la cible CNAME du presse-papiers.
- Cliquez sur Soumettre.
- Cliquez sur Publier les modifications.
- Dans la boîte de dialogue de confirmation, cliquez sur Publier les modifications.
6. Sécurisation de votre stratégie WAF
Pour sécuriser votre stratégie WAF, vous devez configurer vos serveurs afin qu'ils acceptent le trafic provenant des serveurs WAF. Configurez les règles entrantes de l'origine de sorte que seules les connexions issues des plages CIDR suivantes soient acceptées .
- 129.146.12.128/25
- 129.146.13.128/25
- 129.146.14.128/25
- 129.148.156.0/22
- 129.213.0.128/25
- 129.213.2.128/25
- 129.213.4.128/25
- 130.35.0.0/20
- 130.35.112.0/22
- 130.35.116.0/25
- 130.35.120.0/21
- 130.35.128.0/20
- 130.35.144.0/20
- 130.35.16.0/20
- 130.35.176.0/20
- 130.35.192.0/19
- 130.35.224.0/22
- 130.35.232.0/21
- 130.35.240.0/20
- 130.35.48.0/20
- 130.35.64.0/19
- 130.35.96.0/20
- 130.35.228.0/22
- 132.145.0.128/25
- 132.145.2.128/25
- 132.145.4.128/25
- 134.70.16.0/22
- 134.70.24.0/21
- 134.70.32.0/22
- 134.70.56.0/21
- 134.70.64.0/22
- 134.70.72.0/22
- 134.70.76.0/22
- 134.70.8.0/21
- 134.70.80.0/22
- 134.70.84.0/22
- 134.70.88.0/22
- 134.70.92.0/22
- 134.70.96.0/22
- 138.1.0.0/20
- 138.1.104.0/22
- 138.1.128.0/19
- 138.1.16.0/20
- 138.1.160.0/19
- 138.1.192.0/20
- 138.1.208.0/20
- 138.1.224.0/19
- 138.1.32.0/21
- 138.1.40.0/21
- 138.1.48.0/21
- 138.1.64.0/20
- 138.1.80.0/20
- 138.1.96.0/21
- 138.1.112.0/20
- 140.204.0.128/25
- 140.204.12.128/25
- 140.204.16.128/25
- 140.204.20.128/25
- 140.204.24.128/25
- 140.204.4.128/25
- 140.204.8.128/25
- 140.91.10.0/23
- 140.91.12.0/22
- 140.91.22.0/23
- 140.91.24.0/22
- 140.91.28.0/23
- 140.91.30.0/23
- 140.91.32.0/23
- 140.91.34.0/23
- 140.91.36.0/23
- 140.91.38.0/23
- 140.91.4.0/22
- 140.91.40.0/23
- 140.91.8.0/23
- 147.154.0.0/18
- 147.154.128.0/18
- 147.154.192.0/20
- 147.154.208.0/21
- 147.154.224.0/19
- 147.154.64.0/20
- 147.154.80.0/21
- 147.154.96.0/19
- 192.157.18.0/24
- 192.157.19.0/24
- 192.29.0.0/20
- 192.29.128.0/21
- 192.29.138.0/23
- 192.29.144.0/21
- 192.29.152.0/22
- 192.29.16.0/20
- 192.29.160.0/21
- 192.29.168.0/22
- 192.29.172.0/25
- 192.29.178.0/25
- 192.29.180.0/22
- 192.29.32.0/21
- 192.29.40.0/22
- 192.29.44.0/25
- 192.29.48.0/21
- 192.29.56.0/21
- 192.29.60.0/23
- 192.29.64.0/20
- 192.29.96.0/20
- 192.29.140.0/22
- 192.69.118.0/23
- 198.181.48.0/21
- 199.195.6.0/23
- 205.147.88.0/21
Activation de WAF pour la détection passive des règles
Les règles de protection WAF ajoutent des cycles d'UC supplémentaires à chaque transaction. Par conséquent, nous avons recommandé d'activer uniquement les règles conçues pour la topologie de votre application Web. WAF offre un ensemble de règles recommandées qui ne nuiront pas aux performances de votre site et qui fonctionneront avec la quasi-totalité de l'application Web. La fonction de protection des bots WAF permet de sécuriser entièrement votre application Web contre les menaces.
Si vous avez besoin d'aide pour configurer WAF, vous pouvez ouvrir une demande de service auprès de My Oracle Support en demandant de l'aide pour le réglage d'OCI WAF. Un expert vous guidera tout au long du processus.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
- Cliquez sur le nom de la stratégie WAF pour laquelle afficher les recommandations relatives aux règles de protection. L'aperçu de la stratégie WAF apparaît.
- Cliquez sur Règles de protection.
- Cliquez sur l'onglet Recommandations. Cette liste est générée en fonction du trafic que WAF détecte à travers le pare-feu WAF. Si cette liste ne contient aucun élément, continuez à tester le nom de domaine qualifié complet de votre application et revérifiez ultérieurement.
- Sélectionnez les règles de protection avec une action de détection recommandée, puis cliquez sur Accepter les recommandations.
Vous pouvez utiliser le filtre Action recommandée pour localiser une recommandation selon l'action Détecter.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
- Cliquez sur le nom de la stratégie WAF pour laquelle configurer les paramètres de règle. L'aperçu de la stratégie WAF apparaît.
- Cliquez sur Règles de protection.
- Utilisez le tableau des règles de protection pour localiser les règles à détecter.
- Entrez les ID de règle identifiés dans le tableau dans le filtre ID de règle. Pour cet exemple, entrez 941110 (génération de scripts inter-sites) dans le filtre ID de règle.
- Sélectionnez Détecter dans le menu déroulant Actions pour les règles de protection filtrées.
Pour plus d'informations, reportez-vous à Règles de protection WAF.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
- Cliquez sur le nom de la stratégie WAF pour laquelle configurer des règles d'accès. L'aperçu de la stratégie WAF apparaît.
- Cliquez sur Contrôle d'accès.
- Cliquez sur Ajouter une règle d'accès.
- Dans la boîte de dialogue Ajouter une règle d'accès, indiquez les informations suivantes :
- Nom : DetectRequestsFromMySpecificBrowser
- Action associée à la règle : sélectionnez Détecter uniquement.
- Conditions : sélectionnez L'adresse IP est dans le menu et entrez l'adresse IP que vous avez copiée dans le presse-papiers lors du test de l'application dans le champ Adresse IP.
- Cliquez sur + Condition supplémentaire.
- Condition : sélectionnez L'agent utilisateur est dans le menu et entrez la valeur d'agent que vous avez copiée dans le presse-papiers lors du test de l'application dans le champ En-tête d'agent utilisateur.
Remarque
L'adresse IP et l'agent utilisateur de l'exemple ci-avant doivent correspondre pour que la règle soit déclenchée. Si un autre agent utilisateur sert à tester l'application, la demande n'est pas détectée.
- Cliquez sur Ajouter une règle d'accès.
- Cliquez sur Modifications non publiées.
- Cliquez sur Tout publier.
Pour plus d'informations, reportez-vous à Contrôle d'accès pour les stratégies en périphérie.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
- Cliquez sur le nom de la stratégie WAF pour laquelle configurer les paramètres de question de vérification JavaScript. L'aperçu de la stratégie WAF apparaît.
- Cliquez sur Gestion des bots.
- Cliquez sur Modifier la question de vérification JavaScript.
- Dans la boîte de dialogue Question de vérification JavaScript, cochez la case Activer la question de vérification JavaScript.
-
Dans la section Action de question de vérification JavaScript, sélectionnez Détecter uniquement.
-
Saisissez les informations suivantes :
- Activer les conditions : lorsque cette option est activée, les conditions doivent correspondre pour qu'une action définie soit effectuée. Pour plus d'informations sur les conditions et les règles, reportez-vous à Contrôle d'accès pour les stratégies en périphérie.
- Seuil d'action (nombre de demandes) : indiquez le nombre de demandes qui doivent échouer avant que l'action soit effectuée. En raison de la demande asynchrone à partir du navigateur lors du chargement de page, nous vous recommandons de définir un seuil de 10 pour les applications Web avec une utilisation d'Ajax de base et de 100 pour les applications avec une utilisation d'Ajax importante.
- Délai d'expiration de l'action (secondes) : saisissez le nombre de secondes qui s'écoulent entre les questions de vérification sur la même adresse IP. En raison de modifications de l'adresse IP client, nous vous recommandons de définir le délai d'expiration sur 120 secondes pour les applications avec utilisateurs mobiles et sur 3 600 secondes pour les applications avec utilisateurs de bureau uniquement.
- Suivre les réacheminements : lorsque cette option est activée, les réponses de réacheminement de l'origine feront également l'objet d'une question de vérification.
- Activer la prise en charge de NAT : lorsque cette option est activée, l'utilisateur est identifié non seulement par l'adresse IP mais également par un hachage supplémentaire unique, qui empêche le blocage des visiteurs avec des adresses IP partagées. Il est recommandé de désactiver la prise en charge de NAT pour les applications à charge élevée (plus de 200 demandes par secondes).
- Cliquez sur Enregistrer les modifications.
La question de vérification JavaScript est ajoutée à la liste des modifications à publier.
Pour plus d'informations, reportez-vous à Gestion des bots.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
- Cliquez sur le nom de la stratégie WAF pour laquelle configurer les paramètres de question de vérification JavaScript. L'aperçu de la stratégie WAF apparaît.
- Cliquez sur Gestion des bots.
- Cliquez sur l'onglet Question de vérification avec interaction humaine.
- Cliquez sur Modifier la question de vérification avec interaction humaine.
- Dans la boîte de dialogue Modifier la question de vérification avec interaction humaine, cochez la case Activer la question de vérification avec interaction humaine.
- Dans la section Action liée à l'interaction humaine, sélectionnez Détecter uniquement.
- Saisissez les informations suivantes :
- Seuil d'action (nombre de demandes) : indiquez le nombre de demandes qui doivent échouer avant que l'action soit effectuée. En raison de la demande asynchrone à partir du navigateur lors du chargement de page, nous vous recommandons de définir un seuil de 10 pour les applications Web avec une utilisation d'Ajax de base et de 100 pour les applications avec une utilisation d'Ajax importante.
- Période d'expiration du seuil (secondes) : nombre de secondes avant l'expiration du seuil.
- Délai d'expiration de l'action (secondes) : saisissez le nombre de secondes qui s'écoulent entre les questions de vérification sur la même adresse IP. En raison de modifications de l'adresse IP client, nous vous recommandons de définir le délai d'expiration sur 120 secondes pour les applications avec utilisateurs mobiles et sur 3 600 secondes pour les applications avec utilisateurs de bureau uniquement.
- Seuil d'interaction (nombre d'interactions) : nombre d'interactions avant l'expiration du seuil.
- Période d'enregistrement (secondes) : période d'enregistrement des événements de l'utilisateur.
- Prise en charge de NAT : lorsque cette option est activée, l'utilisateur est identifié non seulement par l'adresse IP mais également par un hachage supplémentaire unique, qui empêche le blocage des visiteurs avec des adresses IP partagées. Il est recommandé de désactiver la prise en charge pour les applications à charge élevée (plus de 200 demandes par seconde).
- Cliquez sur Enregistrer les modifications.
La question de vérification avec interaction humaine est ajoutée à la liste des modifications à publier.
Pour plus d'informations, reportez-vous à Gestion des bots.
Pour connaître l'ordre de traitement de WAF, reportez-vous à Gestion des stratégies en périphérie.
Test des règles
Une fois la stratégie active, vous pouvez tester la détection de vos règles par WAF.
- Utilisez le même navigateur que lors du test de l'application pour effectuer l'opération suivante :
- Demandez le nom de domaine qualifié complet de votre application avec le paramètre de requête suivant ajouté à la fin :
?id=<script>alert("TEST");</script>
- Demandez le nom de domaine qualifié complet de votre application avec le paramètre de requête suivant ajouté à la fin :
- Utilisez un autre navigateur sur la même machine et répétez les demandes précédentes. Toutes les demandes doivent passer par l'application.
Pour vérifier que WAF détecte les demandes identifiées comme présentant un risque, procédez comme suit :
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'applications Web, sélectionnez Stratégies.
- Cliquez sur le nom de la stratégie WAF dont vous voulez visualiser les journaux. L'aperçu de la stratégie WAF apparaît.
- Cliquez sur Journaux. Les journaux relatifs à la stratégie WAF apparaissent.
- Cochez la case Détecter dans le filtre Actions.
- Vérifiez qu'il existe deux entrées pour la règle de protection déclenchée par la demande de génération de scripts inter-site, ainsi qu'une entrée pour la détection de l'agent utilisateur et de l'adresse IP.