Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Comment autoriser explicitement les chargements de fichiers qu'une règle AWS WAF bloque sans exclure la règle ?
Je souhaite permettre aux utilisateurs de charger des fichiers en utilisant des extensions de fichier spécifiques sans avoir à bloquer la règle de configuration AWS WAF actuelle.
Brève description
Le contenu du téléchargement de fichiers HTTP est généralement de l'un des types suivants :
- Données du formulaire : Données envoyées à partir de formulaires de sites Web vers des API dans le cadre de données de formulaire en plusieurs parties.
- Données binaires : Un fichier qui n'est pas une charge utile de texte. Le fichier binaire peut être un fichier JPEG, un fichier GZip ou un fichier PDF.
Pour découvrir pourquoi AWS WAF bloque une requête POST, consultez les règles courantes qui bloquent les téléchargements de fichiers. Si aucune règle courante ne bloque le téléchargement, passez en revue les options supplémentaires permettant d'autoriser les fichiers bloqués.
Les règles suivantes bloquent généralement les téléchargements de fichiers :
- CrossSiteScripting_BODY
- SQLi_BODY
- SizeRestrictions_BODY
- Règles personnalisées qui évaluent le BODY de la requête
Résolution
Déterminez quelle règle bloque les téléchargements de fichiers
Procédez comme suit pour déterminer la règle qui bloque le téléchargement du fichier :
1. Ouvrez la console AWS WAF.
2. Passez en revue les exemples de requêtes Web. Les requêtes échantillonnées contiennent à la fois des informations sur la règle qui bloque la demande et les composants de la requête HTTP.
3. Sur la page Vue d'ensemble, sous Règle à l'intérieur du groupe de règles, recherchez les composants de la requête HTTP. Les composants ressemblent aux exemples suivants :
Règle à l'intérieur du groupe de règles
awswaf:managed:aws:core-rule-set:CrossSiteScripting_Body
Demande
`POST /upload` `User-Agent: PostmanRuntime/7.30.0 Accept: */* Host: example.amazonaws.com Connection: keep-alive Content-Type: multipart/form-data; boundary=--------------------------421232031360350156757252 Content-Length: 4060737 `
4. Consultez les journaux complets d'AWS WAF pour terminatingRuleMatchDetails.
Remarque : Le champ terminatingRuleMatchDetails est renseigné uniquement pour les attaques SQLi_BODY et CrossSiteScripting_BODY.
Identifier le type de contenu des données POST
Pour identifier le type de contenu, consultez l'en-tête HTTP dans vos données POST pour connaître le type de contenu. Dans l'exemple précédent, le type de contenu est plusieurs parties/données de formulaire.
Contenu des données de formulaire
Pour le contenu de données de formulaire dont la valeur d'en-tête est composée de plusieurs parties/données de formulaire, procédez comme suit :
1. Ouvrez la console AWS WAF.
2. Dans le volet de navigation, sous AWS WAF, sélectionnez ACL Web.
**Remarque :**La sélection par défaut pour la région est USA Est (Virginie du Nord). Choisissez la région AWS dans laquelle vous avez créé votre ACL Web. Choisissez Global si votre ACL Web est configurée pour Amazon CloudFront.
3. Choisissez votre ACL Web.
4. Dans l’onglet Règles, choisissez Ajouter des règles, puis choisissez Ajouter mes propres règles et groupes de règles.
5. Sur l'écran Ajouter une règle, sous Type de règle, choisissez Générateur de règles.
Dans Nom, saisissez un nom pour identifier cette règle.
Dans Type, sélectionnez Règle régulière.
Dans S’il s’agit d’une requête, sélectionnez correspond à l'instruction.
Dans Inspecter, sélectionnez Corps.
Dans Type de contenu, sélectionnez JSON.
Dans Étendue de la correspondance JSON, sélectionnez Valeurs.
Pour savoir comment AWS WAF doit traiter la demande si le code JSON dans le corps de la demande n'est pas valide, choisissez l'option qui vous convient.
Dans Contenu à inspecter, sélectionnez Contenu JSON complet.
Dans Type de correspondance, sélectionnez Correspond à l'expression régulière.
Dans Expression régulière, collez l'exemple de modèle regex suivant :
(?:.pdf|.doc|.docx|.ppt)
(Facultatif) Pour la transformation de ** texte**, choisissez une transformation de texte ou ** Aucune**. Pour plus d'informations, consultez la section Transformations de texte.
Dans Gestion des surtailles, choisissez l'option adaptée à votre configuration. Pour plus d'informations, consultez la section Gestion des composants de requêtes Web surdimensionnés dans AWS WAF.
Dans Action, sélectionnez Autoriser. Pour plus d'informations, consultez la section Action sur les règles.
6. Choisissez Ajouter une règle.
- Pour ** Définir la priorité de la règle**, sélectionnez votre règle et déplacez-la vers un niveau de priorité supérieur à celui de la règle qui bloque la demande. AWS WAF évalue les règles en fonction de la priorité définie. Pour plus d'informations, voir Ordre de traitement des règles et des groupes de règles dans une ACL Web.
8. Choisissez Enregistrer. Assurez-vous que les règles fonctionnent comme prévu.
Contenu de données binaires
Pour le contenu de données binaires dont la valeur d'en-tête est similaire à application/pdf ou à application/ppt, procédez comme suit :
1. Ouvrez la console AWS WAF.
2. Dans le volet de navigation, sous AWS WAF, sélectionnez ACL Web.
Remarque : La sélection par défaut pour la région est USA Est (Virginie du Nord). Choisissez la région AWS dans laquelle vous avez créé votre ACL Web. Choisissez Global si votre ACL Web est configurée pour Amazon CloudFront.
3. Choisissez votre ACL Web.
4. Dans l'onglet Règles, choisissez Ajouter des règles, puis choisissez Ajouter mes propres règles et groupes de règles.
5. Sur l'écran Ajouter une règle, sous Type de règle, choisissez Générateur de règles.
Dans Nom, entrez un nom pour identifier la règle.
Dans Type, sélectionnez Règle régulière.
Dans S’il s’agit d’une requête, sélectionnez correspond à l'instruction.
Dans Inspecter, sélectionnez En-tête unique.
Dans Nom du champ d'en-tête, entrez Type de contenu.
Dans Type de correspondance, sélectionnez Correspond à l'expression régulière.
Dans Expression régulière, collez l'exemple de modèle regex suivant :
(?:pdf|jpeg)
(Facultatif) Pour la transformation de ** texte**, choisissez une transformation de texte ou Aucune. Pour plus d'informations, consultez la section Transformations de texte.
Dans Action, sélectionnez Autoriser. Pour plus d'informations, consultez la section Action sur les règles.
6. Choisissez Ajouter une règle.
- Pour ** Définir la priorité de la règle**, sélectionnez votre règle et déplacez-la vers un niveau de priorité supérieur à celui de la règle qui bloque la demande. AWS WAF évalue les règles en fonction de la priorité définie. Pour plus d'informations, voir Ordre de traitement des règles et des groupes de règles dans une ACL Web.
8. Choisissez Enregistrer. Assurez-vous que la règle fonctionne comme prévu.
Remarque : Pour restreindre la règle à un chemin d'URI de téléchargement spécifique, utilisez une instruction AND dans la règle Web ACL.
Informations connexes
- Balises
- AWS WAF
- Langue
- Français

Contenus pertinents
- demandé il y a un an
- Réponse acceptéedemandé il y a 2 ans
- demandé il y a un an