Decoder : Configurer les règles de Decoder

Document created by RSA Information Design and Development Employee on Apr 28, 2019
Version 1Show Document
  • View in full screen mode
 

Cette rubrique présente des procédures permettant de créer et de gérer les règles pour la capture de trafic de Decoder ou Log Decoder dans Configuration des services > onglet Règles. La section Vue Configuration des services - onglets Règles fournit des détails sur les options de l’onglet Règles.

La figure suivante illustre les paramètres les plus utilisés sur un Decoder. Pour une configuration de base rapide avec uniquement les étapes à suivre, reportez-vous à la section Configuration rapide de Decoder et de Log Decoder.

Decoder Configuration workflow diagram with Configure Decoder Rules highlighted.

Les règles de capture peuvent ajouter des alertes ou des informations contextuelles aux sessions ou aux logs. Elles peuvent également définir les données qui sont filtrées par un Decoder ou un Log Decoder. Les règles sont créées pour des modèles de métadonnées spécifiques. Elles se traduisent par des actions prédéfinies lorsque des correspondances sont trouvées. Par exemple, pour garder exclusivement l'ensemble du trafic qui correspond à certains critères, vous pouvez créer une règle qui effectue les actions nécessaires. Une fois appliquées, les règles affectent à la fois l'importation des fichiers de capture de paquets et la capture réseau instantanée.

La rubrique Instructions relatives aux règles et requêtes contient les directives que toutes les requêtes et conditions de règles doivent suivre dans les services NetWitness Platform Core.

Par défaut, aucune règle n'est définie lors de la première installation de NetWitness Platform. Avant que les règles soient spécifiées, les paquets ne sont pas filtrés. Vous pouvez déployer les dernières règles à partir de Live. Vous pouvez définir trois types de règles : règles réseau, règles d’application et règles de corrélation.

  • Les règles réseau sont appliquées au niveau des paquets. Elles sont constituées des groupes de règles de la couche 2, de la couche 3 et de la couche 4. Plusieurs règles peuvent s'appliquer à Decoder. Les règles peuvent être appliquées à plusieurs couches (par exemple, lorsqu'une règle réseau filtre des ports spécifiques pour une adresse IP spécifique). Les règles de réseau ne sont disponibles que sur les Network Decoders.
  • Les règles d’application sont appliquées au niveau de la session. Si la première règle répertoriée ne correspond pas, Decoder tente alors d'établir une correspondance avec la règle répertoriée suivante, jusqu'à ce qu'une correspondance soit trouvée.
  • Les règles de corrélation sont appliquées sur une période de temps glissante configurable. Lorsqu'une correspondance est trouvée, le service crée une super session qui identifie les autres sessions correspondant à la règle, puis crée une liste de sessions à analyser.

Les deux utilisations les plus courantes des règles sont les suivantes :

  • alerter et ainsi créer une métavaleur d'alerte personnalisée, lorsque certaines conditions sont réunies ;
  • filtrer certains types de trafics qui n'ajoutent aucune valeur à l'analyse des données.

Les groupes de règles de capture forment les groupes de règles, que vous pouvez importer et exporter. Grâce à cette fonctionnalité, vous pouvez utiliser plusieurs groupes de règles pour différents scénarios. Vous pouvez importer le groupe de règles exporté, sous la forme d'un fichier .nwr, dans d'autres services NetWitness Platform, ce qui simplifie le déploiement et la configuration de plusieurs services.

Traitement des règles

Voici les principes qui régissent le traitement des règles de capture :

  • Plusieurs règles peuvent s'appliquer à Decoder.
  • Les règles de capture sont exécutées les unes après les autres, de manière séquentielle.
  • Le traitement des règles s'arrête lorsque toutes les règles sont traitées, ou après la détection d'une règle configurée pour arrêter le traitement des règles.
  • Une règle par défaut peut être utilisée pour inclure ou exclure le trafic qui n'a pas été sélectionné par une règle. Si une règle par défaut est utilisée, elle doit toujours être placée au bas de la liste des règles. Sinon, le traitement des règles s'arrête dès que la règle par défaut est évaluée. En effet, par définition, tout le trafic est sélectionné par la règle par défaut.
  • Lorsque le traitement des règles s'arrête, la session est enregistrée à l'aide des options de session et des options de débogage configurées.

Instructions relatives aux règles et requêtes

Toutes les conditions de requêtes et de règles des services RSA NetWitness Core doivent appliquer les instructions suivantes :

Tous les horodatages et valeurs littérales de la chaîne doivent être entre guillemets. Ne mettez pas les nombres ou les adresses MAC et IP entre guillemets.

  • extension = 'torrent'
  • time='2015-jan-01 00:00:00'
  • service=80
  • ip.src = 192.168.0.1

Remarque : L'espace à droite et à gauche d'un opérateur est facultatif. Par exemple, vous pouvez saisir une règle sous la forme service=80 ou service = 80 .

Exemples de règle

Le tableau suivant présente des exemples de conditions de règle. Vous pouvez utiliser des conditions de règle pour les collections de rétention de logs dans un service Archiver et pour les règles d'application, réseau et de corrélation sur un service Decoder, Log Decoder ou Concentrator. Les conditions de règle sont également utilisées dans toutes les clauses WHERE de toutes les requêtes de base de données Core.

Pour obtenir des informations détaillées sur la syntaxe des règles dans NetWitness Platform, reportez-vous à « Clauses WHERE » dans la section « Requêtes » du Guide de réglage de la base de données Core.

                                   
Nom de la règle Condition
ComplianceDevices device.group='PCI Devices' || device.group='HIPPA Devices'
HighValueWindows device.group='Windows Compliance'
MediumValueWindows device.type='winevent_nic' && msg.id='security_4624_security'
LowValueWinLogs device.type='winevent_nic' && msg.id='security_4648_security'
LowValueProxyLogs device.class='proxy' && msg.id='antivirus_license_expired'
GeneralWindows device.type='winevent_nic'

Règles non valides

NetWitness Platform utilise un analyseur de règles qui définit strictement la syntaxe valide pour les règles et les requêtes. Lorsqu’un service Core rencontre une syntaxe non valide, il écrit un avertissement dans les logs NetWitness Platform indiquant l’erreur.

Remarque : NetWitness Platform 11.x ne prend pas en charge l'analyse des règles de syntaxe héritées (comme le faisait la version 10.6). Après la mise à jour vers NetWitness Platform 11.x, les règles contenant une syntaxe non valide sont mises en surbrillance dans l’interface utilisateur, et aucune règle ne sera appliquée tant que les règles non valides ne seront pas corrigées. L'éditeur de règles fournit des infobulles supplémentaires. Une fois les règles corrigées, les mises en surbrillance disparaissent. Reportez-vous à la section Corriger les règles contenant une syntaxe non valide.

Les statistiques /decoder/config/rules/rule.errors et /concentrator/config/rules/rule.errors indiquent le nombre de règles contenant des erreurs. Si les statistiques  rule.errors  ne sont pas égales à zéro, NetWitness Platform génère une alerte d'intégrité pour indiquer que vous devez corriger les règles.

Consignes générales sur la syntaxe

  • Toutes les valeurs de texte doivent utiliser des valeurs littérales entre guillemets. Exemple : username = 'user1'
  • Les guillemets peuvent être des guillemets simples ou doubles ; mais ils doivent être cohérents. (Vous ne pouvez pas démarrer avec un guillemet simple et terminer avec un guillemet double.)
  • Si la valeur littérale comporte des guillemets, vous pouvez insérer un caractère d'échappement (une barre oblique inversée) ou utiliser des guillemets ouvrants différents. Les deux exemples suivants sont valides : username = "User's" , username = 'User\'s'

Les règles de syntaxe suivantes sont valides :

  • Pour utiliser une barre oblique inversée dans une chaîne littérale, insérez une autre barre oblique inversée en guise de caractère d'échappement : \
  • Toutes les valeurs temporelles doivent utiliser des guillemets pour les dates au format suivant :
    time = 'YYYY-MM-DD HH:MM:SS'
  • Toutes les valeurs temporelles exprimées en nombres de secondes depuis l'outil EPOCH (01/01/1970), ne doivent pas être mis entre guillemets.
    Exemple : time = 1448034064
  • Tout le reste ne doit pas être mis entre guillemets : Adresses IP, adresses Mac, chiffres, etc. Exemple : service = 80 && ip.src = 192.168.1.1/16

Syntaxe des règles de capture

Les règles de capture comparent les champs aux valeurs ou à d’autres champs. Voici l’exemple d’une expression simple avec une clé méta sur le côté gauche de l’opérateur et une valeur sur le côté droit.

ip.dst=192.168.1.1

La syntaxe autorise une clé méta sur le côté droit de l’opérateur dans les Decoders et Log Decoders pour les règles d’application et réseau. La comparaison des clés méta ne s’applique pas à la clause where dans les requêtes. Voici l’exemple d’une expression simple avec une clé méta sur le côté gauche de l’opérateur et une clé méta sur le côté droit.

ip.src=ip.dst

Les règles qui incluent la prise en charge de la comparaison de clés méta renommées : si une règle interroge une clé méta qui a été renommée, la règle est analysée pour la clé méta renommée. Par exemple, si la clé méta ip_dst est utilisée dans une règle, elle est mappée en toute transparence sur la clé méta renommée : ip.dst. Les règles existantes qui incluent des clés d’origine déclenchent des alertes comprenant des données pour la clé méta renommée.

Voici un exemple d’une règle qui trouve des paquets ayant la même adresse ip.src et adresse ip.dst sur un Decoder, et génère une alerte sur le Concentrator.

alert=alert.id name=testRule8 rule="ip.src=ip.dst" order=38

Cette règle peut générer une erreur car eth.src et ip.src sont des formats incompatibles.

rule="eth.src=ip.src" name="testRule99" alert=alert.id

Les valeurs peuvent être exprimées sous forme de valeurs discrètes, de plages de valeurs, de limites inférieure ou supérieure, ou d'une combinaison de ces trois possibilités. Vous pouvez créer une comparaison de supériorité ou d'infériorité, et tester l'égalité ou l'inégalité par rapport à une plage de valeurs ou une limite supérieure/inférieure.

key 0-5 (plage de valeurs)

key = 0-u est identique à key >= 0 (limite supérieure, supérieur ou égal à)

Le tableau suivant résume les opérateurs sur les clés méta.

                                                                                                         
Format de l’opérande de gaucheOpérateurFormat de l’opérande de droiteDescription
N’importe lequel= Compatible avec l’opérande de gaucheOpérateur égalité. Vous pouvez utiliser des valeurs ou des clés méta sur le côté droit de l’opérateur d’égalité.

N’importe lequel

!= Compatible avec l’opérande de gaucheOpérateur d'inégalité. Vous pouvez utiliser des valeurs ou des clés méta sur le côté droit de l’opérateur d’inégalité.
N’importe lequel < Compatible avec l’opérande de gaucheOpérateur Inférieur à. Vous pouvez utiliser des valeurs ou des clés méta sur le côté droit de cet opérateur.
N’importe lequel <= Compatible avec l’opérande de gaucheOpérateur Inférieur ou égal à. Vous pouvez utiliser des valeurs ou des clés méta sur le côté droit de cet opérateur.
N’importe lequel > Compatible avec l’opérande de gaucheOpérateur Supérieur à. Vous pouvez utiliser des valeurs ou des clés méta sur le côté droit de cet opérateur.
N’importe lequel >= Compatible avec l’opérande de gaucheOpérateur Supérieur à ou égal. Vous pouvez utiliser des valeurs ou des clés méta sur le côté droit de cet opérateur.
Textecontains TexteRecherchez des valeurs qui contiennent l’opérande de droite. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.

Texte

begins

Texte

Recherchez des valeurs qui commencent par l’opérande de droite. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.
Texteends TexteRecherchez des valeurs qui terminent par l’opérande de droite. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.

Texte

length

Entier

Recherchez des chaînes d’une certaine longueur. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.

N’importe lequel

count

Entier

Trouvez des valeurs avec un certain nombre d’occurrences dans la session. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.

N’importe lequel

ucount et unique

Entier

Recherche des valeurs se produisant de manière unique. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur. Par exemple, si les résultats incluent les instances d’une clé méta avec cinq valeurs uniques et trois de la même valeur, ucount est égal à six.

s.o.exists N’importe lequelRecherche toutes les valeurs de la clé méta. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.
s.o.!exists N’importe lequelRecherche toutes les sessions dans lesquelles la clé méta ne se produit pas. Vous pouvez utiliser des clés méta ou des valeurs sur le côté droit de cet opérateur.

Texte

regex

Texte

Recherche les valeurs correspondant à une expression régulière. Vous pouvez utiliser des valeurs sur le côté droit de cet opérateur.

Le tableau suivant récapitule les autres éléments de la syntaxe utilisée dans les règles.

                                               
Élément de la syntaxeDescription

*

Règle par défaut. Si vous utilisez un astérisque (*) en tant que caractère unique dans une règle, celleci sélectionne la totalité du trafic.

u Limite supérieure d’une plage de temps, d’adresses IP ou de formats numériques. Par exemple, pour sélectionner tous les ports TCP au-dessus du port 40000, la syntaxe est la suivante :
tcp.port = 40000-u
l Limite inférieure d’une plage de temps, d’adresses IP ou de valeurs numériques. Par exemple, pour sélectionner tous les ports TCP en dessous du port 40000, la syntaxe est la suivante :
tcp.port = l-40000
- (tiret)Désigne une plage. Cela s’applique uniquement aux valeurs temporelles, adresses IP ou MAC, ou valeurs numériques. Séparez les limites inférieure et supérieure de la plage par un trait (). Par exemple, pour sélectionner les ports TCP situés entre 25 et 443, la syntaxe est la suivante :
tcp.port = 25-443
, (virgule)Désigne une liste de plages, de valeurs ou de clés méta. Vous pouvez combiner l'utilisation de valeurs individuelles, de plages et de limites supérieure ou inférieure. Les clés méta uniques peuvent être utilisées dans une liste. Les clés méta et valeurs littérales ne peuvent pas apparaître sur le côté droit d’un opérateur. Par exemple, ce qui suit est une syntaxe valide :
tcp.port = 1-10,25,110,143-225,40000-u
( ) Opérateur de regroupement. Vous pouvez mettre une expression entre parenthèses pour créer une expression logique. Par exemple, voici comment sélectionner le trafic sur le port 80 vers/depuis l'adresse 192.168.1.1 OU le trafic sur le port 443 vers/depuis l'adresse 10.10.10.1 :
(ip.addr=192.168.1.1 && tcp.port=80) || (ip.addr=10.10.10.1 && tcp.port=443)

~

Opérateur logique NOT, négation d’une expression.

&& Opérateur logique AND, combinaison de deux expressions.
|| Opérateur logique OR, disjonction de deux expressions.

Configurer les règles de capture

Les règles de Decoder et de Log Decoder sont modifiables dans la vue Configuration des services. Bien que chaque type de règle (réseau, application et corrélation) ait son propre onglet, ses fonctions sont similaires. Vous pouvez :

  • ajouter, modifier et supprimer des règles ;
  • activer et désactiver des règles ;
  • changer la séquence d'exécution des règles ;
  • importer des règles à partir d'un fichier ;
  • exporter des règles dans un fichier ;
  • transmettre (push) les règles à un autre service ;
  • annuler ou appliquer les modifications apportées aux règles ;
  • restaurer l'une des dix dernières configurations de règle à partir d’un snapshot

Pour configurer des règles dans les onglets Règles

  1. Accédez à ADMIN > Services.
  2. Dans la vue Services, sélectionnez un service Decoder, puis Actions menu cropped> Vue > Configuration.
  3. Dans la vue Configuration des services, sélectionnez l'un des onglets Règles : règles réseau, règles d'application ou règles de corrélation.
    La liste des règles correspondant au type de règles sélectionné s'affiche.
    This is an example of the App Rules tab rules list.

Chaque type de règles possède une liste avec des colonnes et des paramètres légèrement différents. Plusieurs principes de base s'appliquent à l'ensemble des activités de gestion des règles :

  • Les règles sont exécutées dans l'ordre où elles apparaissent dans la liste. Pour changer la séquence d'exécution des règles, effectuez un glisser-déplacer de ces dernières vers l'emplacement approprié dans la liste, ou utilisez les options de menu contextuel pour les réorganiser au sein de la liste.
  • Pour sélectionner une seule ligne, cliquez sur celleci.
  • Pour sélectionner un groupe de lignes adjacentes, cliquez sur la première d'entre elles, puis appuyez sur la touche Maj et cliquez sur la ligne située à la fin du groupe.
  • Pour sélectionner plusieurs lignes non adjacentes, cliquez sur la première d'entre elles, puis appuyez sur la touche Ctrl et cliquez sur les autres.
  • Lorsque vous modifiez des règles sous l'onglet Règles, vous devez appliquer les modifications de configuration pour les rendre effectives.
  • Tant que ces changements ne sont pas appliqués, vous pouvez ignorer les modifications apportées à la liste et revenir aux règles non modifiées.
  • Une fois les règles appliquées, vous pouvez restaurer les dix dernières configurations de règle à l'aide de l'option Historique du menu Actions.

Pour ajouter une règle à un onglet Règles, procédez de l'une des façons suivantes :

  • Cliquez sur The add icon.
  • Cliquez avec le bouton droit de la souris sur une règle, puis sélectionnez Insérer au-dessus ou Insérer en dessous dans le menu contextuel.
    La boîte de dialogue Éditeur de règles s'affiche pour ce type de règle.

Pour supprimer une règle :

  1. Sous l'un des onglets Règles, sélectionnez les règles à supprimer de la liste de règles.
  2. Cliquez sur The delete icon.
    Les règles sélectionnées sont supprimées de la grille, mais elles existent encore dans le service.

Pour modifier une règle 

  1. Sous l'onglet Règles, sélectionnez la règle à modifier.
  2. Cliquez sur The edit icon, ou double-cliquez sur la ligne de la règle.
    La boîte de dialogue Éditeur de règles s'affiche pour ce type de règle.

Pour désactiver une règle :

  1. Sous l'onglet Règles, sélectionnez les règles à désactiver.
  2. Cliquez sur The Disable button.
    La règle passe à l'état désactivé dans la liste de règles, mais elle est toujours activée dans le service.

Pour activer une règle :

  1. Sous l'onglet Règles, sélectionnez les règles à activer.
  2. Cliquez sur The enable button.
    La règle passe à l'état activé dans la liste de règles, mais elle est toujours désactivée dans le service.

Importer des règles à partir d’un fichier et exporter des règles

Vous pouvez importer des règles réseau, d'application et de corrélation dans Decoder à partir d'un fichier qui contient des règles du même type. Une fois ces règles importées, vous pouvez les modifier et les gérer comme les autres règles.

Lorsque vous essayez d'importer un groupe de règles, NetWitness Platform Administration vérifie le type de règles importées. En cas de succès, un message affiche le nombre de règles importées. Si le type de règles diffère du type d'onglets actif, les règles ne sont pas importées. Vous devez réimporter les règles sous l'onglet approprié, ou sélectionner un autre fichier à importer.

Pour importer des règles dans un service :

  1. Sous l’onglet Règles, sélectionnez The Actions drop-down menu> The import button.
    La boîte de dialogue Importer s’affiche.
    This is an example of the Import dialog.
  2. Cliquez sur The add icon.
    Une vue de la structure du répertoire s'affiche.
  3. Choisissez un ou plusieurs fichiers de règles NetWitness (.nwr) à importer, puis cliquez sur Ouvrir.
    Le fichier est ajouté à la liste de la boîte de dialogue Importer.
    This is an example of the Import dialog.
  4. Cliquez sur Importer.
    Les règles sont importées dans l'interface utilisateur. Les règles importées présentent un angle rouge dans chaque colonne modifiée.
  5. Modifiez ou réorganisez les règles, si nécessaire.
  6. Pour enregistrer les règles dans le service, cliquez sur Appliquer.
    Les règles du service sont mises à jour avec les changements apportés.

Pour exporter une règle dans un fichier :

  1. Pour exporter un sousensemble de règles, sélectionnez les règles à exporter.
  2. Exécutez l'une des opérations suivantes :
    • Dans la barre d'outils, sélectionnez The Actions drop-down menu > Exporter > Sélection. (Exporter > Tout exporte toutes les règles de la liste, même si vous avez sélectionné un sous-ensemble à exporter.)
    • Cliquez avec le bouton droit de la souris sur les règles sélectionnées et sélectionnez Sélections pour l'exportation.

Une invite s'affiche pour le nom du fichier.

  1. Saisissez le nom du fichier, puis cliquez sur Exporter.
    Le fichier .nwr est téléchargé.

Transmettre (push) les règles à d'autres services

Vous pouvez transmettre (push) des règles ou les règles sélectionnées à d'autres services (Decoder ou Log Decoder) ou groupes de services. Lorsque vous transmettez toutes les règles aux autres services, toutes les règles des services de destination sont supprimées et remplacées par toutes les règles du service source. 

Pour transmettre les règles sélectionnées de ce Decoder à d'autres instances de Decoder :

  1. Dans un onglet Règles, sélectionnez les règles à transmettre à un autre Decoder.
  2. Exécutez l'une des opérations suivantes :
    • Sélectionnez The actions drop-down menu > Transmettre > Sélection.
    • Cliquez avec le bouton droit de la souris sur les règles sélectionnées et sélectionnez Transmettre les règles sélectionnées.
      La boîte de dialogue Transmettre les règles sélectionnées s'affiche.
      This is an example of the Push Selected Rules dialog.
  3. Sélectionnez une Option de transmission :
    • Sélectionnez Tout remplacer pour supprimer toutes les règles sur les services de destination et les remplacer par les règles sélectionnées. Voici la sélection par défaut.
    • Sélectionnez Fusionner pour fusionner les règles sélectionnées avec les règles existantes sur les services de destination.
  4. Sous l'onglet Services, sélectionnez les services destinés à recevoir les règles transmises, ou sélectionnez les groupes de services sous l'onglet Groupes.
  5. Cliquez sur Transmettre.
    Les règles sont transmises aux services sélectionnés, puis entrent en vigueur immédiatement.

Pour transmettre toutes les règles de ce Decoder à d'autres instances de Decoder :

  1. Dans l’onglet Règles, sélectionnez The Actions drop-down menu > Transmettre > Tout.
    (Transmettre > Tout transmet toutes les règles de la grille même si vous avez sélectionné un sous-ensemble à exporter.) La boîte de dialogue Transmettre les règles sélectionnées s'affiche.
    This is an example of the Push Selected Rules dialog with Replace All selected.
  2. Sous l'onglet Services, sélectionnez les services destinés à recevoir les règles transmises, ou sélectionnez les groupes de services sous l'onglet Groupes.
  3. Cliquez sur Transmettre.
    Toutes les règles des services de destination sont supprimées et remplacées par toutes les règles des services source. Les règles prennent effet immédiatement.

Changer la séquence d'exécution des règles

Les règles de capture sont appliquées dans l'ordre où elles apparaissent dans la liste Règles. Pour réorganiser les règles, utilisez l'une des méthodes suivantes :

  • Effectuez un glisser-déplacer des règles vers l'emplacement approprié dans la liste de règles.
  • Cliquez avec le bouton droit de la souris sur une règle pour afficher le menu contextuel, puis utilisez les options Couper et Coller.

Restaurer un snapshot de règles à partir de l'historique

NetWitness Platform conserve les dix derniers snapshots de règle appliqués à un service.

Pour restaurer un snapshot de règles à partir de l'historique :

  1. Sélectionnez The Actions drop-down menu > Historique.
    Un sous-menu de snapshots s'affiche.
    the History drop-down list
  2. Sélectionnez l'heure du snapshot dans le sous-menu.
    Les règles du snapshot sont chargées dans la liste de règles, en remplacement du groupe actuel. Toutefois, le groupe actuel est toujours utilisé dans le service.
  3. Pour appliquer les règles au service, cliquez sur Appliquer.
    Les règles sont appliquées au service.
You are here
Table of Contents > Configurer les règles de Decoder

Attachments

    Outcomes