Bonnes pratiques d'utilisation des Challenge actions CAPTCHA et - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Bonnes pratiques d'utilisation des Challenge actions CAPTCHA et

Suivez les instructions de cette section pour planifier et mettre en œuvre le AWS WAF CAPTCHA ou le challenge.

Planifiez votre CAPTCHA et testez la mise en œuvre

Déterminez où placer les puzzles CAPTCHA ou les défis silencieux en fonction de l'utilisation de votre site Web, de la sensibilité des données que vous souhaitez protéger et du type de demandes. Sélectionnez les requêtes pour lesquelles vous allez appliquer le CAPTCHA afin de présenter les puzzles selon les besoins, mais évitez de les présenter là où ils ne seraient pas utiles et pourraient dégrader l'expérience utilisateur. Utilisez cette Challenge action pour exécuter des défis silencieux qui ont moins d'impact sur l'utilisateur final, tout en permettant de vérifier que la demande provient d'un navigateur JavaScript activé.

Les puzzles CAPTCHA et les défis silencieux ne peuvent être exécutés que lorsque les navigateurs accèdent à des points de terminaison HTTPS. Les clients du navigateur doivent fonctionner dans des contextes sécurisés pour acquérir des jetons.

Décidez où lancer les puzzles CAPTCHA et les défis silencieux à vos clients

Identifiez les demandes que vous ne souhaitez pas voir affectées par le CAPTCHA, par exemple les demandes de CSS ou d'images. Utilisez le CAPTCHA uniquement lorsque cela est nécessaire. Par exemple, si vous prévoyez d'effectuer une vérification CAPTCHA lors de la connexion et que l'utilisateur passe toujours directement de l'identifiant à un autre écran, il ne sera probablement pas nécessaire d'exiger une vérification CAPTCHA sur le deuxième écran et cela pourrait dégrader votre expérience utilisateur final.

Configurez Challenge et CAPTCHA utilisez-le de manière à ce AWS WAF qu'il n'envoie que des puzzles CAPTCHA et des défis silencieux en réponse à GET text/html des demandes. Vous ne pouvez exécuter ni le puzzle ni le défi en réponse à des POST demandes, à des demandes de partage de ressources entre origines (CORS) avant le vol ou à tout autre type de OPTIONS demande autre que le type de demande. GET Le comportement du navigateur pour les autres types de requêtes peut varier et peut ne pas être en mesure de gérer correctement les interstitiels.

Il est possible qu'un client accepte le HTML mais ne soit toujours pas en mesure de gérer le CAPTCHA ou de défier l'interstitiel. Par exemple, un widget sur une page Web avec un petit iFrame peut accepter le HTML mais ne pas être en mesure d'afficher un CAPTCHA ou de le traiter. Évitez de placer les actions de règle pour ces types de demandes, de la même manière que pour les demandes qui n'acceptent pas le HTML.

Utiliser CAPTCHA ou Challenge vérifier l'acquisition antérieure de jetons

Vous pouvez utiliser les actions des règles uniquement pour vérifier l'existence d'un jeton valide, aux endroits où les utilisateurs légitimes doivent toujours en avoir un. Dans ces situations, peu importe que la demande puisse gérer les interstitiels.

Par exemple, si vous implémentez l'API CAPTCHA de l'application JavaScript client et que vous exécutez le puzzle CAPTCHA sur le client juste avant d'envoyer la première demande à votre point de terminaison protégé, votre première demande doit toujours inclure un jeton valide à la fois pour le challenge et pour le CAPTCHA. Pour plus d'informations sur l'intégration des applications JavaScript clientes, consultezAWS WAF JavaScript intégrations.

Dans ce cas, dans votre ACL Web, vous pouvez ajouter une règle correspondant à ce premier appel et la configurer avec l'action de CAPTCHA règle Challenge or. Lorsque la règle correspond à un utilisateur final et à un navigateur légitimes, l'action trouvera un jeton valide et ne bloquera donc pas la demande ni n'enverra de défi ou de casse-tête CAPTCHA en réponse. Pour plus d'informations sur le fonctionnement des actions des règles, consultezCAPTCHAet comportement Challenge d'action.

Protégez vos données sensibles non HTML avec et CAPTCHAChallenge

Vous pouvez utiliser le CAPTCHA et Challenge les protections pour les données sensibles non HTML, telles que les API, en suivant l'approche suivante.

  1. Identifiez les demandes qui acceptent des réponses HTML et qui sont exécutées à proximité des demandes concernant vos données sensibles non HTML.

  2. CAPTCHARédigez des Challenge règles qui correspondent aux demandes de code HTML et aux demandes relatives à vos données sensibles.

  3. Ajustez vos paramètres de durée CAPTCHA et d'Challengeimmunité afin que, pour les interactions normales avec les utilisateurs, les jetons que les clients obtiennent à partir des requêtes HTML soient disponibles et non expirés dans leurs demandes concernant vos données sensibles. Pour plus d'informations sur le réglage, voirExpiration de l'horodatage : durée d'immunité des AWS WAF jetons.

Lorsqu'une demande concernant vos données sensibles correspond à une Challenge règle CAPTCHA OR, elle ne sera pas bloquée si le client possède toujours un jeton valide issu du puzzle ou du défi précédent. Si le jeton n'est pas disponible ou si l'horodatage est expiré, la demande d'accès à vos données sensibles échouera. Pour plus d'informations sur le fonctionnement des actions des règles, consultezCAPTCHAet comportement Challenge d'action.

Utilisez le CAPTCHA Challenge pour ajuster vos règles existantes

Passez en revue vos règles existantes pour voir si vous souhaitez les modifier ou les compléter. Voici quelques scénarios courants à envisager.

  • Si vous avez une règle basée sur le taux qui bloque le trafic, mais que vous maintenez la limite de débit relativement élevée pour éviter de bloquer les utilisateurs légitimes, envisagez d'ajouter une deuxième règle basée sur le taux après la règle de blocage. Donnez à la deuxième règle une limite inférieure à la règle de blocage et définissez l'action de la règle sur CAPTCHA ouChallenge. La règle de blocage bloquera toujours les demandes qui arrivent à un rythme trop élevé, et la nouvelle règle bloquera la plupart du trafic automatisé à un taux encore plus faible. Pour plus d'informations sur les règles basées sur les taux, consultezInstruction de règle basée sur un taux.

  • Si vous avez un groupe de règles géré qui bloque les demandes, vous pouvez modifier le comportement de certaines ou de toutes les règles de CAPTCHA ou Block versChallenge. Pour ce faire, dans la configuration du groupe de règles géré, remplacez le paramètre d'action de la règle. Pour plus d'informations sur le remplacement des actions des règles, consultezLes actions des règles du groupe de règles remplacent les actions.

Testez votre CAPTCHA et testez les implémentations avant de les déployer

Pour toutes les nouvelles fonctionnalités, suivez les instructions surTester et ajuster vos AWS WAF protections.

Pendant les tests, passez en revue les exigences d'expiration de l'horodatage de vos jetons et définissez les configurations de votre ACL Web et de la durée d'immunité au niveau des règles afin de trouver un bon équilibre entre le contrôle de l'accès à votre site Web et l'offre d'une bonne expérience à vos clients. Pour plus d’informations, veuillez consulter Expiration de l'horodatage : durée d'immunité des AWS WAF jetons.