Comment utiliser AWS WAF pour bloquer les téléchargements de fichiers utilisant des extensions spécifiques ?
Je souhaite restreindre les téléchargements de fichiers (requêtes HTTP POST) utilisant des extensions spécifiques sur mon serveur Web.
Brève description
Lorsque vous analysez les données POST d'une requête HTTP, le contenu téléchargé peut être de deux types :
- Données de formulaire
- Données binaires
Remarque : AWS WAF inspecte les 8 premiers Ko (8 192 octets) du corps de la demande. Pour en savoir plus sur les requêtes plus volumineuses, consultez la section Gestion des composants de requêtes Web surdimensionnés dans AWS WAF.
Pour restreindre les téléchargements de fichiers utilisant une extension spécifique comme .pdf, .docx ou .exe, procédez comme suit :
- Créez une règle de liste de contrôle d'accès Web (ACL Web) personnalisée pour inspecter le CORPS de la demande.
- Créez une condition de correspondance regex dans la règle. Utilisez ce modèle regex pour configurer la règle afin de restreindre plusieurs extensions de fichier.
- Définissez l'action de la règle sur BLOQUER.
- Définissez la priorité de la règle afin que cette règle personnalisée ait une priorité plus élevée que n'importe quelle règle ACL Web capable de la bloquer.
- Vérifiez que la règle bloque correctement l'extension de fichier spécifique.
Résolution
Identification du type de contenu utilisé par les données POST
Les données POST contenues dans les requêtes HTTP utilisent généralement des données de formulaire ou des données binaires.
- Les données de formulaire incluent toutes les données qu'un utilisateur saisit sur une page Web (ou « formulaire HTML ») que HTTP envoie (ou « publie ») à un serveur Web.
- Une charge utile binaire est différente d’une charge utile de texte. Par exemple, une charge utile binaire peut être un fichier .jpeg, .gzip ou .xml. Cela inclut des données binaires génériques comme celles d'une application .pdf, d'une image .jpeg ou d'une application .zip. Pour tous les types d'extension de fichier, consultez la page Media Types du site Web de l'Internet Assigned Numbers Authority (IANA).
Pour identifier le type de requête POST, voir la valeur Content-Typede l'en-tête HTTP POST. Dans l'exemple suivant, la valeur Content-Type est multipart/form-data :
Content-Type: multipart/form-data
Si l'en-tête « Content-Type » a pour valeur « multipart/form-data », procédez comme suit pour créer une règle :
-
Ouvrez la console AWS WAF.
-
Dans le volet de navigation, sous AWS WAF, choisissez ACL Web.
-
Pour Région, choisissez la région AWS dans laquelle vous avez créé votre liste ACL Web.
Remarque : si vous avez configuré votre ACL Web pour Amazon CloudFront, sélectionnez Global. -
Sélectionnez votre ACL Web. Choisissez ensuite l'onglet Règles.
-
Cliquez sur la liste déroulante Ajouter des règles, puis sélectionnez Ajouter mes propres règles et groupes de règles.
-
Dans Type de règle, sélectionnez Générateur de règles.
-
Dans Nom, entrez un nom pour identifier cette règle.
-
Dans Type, choisissez Règle régulière.
-
Dans S’il s’agit d’une demande, sélectionnez Correspond à l’instruction. Renseignez ensuite les champs suivants pour Instruction : Pour Inspecter, sélectionnez Corps.
Pour Type de contenu, sélectionnez JSON.
Pour Étendue de la correspondance JSON, sélectionnez Valeurs.
Pour Comment AWS WAF doit traiter la demande si le code JSON contenu dans le corps de la demande n'est pas valide, choisissez l'option adaptée à votre cas d’utilisation.
Pour Contenu à inspecter, sélectionnez Contenu JSON complet.
Pour Type de correspondance, sélectionnez Correspond à l'expression régulière.
Pour Expression régulière, entrez un modèle regex correspondant. Reportez-vous à l’exemple suivant :(?:.pdf|.doc|.docx|.ppt)
-
(Facultatif) Pour Transformation de texte, vous pouvez ajouter une transformation de texte ou conserver la valeur Aucun pour ces champs.
-
Pour Gestion des surtailles, choisissez l'option adaptée à votre cas d'utilisation.
-
Pour Action, choisissez Bloquer.
-
Sélectionnez Ajouter une règle.
-
(Facultatif) Pour Définir la priorité de la règle, sélectionnez votre règle et déplacez sa priorité. AWS WAF traite les règles selon leur ordre d’apparition. Pour en savoir plus, consultez Ordre de traitement des règles et des groupes de règles dans une ACL Web.
-
Choisissez Enregistrer.
Vérifiez que la règle fonctionne comme prévu.
Si l'en-tête « Content-Type » affiche une valeur binaire comme « application/pdf » ou « application/ppt », procédez comme suit pour créer une règle :
-
Ouvrez la console AWS WAF.
-
Dans le volet de navigation, sous AWS WAF, choisissez ACL Web.
-
Pour Région, choisissez la région AWS dans laquelle vous avez créé votre liste ACL Web. Remarque : si vous avez configuré votre ACL Web pour Amazon CloudFront, sélectionnez Global.
-
Sélectionnez votre ACL Web. Choisissez ensuite l'onglet Règles.
-
Cliquez sur la liste déroulante Ajouter des règles, puis sélectionnez Ajouter mes propres règles et groupes de règles.
-
Dans Type de règle, sélectionnez Générateur de règles.
-
Dans Nom, entrez un nom pour identifier cette règle.
-
Dans Type, choisissez Règle régulière.
-
Dans S’il s’agit d’une demande, sélectionnez Correspond à l’instruction. Renseignez ensuite les champs suivants pour Instruction :
Pour Inspecter, sélectionnez En-tête unique.
Pour Nom du champ d'en-tête, entrez Type de contenu.
Pour Type de correspondance, sélectionnez Correspond à l'expression régulière.
Pour Expression régulière, entrez un modèle regex correspondant.
Consultez l'exemple suivant pour les fichiers .pdf et .jpeg :(?:pdf|jpeg)
-
(Facultatif) Pour Transformation de texte, vous pouvez ajouter une transformation de texte ou conserver la valeur Aucun pour ces champs.
-
Pour Action, choisissez Bloquer.
-
Sélectionnez Ajouter une règle.
-
(Facultatif) Pour Définir la priorité de la règle, sélectionnez votre règle et déplacez sa priorité. AWS WAF traite les règles selon leur ordre d’apparition. Pour en savoir plus, consultez Ordre de traitement des règles et des groupes de règles dans une ACL Web.
-
Choisissez Enregistrer.
-
Vérifiez que la règle fonctionne comme prévu.
Remarque : Pour restreindre la règle à un chemin d'URL de téléchargement spécifique, utilisez une instruction AND dans la règle Web ACL.

Contenus pertinents
- demandé il y a 9 moislg...
- demandé il y a 2 moislg...
- demandé il y a 2 anslg...
- demandé il y a 10 moislg...
- demandé il y a 2 anslg...
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an