Règles de protection personnalisées

Le service WAF permet de définir et d'appliquer des règles de protection personnalisées à vos configurations WAF à partir de modules de pare-feu à code source libre, comme les modules ModSecurity. Cette rubrique décrit comment formater, créer et mettre en oeuvre des règles de protection personnalisées dans vos politiques WAF à l'aide de la console et de l'API WAAS. Pour obtenir la liste des règles de protection déjà disponibles dans le service, voir Règles de protection prises en charge.

Syntaxe de règle de protection personnalisée

Fournit des informations sur la syntaxe de règle de protection personnalisée pour le service de pare-feu d'application Web.

Toutes les règles de protection personnalisées sont exprimées dans le langage de règle ModSecurity. Pour plus d'informations sur la syntaxe ModSecurity, voir Création de règles : Syntaxe de base.

De plus, chaque règle doit inclure deux variables de paramètre fictif mises à jour par le service WAF lors de la publication de la règle.

ID :{{id_1}} - Ce champ est mis à jour avec un ID règle unique généré par le service WAF, qui identifie une règle SecRule. Plusieurs SecRule peuvent être définis dans le champ template d'un appel CreateCustomProtectionRule. La valeur du premier SecRule doit être id:{{id_1}} et le champ id de chaque SecRule suivant doit augmenter de un, comme illustré dans l'exemple.

ctl:ruleEngine={{mode}} - Action à exécuter lorsque les critères de la SecRule sont satisfaits : OFF, DETECT ou BLOCK. Ce champ est mis à jour avec la valeur correspondante du champ action de l'objet CustomProtectionRuleSetting lors de l'utilisation de l'opération UpdateWafConfig.

Exemple de format de règle de protection personnalisée :


SecRule REQUEST_COOKIES "regex matching SQL injection - part 1/2" \
	"phase:2,                                                 \
	msg:'Detects chained SQL injection attempts 1/2.',        \
	id:{{id_1}},                                             \
	ctl:ruleEngine={{mode}},                                  \
	deny"
	SecRule REQUEST_COOKIES "regex matching SQL injection - part 2/2" \
	"phase:2,                                                 \
	msg:'Detects chained SQL injection attempts 2/2.',        \
	id:{{id_2}},                                             \
	ctl:ruleEngine={{mode}},                                  \
	deny"

Actions

Le service WAF peut effectuer une action sur une demande HTTP lorsque les critères d'une règle de protection personnalisée sont satisfaits.

  • DETECT - Enregistre la demande lorsque les critères de la règle de protection personnalisée sont satisfaits.
  • BLOCK - Bloque la demande lorsque les critères de la règle de protection personnalisée sont satisfaits.
  • OFF - La règle de protection personnalisée est inactive et n'effectue aucune action.

Utilisation de la console

Pour créer une règle de protection personnalisée
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur Règles de protection personnalisées.
  3. Cliquez sur Créer une règle de protection personnalisée.
  4. Dans la boîte de dialogue Créer une règle de protection personnalisée, entrez les informations suivantes :
    • Nom : Nom unique de la règle de protection.
    • Description : Facultative. Description de la règle de protection personnalisée.
    • Modèle : Entrez les critères de règle de protection dans le langage de règles ModSecurity. Chaque règle doit inclure deux variables de paramètre fictif : id :{{id_1}} et ctl:ruleEngine={mode}}. Pour plus d'informations sur la syntaxe ModSecurity, voir Création de règles : Syntaxe de base.
    • Afficher les options avancées : Cliquez sur ce lien pour afficher les options de marquage. Voir Aperçu du service de marquage.
  5. Sélectionnez l'une des versions suivantes :
Pour modifier une règle de protection personnalisée
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur Règles de protection personnalisées.
  3. Cliquez sur le nom de la règle de protection personnalisée à modifier.
  4. Cliquez sur Modifier.
  5. Apportez les modifications nécessaires, puis cliquez sur Enregistrer les modifications.
Pour gérer les marqueurs d'une règle de protection personnalisée
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur Règles de protection personnalisées.
  3. Cliquez sur le nom de la règle de protection pour laquelle vous souhaitez gérer les marqueurs.
  4. Cliquez sur l'onglet Marqueurs pour voir ou modifier des marqueurs existants. Ou cliquez sur Ajouter des marqueurs pour en ajouter de nouveaux.

Pour plus d'informations, voir Marqueurs de ressource.

Pour déplacer une règle de protection personnalisée vers un autre compartiment
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur Règles de protection personnalisées.
  3. Trouvez la règle de protection dans la liste, cliquez sur le menu Actions (trois points), puis cliquez sur Déplacer la ressource.
  4. Sélectionnez le compartiment de destination dans la liste.

  5. Cliquez sur Déplacer la ressource.
Pour supprimer une règle de protection personnalisée
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur Règles de protection personnalisées.
  3. Cochez la case correspondant à la règle de protection que vous voulez supprimer.

  4. Cliquez sur Supprimer.
  5. Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
Pour ajouter une règle de protection personnalisée à une politique WAF
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur le nom de la politique WAF pour laquelle vous voulez configurer les paramètres de règle. L'aperçu de la politique WAF s'affiche.
  3. Cliquez sur Règles de protection.
  4. Cliquez sur l'onglet Règles personnalisées.
  5. Cliquez sur Ajouter dans le menu déroulant Actions.
  6. Dans la boîte de dialogue Ajouter une règle personnalisée, sélectionnez une règle de protection personnalisée dans le menu déroulant. Si la règle de protection personnalisée existe dans un autre compartiment, vous pouvez modifier le compartiment où la règle existe.
  7. Sélectionnez l'une des actions suivantes à appliquer à la règle :
    • Détecter : Les demandes mises en correspondance génèrent une alerte et sont transmises à un mandataire.
    • Bloquer : Les demandes mise en correspondance sont bloquées.
  8. Cliquez sur Ajouter.
Pour appliquer une nouvelle action à une règle de protection personnalisée dans une politique WAF
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur le nom de la politique WAF pour laquelle vous voulez modifier une règle de protection personnalisée.
  3. Cliquez sur Règles de protection, puis sur l'onglet Règles personnalisées.
  4. Cochez la case correspondant à la règle personnalisée pour laquelle vous souhaitez modifier l'action.
  5. Sélectionnez l'action dans le menu déroulant Actions.
Pour supprimer une règle de protection personnalisée d'une politique WAF
  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Pare-feu d'application Web, sélectionnez Politiques.
  2. Cliquez sur le nom de la politique WAF pour laquelle vous voulez supprimer une règle de protection personnalisée. L'aperçu de la politique WAF s'affiche.
  3. Cliquez sur Règles de protection.
  4. Cliquez sur l'onglet Règles personnalisées.
  5. Cochez la case correspondant à la règle personnalisée que vous voulez supprimer.

  6. Sélectionnez Supprimer dans le menu déroulant Actions.

Utilisation de l'API

Des règles de protection personnalisées peuvent être créées et ajoutées à un compartiment à l'aide de l'appel CreateProtectionRule dans l'API WAAS. À l'aide du formatage du langage de règle ModSecurity, alimentez le champ template avec les critères de la règle.

Exemple :

{
  "compartmentId": "ocid1.compartment.region1..<unique_ID>",
  "description": "The description text for the rule being created",
  "displayName": "Custom Protection Rule Name",
  "template": "SecRule REQUEST_URI / \"phase:2, t:none, capture, msg:'Custom (XSS) Attack. Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}', id:{{id_1}}, ctl:ruleEngine={{mode}}, tag:'Custom', severity:'2'\""
}

Ajout de règles de protection personnalisées à une configuration WAF

Des règles de protection personnalisées peuvent être ajoutées à une configuration WAF au moyen de l'appel UpdateWafConfig dans l'API WAAS.

Ajoutez l'OCID et l'action souhaitée à exécuter à l'objet CustomProtectionRuleSetting du schéma UpdateWafConfig.

Exemple :

[
  {
    "action": "BLOCK",
    "id":"ocid1.waascustomprotectionrule.oc1..aaaaaaaalxd4jrws4rbbnddzlnotu3giuzo53kopbj747mbvarttr7vyy7ja"
  },
  {
    "action": "DETECT",
    "id":"ocid1.waascustomprotectionrule.oc1..aaaaaaaamx5r72ntmmhwgeaspzpdqcwsgprpuvwsa7xoshnyo3xhtpwcobeq"
  }
]

Pour voir la liste des règles de protection personnalisées disponibles dans un compartiment et les OCID correspondants, utilisez l'appel ListCustomProtectionRules dans l'API WAAS.