Adapter votre protection à votre contexte
En complément des règles de protection natives, vous pouvez renforcer votre protection en personnalisant des règles selon vos besoins spécifiques.
Dans cet article, vous apprendrez comment :
- 1 Consulter les règles personnalisées
- 2 Ajouter une règle personnalisée
- 3 Exemples de règles personnalisées
- 4 Modifier une règle personnalisée
- 5 Supprimer une règle personnalisée
- 6 Labéliser une règle personnalisée et le trafic associé
- 7 Dupliquer une règle personnalisée
- 8 Sélectionner l'action exécutée par défaut
Pour commencer...
Les règles personnalisées vous permettent de filtrer votre trafic entrant en considérant des actions et conditions que vous aurez définies.
Pour garantir une sécurisation optimale de vos services, les règles personnalisées n’ont pas d’impact sur le jeu de règles natif protégeant votre application des menaces du TOP10 OWASP.
Autrement dit, le trafic de tout utilisateur que vous jugez digne de confiance (i.e. pour lequel il existe une règle personnalisée associée à une action Pass) peut être bloqué si ses requêtes sont jugées malveillantes et identifiées comme des menaces de type XSS, SQL injection, ou autre par les règles natives du WAF.
Les challenge JavaScript (JS) et captcha sont des protections pertinentes lorsque vos utilisateurs légitimes accèdent à vos services depuis un navigateur web doté d’une interface graphique (ex. Chrome, Firefox, Safari, etc.).
Consulter les règles personnalisées
L'ensemble des règles personnalisées existantes est accessible depuis le menu par le chemin :
Protégez votre site > Pare-feu applicatif > Règles personnalisées
Les données restituées
Les règles existantes sont restituées sous forme de liste.
Chaque règle rappelle les informations renseignées lors de sa création :
son nom
sa description
les éventuels labels associés
l’action associée
les champs et condition (masquée par défaut) utilisés pour cibler le trafic entrant
Ainsi que :
des métadonnées
la date de création et l'utilisateur ayant créé la règle
la date de dernière modification de la règle et l'utilisateur l'ayant modifié la dernière fois
des métriques sur son impact
A quoi correspondent les métriques associées à chaque règle personnalisée ?
Les métriques associées à chaque règle personnalisée sont calculées sur les 3 dernières heures et permettent de comprendre leur impact sur votre trafic.
Pour chaque règle
Déclenchements
Renseigne sur le nombre de requêtes HTTP matchant les conditions de la règle considérée et aboutissant à son déclenchement.
Part du trafic total (en pourcentage)
Représente la proportion de déclenchements de la règle considérée par rapport au trafic entrant total.
Pour chaque règle associée à une action Captcha ou Challenge JS
Impressions
Renseigne sur le nombre de fois où le captcha Baleen est effectivement restitué suite au déclenchement de la règle considérée.
Demandes d’exécution
Renseigne sur le nombre de fois où Baleen demande l'exécution du challenge JS suite au déclenchement de la règle considérée.
Taux de résolution (en pourcentage)
Représente la proportion de challenges résolus par rapport au nombre de demandes d'exécution ou au nombre d'impressions (selon l'action associée à la règle considérée)
Impact utilisateur (en pourcentage)
Représente la proportion de challenges résolus par rapport au nombre de déclenchements de la règle considérée.
Les actions possibles
Toute règle personnalisée existante peut être :
La recherche et les filtres proposés
A tout moment, la liste des règles personnalisées peut être réduite grâce à une recherche sur le nom de la règle.
Il est également possible de filtrer la liste en considérant les valeurs prises par les données suivantes :
l'état
l’action associée
le label
les champs et opérateurs utilisés
les métriques
Les tris proposés
La liste peut être triée par ordre croissant/décroissant sur les données suivantes :
la date de création
la date de dernière modification
le nombre de déclenchements
Ajouter une règle personnalisée
Pour ajouter une règle personnalisée :
Cliquez sur le bouton “Créer une règle” accessible depuis la liste des règles personnalisées existantes.
Identifiez votre règle en renseignant un nom (obligatoire) et une description (facultatif).
Associez-lui un ou plusieurs labels (facultatif) afin de la retrouver plus facilement et de la regrouper avec d’autres règles (en savoir plus).
Ciblez votre trafic :
en sélectionnant l'action à exécuter :
Block : pour bloquer systématiquement toute requête satisfaisant les conditions d’exécution de la règle ;
Captcha : pour conditionner l’accès à la ressource ciblée à la résolution d’un captcha pour toute requête satisfaisant les conditions d’exécution de la règle ;
Challenge JS : pour conditionner l’accès à la ressource ciblée à l’exécution d’un code Javascript pour toute requête satisfaisant les conditions d’exécution de la règle ;
Pass : pour laisser passer systématiquement toute requête satisfaisant les conditions d’exécution de la règle.
en définissant les conditions d’exécution de l’action sélectionnée :
le champ : permet de définir la donnée dont la valeur sera évaluée dans la condition (voir la liste exhaustive ci-après) ;
l'opérateur : permet de définir l’opération testée par la condition
equal to : permet de tester une égalité exacte ;
matches : permet de tester une expression régulière ;
doesn’t match : permet d’exclure une expression régulière.
la valeur : permet de définir la valeur évaluée dans la condition.
Choisissez l'état de votre règle à sa création : vous pourrez modifier cet état à tout moment ultérieurement.
Validez la création en cliquant sur le bouton "Créer cette règle"
La nouvelle règle créée est ajoutée à la fin de la liste de l'onglet des règles personnalisées.
Les challenge JavaScript (JS) et captcha sont des protections pertinentes lorsque vos utilisateurs légitimes accèdent à vos services depuis un navigateur web doté d’une interface graphique (ex. Chrome, Firefox, Safari, etc.).
Quel champ utiliser pour cibler votre trafic avec une règle personnalisée ?
Pour cibler votre trafic avec une règle personnalisée, vous disposez des champs suivants à utiliser dans vos conditions :
ASN - permet de tester l’identifiant du réseau utilisé pour chaque requête entrante ;
Ex. ASN Google LLC = AS15169
Country - permet de tester le pays de provenance de chaque requête entrante ;
Le format attendu doit respecter la norme ISO 3166-1. Ex. FR pour France
Form - permet de tester la valeur d’un champ de formulaire transmis dans une requête POST ;
Header - permet de tester la valeur des entêtes HTTP de chaque requête entrante ;
IP - permet de tester l’IP utilisée par chaque requête entrante ;
Seules les IPv4 peuvent être saisies. Il est possible de saisir des plages d’IP en utilisant la notation CIDR. Ex. 201.105.7.34/24
ISP - permet de tester le fournisseur d’accès Internet (Internet Service Provider) de chaque requête entrante ;
JA3 - permet de tester l’empreinte de la négociation TLS utilisée pour chaque requête entrante ;
Method - permet de tester le verbe de chaque requête entrante ;
Les verbes les plus utilisées sont : GET, POST, PUT, DELETE, PATCH.
URI Path - permet de tester le chemin de l’URL de chaque requête entrante ;
URI Query string - permet de tester le contenu des paramètres d’URL de chaque requête entrante ;
User-agent - permet de tester l’application logicielle à l’origine de chaque requête entrante ;
Exemples de règles personnalisées
Vous souhaitez autoriser toutes les IP de votre réseau pour garantir un accès à votre site à tous vos collaborateurs
Sélectionnez l’action Pass
Sélectionnez le champ IP
Sélectionnez l’opérateur
Saisissez l’IP de votre réseau ‘62.112.8.0/21’
Vous souhaitez bloquer le trafic en provenance d’Italie
Sélectionnez l’action Block
Sélectionnez le champ Country
Sélectionnez l’opérateur equals
Saisissez la valeur ‘IT’
Vous souhaitez disposer d’un premier niveau de protection efficace pour bloquer les bots malveillants et peu sophistiqués en toute transparence pour vos utilisateurs légitimes
Sélectionnez l’action Challenge JS
Sélectionnez le champ ISP
Sélectionnez l’opérateur equals
Saisissez la valeur ‘IT’
Vous souhaitez soumettre tout utilisateur accédant à votre site sans le cookie your_site en provenance du FAI Deutsche Telekom à un challenge de type captcha
Sélectionnez l’action Captcha
Créez la 1ère condition de la règle
Sélectionnez le champ ISP
Sélectionnez l’opérateur equals
Saisissez la valeur ‘Deutsche Telekom’
Créez la 2nde condition de la règle après avoir cliqué sur le bouton ET
Sélectionnez le champ Header
Saisissez la clé ‘cookie’
Sélectionnez l’opérateur doesn’t match
Saisissez la valeur ‘your_site’
Modifier une règle personnalisée
Pour modifier une règle personnalisée :
Cliquez sur le pictogramme “Modifier cette règle” de la règle personnalisée à modifier
Apportez les modifications souhaitées à la règle personnalisée considérée
Validez les modifications apportées en cliquant sur le bouton "Modifier cette règle"
Les modifications apportées sur la règle sont visibles dans la liste des règles personnalisées.
Toute modification des conditions ou de l’action d’une règle personnalisée entraîne une remise à zéro des métriques associées à la règle modifiée.
Les challenge JavaScript (JS) et captcha sont des protections pertinentes lorsque vos utilisateurs légitimes accèdent à vos services depuis un navigateur web doté d’une interface graphique (ex. Chrome, Firefox, Safari, etc.).
Supprimer une règle personnalisée
Pour supprimer une règle personnalisée existante :
Cliquez sur le lien “Supprimer cette règle” de la règle personnalisée à supprimer, accessible derrière le pictogramme “…” (Plus d’actions)
Confirmez la suppression de la règle
La règle supprimée n'apparaît plus dans la liste des règles personnalisées.
Il est possible de supprimer plusieurs règles personnalisées en les sélectionnant et en cliquant sur le pictogramme de suppression restitué dans le bandeau d'actions par lot.
Labéliser une règle personnalisée et le trafic associé
Il est possible d’associer un ou plusieurs labels (créés pour l’occasion ou déjà existants) à une règle personnalisée lors de sa création/modification.
Cette association permet :
de regrouper plusieurs règles pour les retrouver plus facilement dans la liste des règles personnalisées existantes
de taguer la part de votre trafic qui matche la règle concernée
En effet, pour chaque requête :une en-tête HTTP bln-labels est valorisée avec le(s) label(s) associé(s) à la règle et transmise à l’origine
un champ bln-labels est valorisé dans les acess logs avec le(s) label(s) associé(s) à la règle
Ces éléments peuvent être utilisés pour transmettre un contexte utile à des fins d’analyse et de différentiation de traitement au niveau de l’origine.
Dupliquer une règle personnalisée
Pour dupliquer une règle personnalisée existante :
Cliquez sur le lien “Dupliquer et modifier” de la règle personnalisée à dupliquer, accessible derrière le pictogramme “…” (Plus d’actions) : le formulaire de création d’une nouvelle règle personnalisée est initialisée avec les données de la règle à dupliquer
Apportez les modifications souhaitées à la règle personnalisée initiale
Validez la création de la nouvelle règle en cliquant sur le bouton "Créer cette règle"
Sélectionner l'action exécutée par défaut
Vous pouvez configurer le comportement par défaut des règles statiques en sélectionnant l’action exécutée pour chaque requête lorsqu'aucune des règles personnalisées existantes n'est déclenchée :
Block : par défaut toutes les requêtes entrantes sont bloquées par Baleen
On parle également de modèle de sécurité positif (Positive Security Model)Pass : par défaut, aucune requête entrante n'est bloquée par Baleen.
On parle de modèle de sécurité négatif (Negative Security Model)Challenge JS : par défaut toutes les requêtes entrantes sont soumises au challenge JavaScript
Captcha : par défaut, toutes les requêtes entrantes sont soumises au challenge captcha. Elles sont bloquées en cas de non résolution.