Comment AWS WAF Classic fonctionne avec les CloudFront fonctionnalités d'Amazon - 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.

Comment AWS WAF Classic fonctionne avec les CloudFront fonctionnalités d'Amazon

Note

Il s'agit d'une documentation AWS WAF classique. Vous ne devez utiliser cette version que si vous avez créé AWS WAF des ressources, telles que des règles et des ACL Web, AWS WAF avant novembre 2019, et que vous ne les avez pas encore migrées vers la dernière version. Pour migrer vos ressources, veuillez consulter Migration de vos ressources AWS WAF classiques vers AWS WAF.

Pour la dernière version de AWS WAF, voirAWS WAF.

Lorsque vous créez une ACL Web, vous pouvez spécifier une ou plusieurs CloudFront distributions que AWS WAF Classic doit inspecter. AWS WAF Classic commence à autoriser, à bloquer ou à compter les requêtes Web pour ces distributions en fonction des conditions que vous identifiez dans l'ACL Web. CloudFront fournit certaines fonctionnalités qui améliorent les fonctionnalités AWS WAF classiques. Ce chapitre décrit quelques méthodes que vous pouvez configurer CloudFront pour que AWS WAF Classic CloudFront et Classic fonctionnent mieux ensemble.

Utilisation de AWS WAF Classic avec des pages d'erreur CloudFront personnalisées

Lorsque AWS WAF Classic bloque une requête Web en fonction des conditions que vous spécifiez, il renvoie le code d'état HTTP 403 (Interdit) à CloudFront. CloudFront Renvoie ensuite ce code d'état au visualiseur. La visionneuse affiche ensuite un court message par défaut peu formaté similaire au message suivant :

Forbidden: You don't have permission to access /myfilename.html on this server.

Si vous préférez afficher un message d'erreur personnalisé, éventuellement en utilisant le même format que le reste de votre site Web, vous pouvez configurer CloudFront pour renvoyer au lecteur un objet (par exemple, un fichier HTML) contenant votre message d'erreur personnalisé.

Note

CloudFront Impossible de faire la distinction entre un code d'état HTTP 403 renvoyé par votre origine et un code renvoyé par AWS WAF Classic lorsqu'une requête est bloquée. Par conséquent, vous ne pouvez pas renvoyer différentes pages d'erreur personnalisées en fonction des différentes causes d'un code de statut HTTP 403.

Pour plus d'informations sur les pages d'erreur CloudFront personnalisées, consultez la section Personnalisation des réponses aux erreurs dans le manuel Amazon CloudFront Developer Guide.

Utilisation de AWS WAF Classic CloudFront pour les applications exécutées sur votre propre serveur HTTP

Lorsque vous utilisez AWS WAF Classic avec CloudFront, vous pouvez protéger vos applications exécutées sur n'importe quel serveur Web HTTP, qu'il s'agisse d'un serveur Web exécuté dans Amazon Elastic Compute Cloud (Amazon EC2) ou d'un serveur Web que vous gérez en privé. Vous pouvez également configurer CloudFront pour exiger le protocole HTTPS entre CloudFront et votre propre serveur Web, ainsi qu'entre les utilisateurs et CloudFront.

Exiger le protocole HTTPS entre votre propre serveur Web CloudFront et votre propre serveur Web

Pour exiger le protocole HTTPS entre votre propre serveur Web CloudFront et votre propre serveur Web, vous pouvez utiliser la fonctionnalité d'origine CloudFront personnalisée et configurer la politique du protocole d'origine et les paramètres du nom de domaine d'origine pour des origines spécifiques. Dans votre CloudFront configuration, vous pouvez spécifier le nom DNS du serveur ainsi que le port et le protocole que vous souhaitez utiliser CloudFront pour récupérer des objets depuis votre origine. Vous devez également vous assurer que le certificat SSL/TLS sur votre serveur d'origine personnalisé correspond au nom de domaine d'origine que vous avez configuré. Lorsque vous utilisez votre propre serveur Web HTTP en dehors de AWS, vous devez utiliser un certificat signé par une autorité de certification (CA) tierce de confiance, par exemple Comodo ou DigiCert Symantec. Pour plus d'informations sur l'exigence du protocole HTTPS pour les communications entre votre propre serveur Web CloudFront et votre propre serveur Web, consultez la rubrique Exiger le protocole HTTPS pour la communication entre CloudFront et votre origine personnalisée dans le manuel Amazon CloudFront Developer Guide.

Exiger le protocole HTTPS entre un utilisateur et CloudFront

Pour exiger le protocole HTTPS entre les spectateurs et CloudFront, vous pouvez modifier la politique du protocole de visionnage pour un ou plusieurs comportements de cache dans votre CloudFront distribution. Pour plus d'informations sur l'utilisation du protocole HTTPS entre utilisateurs CloudFront, consultez la rubrique Requirement du protocole HTTPS pour la communication entre utilisateurs et CloudFront dans le manuel Amazon CloudFront Developer Guide. Vous pouvez également apporter votre propre certificat SSL afin que les utilisateurs puissent se connecter à votre CloudFront distribution via HTTPS en utilisant votre propre nom de domaine, par exemple https://www.mysite.com. Pour plus d'informations, consultez la rubrique Configuration des noms de domaine alternatifs et du protocole HTTPS dans le manuel Amazon CloudFront Developer Guide.

Choix des méthodes HTTP qui CloudFront répondent à

Lorsque vous créez une distribution CloudFront Web Amazon, vous choisissez les méthodes HTTP que vous CloudFront souhaitez traiter et transmettre à votre source. Choisissez parmi les options suivantes :

  • GET, HEAD — Vous ne pouvez l'utiliser CloudFront que pour récupérer des objets depuis votre origine ou pour obtenir des en-têtes d'objets.

  • GET, HEAD, OPTIONS — Vous CloudFront ne pouvez les utiliser que pour obtenir des objets depuis votre origine, obtenir des en-têtes d'objets ou récupérer une liste des options prises en charge par votre serveur d'origine.

  • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE — Vous pouvez les utiliser CloudFront pour obtenir, ajouter, mettre à jour et supprimer des objets, ainsi que pour obtenir des en-têtes d'objets. De plus, vous pouvez exécuter d’autres opérations POST telles que l’envoi de données à partir d’un formulaire web.

Vous pouvez également utiliser les conditions AWS WAF classiques de correspondance de chaînes pour autoriser ou bloquer les demandes en fonction de la méthode HTTP, comme décrit dansUtilisation des conditions de correspondance de chaîne. Si vous souhaitez utiliser une combinaison de méthodes compatibles CloudFront , telles que GET etHEAD, vous n'avez pas besoin de configurer AWS WAF Classic pour bloquer les demandes utilisant les autres méthodes. Si vous souhaitez autoriser une combinaison de méthodes non CloudFront compatibles, telles que, et GET HEADPOST, vous pouvez configurer CloudFront pour répondre à toutes les méthodes, puis utiliser AWS WAF Classic pour bloquer les demandes utilisant d'autres méthodes.

Pour plus d'informations sur le choix des méthodes qui CloudFront répondent, consultez la section Méthodes HTTP autorisées dans la rubrique Valeurs que vous spécifiez lors de la création ou de la mise à jour d'une distribution Web du manuel Amazon CloudFront Developer Guide.