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 :

 

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

Exemple d’une règle personnalisée

 

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 :

 

Actions associées à toute règle personnalisée

 

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

 

Filtres et tris proposés sur les règles personnalisées

 

Ajouter une règle personnalisée

Pour ajouter une règle personnalisée : 

  1. Cliquez sur le bouton “Créer une règle” accessible depuis la liste des règles personnalisées existantes.

  2. Identifiez votre règle en renseignant un nom (obligatoire) et une description (facultatif).

  3. 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).

  4. Ciblez votre trafic :

    1. en sélectionnant l'action à exécuter :

      1. Block : pour bloquer systématiquement toute requête satisfaisant les conditions d’exécution de la règle ;

      2. 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 ;

      3. 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 ;

      4. Pass : pour laisser passer systématiquement toute requête satisfaisant les conditions d’exécution de la règle.

    2. en définissant les conditions d’exécution de l’action sélectionnée :

      1. 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) ;

      2. l'opérateur : permet de définir l’opération testée par la condition

        1. equal to : permet de tester une égalité exacte ;

        2. matches : permet de tester une expression régulière ;

        3. doesn’t match : permet d’exclure une expression régulière.

      3. la valeur : permet de définir la valeur évaluée dans la condition.

  5. Choisissez l'état de votre règle à sa création : vous pourrez modifier cet état à tout moment ultérieurement.

  6. Validez la création en cliquant sur le bouton "Créer cette règle"

  7. 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

  1. Sélectionnez l’action Pass

  2. Sélectionnez le champ IP

  3. Sélectionnez l’opérateur

  4. Saisissez l’IP de votre réseau ‘62.112.8.0/21’


Vous souhaitez bloquer le trafic en provenance d’Italie

  1. Sélectionnez l’action Block

  2. Sélectionnez le champ Country

  3. Sélectionnez l’opérateur equals

  4. 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

  1. Sélectionnez l’action Challenge JS

  2. Sélectionnez le champ ISP

  3. Sélectionnez l’opérateur equals

  4. 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

  1. Sélectionnez l’action Captcha

  2. Créez la 1ère condition de la règle

    1. Sélectionnez le champ ISP

    2. Sélectionnez l’opérateur equals

    3. Saisissez la valeur ‘Deutsche Telekom’

  3. Créez la 2nde condition de la règle après avoir cliqué sur le bouton ET

    1. Sélectionnez le champ Header

    2. Saisissez la clé ‘cookie’

    3. Sélectionnez l’opérateur doesn’t match

    4. Saisissez la valeur ‘your_site’

 

Modifier une règle personnalisée

Pour modifier une règle personnalisée :

  1. Cliquez sur le pictogramme “Modifier cette règle” de la règle personnalisée à modifier

  2. Apportez les modifications souhaitées à la règle personnalisée considérée

  3. Validez les modifications apportées en cliquant sur le bouton "Modifier cette règle"

  4. 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 :

  1. Cliquez sur le lien “Supprimer cette règle” de la règle personnalisée à supprimer, accessible derrière le pictogramme “…” (Plus d’actions)

  2. Confirmez la suppression de la règle

  3. 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.

Association de 2 labels lors de la création d’une règle

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 :

  1. 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

  2. Apportez les modifications souhaitées à la règle personnalisée initiale

  3. 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.