Comment configurer la journalisation complète d'AWS WAF pour stocker les journaux dans Amazon S3 ?

Date de la dernière mise à jour : 30/03/2021

J'ai configuré AWS WAF et je dois à présent configurer une journalisation complète pour stocker les journaux dans Amazon Simple Storage Service (Amazon S3). Comment faire ?

Brève description

Vous pouvez activer la journalisation complète sur une liste de contrôle d'accès web (ACL web) à l'aide d'un flux Amazon Kinesis Data Firehose destiné à un compartiment Amazon S3 de la même région. Pour ce faire, vous devez utiliser trois services AWS :

  • AWS WAF pour créer les journaux
  • Kinesis Data Firehose pour recevoir les journaux
  • Amazon S3 pour stocker les journaux

Remarque : AWS WAF et Kinesis Data Firehose doivent être exécutés dans la même région.

Résolution

Créer un Kinesis Data Firehose

  1. Ouvrez la console Kinesis.
  2. Dans la barre de navigation, choisissez la région dans laquelle votre liste ACL web est stockée.
  3. Dans le panneau de navigation, choisissez Firehose de données.
  4. Choisissez Créer un flux de diffusion.
  5. Pour Nom du flux de diffusion, entrez un nom pour votre flux de diffusion. Le nom doit commencer par aws-waf-logs- et se terminer par le suffixe de votre choix. Par exemple, aws-waf-logs-demo.
  6. Pour Source, gardez la valeur par défaut Direct PUT ou autres sources sélectionnées. Ensuite, sélectionnez Suivant.
  7. Gardez les options par défaut pour les paramètres suivants :
    Transformation d'enregistrement (Désactivé)
    Conversion de format d'enregistrement (Désactivé)
  8. Sélectionnez Suivant.
  9. Pour Destination, choisissez Amazon S3.
  10. Dans la section Destination S3 choisissez Créer une nouvelle destination .
  11. Pour Nom du compartiment S3 , saisissez un nom. Pour des raisons d'uniformité, vous pouvez utiliser le même nom que celui que vous avez utilisé pour le flux de diffusion que vous avez créé à l'étape 4.
  12. Choisissez la région dans laquelle les journaux AWS WAF seront stockés.
  13. Choisissez Créer un compartiment S3.
  14. (Facultatif) Configurez un préfixe S3 et un préfixe d'erreur.
    Remarque : lespréfixes personnalisés sont utiles lorsque votre compartiment est partagé avec d'autres journaux.
  15. Sélectionnez Suivant.
  16. Vous pouvez garder les options par défaut pour les paramètres suivants :
    Taille de la mémoire tampon (5)
    Intervalle de la mémoire tampon (300)
    Compression S3 (Désactivée)
    Chiffrement S3 (Désactivé)
  17. (Facultatif) Configurez des balises si nécessaire.
  18. Pour Rôle IAM , choisissez Créer un nouveau ou choisir.
  19. Pour Nom du rôle , entrez un nom descriptif. Par exemple, firehose_to_s3-waflogs-demo.
  20. Choisissez Autoriser , puis choisissez Suivant .
  21. Vérifiez la configuration, puis choisissez Créer un flux de diffusion.

Association d'AWS WAF à Kinesis Data Firehose

  1. Ouvrez la console AWS WAF.
  2. Dans le panneau de navigation, choisissez ACL web.
  3. Pour Filtrer , choisissez la région dans laquelle votre ACL Web a été créée.
  4. Choisissez la liste ACL web appropriée dans la liste obtenue, puis choisissez Journalisation.
  5. Choisissez Activer l'enregistrement .
  6. Pour Amazon Kinesis Data Firehose, choisissez le flux de diffusion que vous avez créé ci-dessus.
  7. (Facultatif) Configurez tous les champs qui doivent être expurgés des journaux.
  8. Choisissez Créer . Tous les journaux AWS WAF sont stockés dans le compartiment Amazon S3 à des fins d'analyse.

Remarque : un journal AWS WAF équivaut à un enregistrement Kinesis Data Firehose. Si vous recevez généralement 10 000 requêtes par seconde, définissez une limite de 10 000 enregistrements par seconde dans Kinesis Data Firehose pour activer la journalisation complète. Dans le cas contraire, AWS WAF n'enregistre pas tous les journaux. Pour plus d'informations, consultez Quota d'Amazon Kinesis Data Firehose.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?