Alertes : Annotations ESA

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

Cette rubrique décrit les annotations proposées par NetWitness Suite pour une utilisation dans les règles EPL avancées.

Annotation @RSAAlert

L'annotation @RSAAlert permet de marquer les instructions EPL liées à la génération de notifications d'alertes. Elle est conçue pour fonctionner avec la fonction de suppression de notifications d’alerte dans l’interface utilisateur Générateur de règles.

L’annotation @RSAAlert peut être utile lorsque vous manipulez des notifications d’alerte, en particulier si vous souhaitez filtrer les notifications, telles que l’envoi d’une notification pour chaque utilisateur qui déclenche une alerte.

Par exemple, supposons que vous souhaitiez générer des notifications d’alerte pour les échecs de connexion. Vous pouvez ajouter l’instruction suivante :

@RSAAlert select * from event(msg_id=“login_fail")

 

                                                  
Numéro d'événementID de messagenom d'utilisateursrc_IPHeure
1login_failalice1.2.3.410:00
2login_failalice1.2.3.410:01
3login_failalice6.7.8.910:01
4login_failbob1.2.3.410:01
5login_failalice1.2.3.410:03

 

Pour l’instruction ci-dessus, cinq notifications d’alerte sont générées.

Toutefois, supposons que vous souhaitiez modifier l’instruction pour générer une alerte pour chaque nom d’utilisateur distinct. Vous pouvez utiliser l’attribut identifiant. Par exemple, l’instruction @RSAAlert(identifier={”username”}) SELECT* FROM Event(msg_id=”login_fail”) génère une notification pour la première alerte pour « bob » et une pour la première alerte pour « alice ». Les alertes suivantes pour « bob » et « alice » sont ignorées.

Vous pouvez distinguer davantage les utilisateurs en ajoutant des informations grâce à la variable identifiant. Par exemple, vous pouvez effectuer la distinction par l’utilisateur ou l’adresse IP à l’aide de l’instruction suivante : @RSAAlert(identifier={”username”, "src_ip"}) SELECT* FROM Event(msg_id=”login_fail”). Ensuite, vous devriez voir des notifications générées par le nom d’utilisateur et l’adresse IP (une alerte pour « alice » à 1.2.3.4, une autre alerte « Alice » à 6.7.8.9 et une alerte pour « bob » en 1.2.3.4).

Pour utiliser des identifiants avec suppression de notification d’alerte :

l’annotation @RSAAlert est conçue pour fonctionner avec la fonction de suppression de notifications d’alerte dans l’interface utilisateur Générateur de règles. Pour ce faire, procédez comme suit :

  1. Créez une règle dans l’interface utilisateur du générateur de règles et sélectionnez la fonction de suppression d’alerte lors de la configuration de notifications.

Suppression de notification

  1. Copiez le code de la règle Générateur de règles dans une nouvelle règle avancée.

  2. Configurez la règle avancée pour inclure des identifiants (comme décrit ci-dessus) et enregistrer la règle avancée.

  3. Supprimez la règle de générateur de règle d’origine.

Annotation @RSAPersist

L'annotation @RSAPersist permet de marquer une fenêtre nommée en tant que fenêtre gérée ESA à des fins de persistance. Si vous procédez ainsi, ESA enregistre régulièrement le contenu de la fenêtre sur le disque et le restaure si le déploiement de la fenêtre est annulé, puis rétabli. Les systèmes prennent un snapshot juste avant que le déploiement du module soit annulé et que la fenêtre soit supprimée. À l'inverse, il restaure le contenu de la fenêtre à partir du snapshot juste après le redéploiement du module. Cela permet d'éviter la perte du contenu de la fenêtre lorsque l'état du module est altéré ou que le service ESA s'arrête.

Par exemple, supposez que la fenêtre nommée DHCPTracker  contienne un mappage d'adresses IP avec chacun des noms d'hôte attribués. Vous pouvez marquer une instruction avec l'annotation @RSAPersist de la façon suivante :

@RSAPersist
create window DHCPTracker.std:unique(ip_src) as (ip_src string, alias_host string);
insert into DHCPTracker select IP as ip_src, HostName as alias_host from DHCPAssignment(ID=32);

Remarque : Toutes les définitions de fenêtres ne conviennent pas pour la persistance. L'annotation @RSAPersist  doit être utilisée avec précaution. Si la fenêtre inclut des enregistrements basés sur le temps ou si elle dépend de contraintes de temps, il est fort probable que les snapshots rétablis ne permettront pas de la restaurer dans son état approprié. De la même manière, les changements apportés à la définition de la fenêtre invalideront tous les snapshots et affecteront un état vide à la fenêtre. Le système ne génère aucune analyse sémantique pour déterminer si ces changements de la définition de la fenêtre entrent en conflit ou non. Notez que d'autres parties d'un module (autres que l'appel CREATE WINDOW spécifique qui définit la fenêtre) peuvent varier, sans invalider les snapshots.

@UsesEnrichment (10.6.1.1 et versions ultérieures)

@UsesEnrichment peut servir à référencer des enrichissements dans les règles EPL avancées. Pour synchroniser les enrichissements avec ESA, toutes les dépendances d’enrichissement dans les règles EPL doivent être référencées avec l’annotation @UsesEnrichment.

L’annotation @UsesEnrichment utilise le format suivant :

@UsesEnrichment(name= '<enrichment_name>')

Par exemple, l’EPL suivante fait référence à un enrichissement de la liste blanche :

@UsesEnrichment(name = 'Whitelist')

@RSAAlert

SELECT * FROM Event(ip_src NOT IN (SELECT ip_address FROM Whitelist))

@Name

@Name est le nom de l’instruction défini dans les règles avancées ESA. Il sert à générer de manière dynamique les noms d’instruction dans les alertes ESA. Le nom d’une seule instruction de déclenchement d’alerte s’affiche. Cette annotation contient des clés méta entourées d’accolades.

L’annotation @Name utilise le format suivant :

@Name("<static_part_of_statement_name> {meta_key1} {meta_key2}…")

Par exemple, l’EPL suivante fait référence à des clés méta ip_src et user_name dont les valeurs sont générées dynamiquement.

@Name(“Login Event to {ip_src} by {user_name}”)

Remarque : Vous pouvez spécifier n’importe quel nombre de clés méta dans l’instruction pour la génération d’un nom d’instruction dynamique.
La longueur de clé méta individuelle est limitée à 64. Au-delà, la valeur est tronquée et « ... » lui est ajouté.
La longueur de la génération dynamique du nom de l’instruction est limitée à 128. Au-delà, la valeur est tronquée à 128 et « ... » lui est ajouté. Tous les autres valeurs restantes après la troncature seront traitées en tant que valeurs statiques.

You are here
Table of Contents > Ajouter des règles à la Bibliothèque de règles > Ajouter une règle EPL avancée > Annotations ESA

Attachments

    Outcomes