Je souhaite utiliser AWS WAF pour restreindre l'accès direct à un Application Load Balancer. Je souhaite également utiliser AWS WAF pour autoriser uniquement l'accès direct via Amazon API Gateway.
Résolution
Pour utiliser AWS WAF afin de limiter le trafic direct vers un Application Load Balancer et d'autoriser le trafic uniquement via API Gateway, effectuez les étapes suivantes.
Ajouter un en-tête HTTP personnalisé
Configurez API Gateway pour ajouter un en-tête HTTP personnalisé avec une valeur secrète dans les requêtes qu'il envoie à l’Application Load Balancer.
Procédez comme suit :
- Ouvrez la console API Gateway.
- Dans le volet de navigation, sélectionnez API.
- Choisissez votre API REST.
- Dans Ressources, choisissez votre méthode HTTP. Par exemple, GET.
- Choisissez l'onglet Requête d’intégration, puis choisissez Modifier.
- Développez la section Paramètres URL des en-têtes de requête, puis choisissez Ajouter un paramètre aux en-têtes de requête.
Dans Nom, saisissez le nom de l’en-tête. Par exemple, custom-header.
Dans Mappage à partir de, saisissez la valeur d'en-tête secrète.
Remarque : Assurez-vous de placer la valeur d'en-tête secrète entre guillemets simples. Par exemple, 'secret-value'.
- Sélectionnez Enregistrer.
Créer un pack de protection et une règle
Créez un pack de protection Web AWS WAF vide associé à l'Application Load Balancer. Puis, créez une règle pour bloquer les requêtes qui ne comportent pas d'en-tête HTTP personnalisé avec la valeur secrète.
Remarque : Si un pack de protection existant est déjà associé à votre Application Load Balancer, passez à la section Créer une règle.
Créer un pack de protection
Procédez comme suit :
- Ouvrez la console AWS WAF.
- Dans le volet de navigation, sélectionnez AWS WAF.
- Choisissez Packs de ressources et de protection.
- Sous Packs de protection, choisissez Créer un pack de protection.
- Sous Parlez-nous de votre application, sélectionnez une ou plusieurs catégories d'applications.
- Choisissez votre Focus sur l’application.
- Sous Sélectionner les ressources à protéger, choisissez Ajouter des ressources.
- Choisissez Ajouter des ressources régionales. Sélectionnez votre Application Load Balancer dans la liste.
- Sous Choisir un pack de protection, choisissez Créer votre propre pack parmi toutes les protections proposées par AWS WAF. Ignorez le volet de droite.
- Sous Nom et description, saisissez un nom pour votre pack de protection.
- Choisissez Créer un pack de protection.
Créer une règle
Procédez comme suit :
- Ouvrez la console AWS WAF.
- Dans le volet de navigation, sélectionnez AWS WAF.
- Choisissez Packs de ressources et de protection.
- Sous Packs de protection, sélectionnez le pack de protection associé et choisissez ** Afficher et modifier** en regard de Règles. Un volet droit est alors ouvert.
- Dans le volet droit, choisissez Ajouter une règle.
Choisissez Règle personnalisée, puis sélectionnez Suivant.
Choisissez à nouveau Règle personnalisée, puis sélectionnez Suivant.
- Pour configurer votre règle, configurez les valeurs suivantes :
Dans Action, sélectionnez Bloquer.
Dans Nom de la règle, saisissez un nom de règle.
Dans S’il s’agit d’une requête, sélectionnez ne correspond pas à l’instruction (NOT).
Dans Inspecter, sélectionnez En-tête unique.
Dans Nom du champ d'en-tête, saisissez le nom d'en-tête personnalisé. Par exemple, custom-header.
Dans Type de correspondance, choisissez Correspond exactement à la chaîne.
Dans Chaîne à faire correspondre, saisissez la valeur d'en-tête secrète.
Remarque : Assurez-vous de placer la valeur d'en-tête secrète entre guillemets simples. Par exemple, 'secret-value'.
- Sélectionnez Créer une règle.
- Si le pack de protection contient plusieurs règles, sélectionnez Modifier l'ordre des règles dans le volet droit.
Déplacez la règle récemment créée vers la priorité la plus élevée en la plaçant en haut de la liste.
- Choisissez Enregistrer l'ordre des règles.
Informations connexes
Comment intégrer une API REST API Gateway à un Application Load Balancer ?