2017-02-23 1 views
0

Je suis nouveau dans la pile Elastic et je travaille maintenant avec Winlogbeat pour surveiller les connexions utilisateur. Avant d'envoyer les événements à Elasticsearch, je souhaite supprimer les événements de connexion qui n'ont pas été générés par les utilisateurs (par exemple, les comptes système et de service). J'ai essayé d'utiliser le processors, mais cela ne semble pas fonctionner. La documentation est vraiment minime et il n'y a pas d'exemple de travail.Filtrage des événements d'ouverture de session utilisateur à l'aide des processeurs Winlogbeat 5.x

Ceci est ma configuration du processeur:

processors: 
- drop_event: 
    when: 
     regexp: 
      event_data.TargetUserName: ".*$" 

processors: 
- drop_event: 
    when: 
     equals: 
      event_data.LogonType: "0" 

processors: 
- drop_event: 
    when: 
     equals: 
      event_data.LogonType: "5" 

Cependant, je reçois cela comme le résultat:

"LogonType": "3", 
"ProcessId": "0x0", 
"ProcessName": "-", 
"SubjectDomainName": "-", 
"SubjectLogonId": "0x0", 
"SubjectUserName": "-", 
"SubjectUserSid": "S-1-0-0", 
"TargetDomainName": "DOMAIN", 
"TargetLogonId": "0x14d570eec", 
"TargetUserName": "MACHINE-01$", 
"TargetUserSid": "S-1-5-18", 
"TransmittedServices": "-" 

Quelqu'un peut-il me dire ce qui ne va pas avec ma config processeur?

+0

Pouvez-vous préciser ce que vous entendez par "Je veux filtrer les événements de connexion qui ne provenaient pas de l'utilisateur avant qu'ils ne soient envoyés à Elasticsearch." –

+0

Je pense avoir compris ce que vous vouliez dire. –

Répondre

0

Vous avez déclaré trois variables processors distinctes dans votre fichier de configuration YAML. Il devrait y en avoir seulement un. processors est une liste qui vous permet d'ajouter plusieurs éléments à la liste. Il y a documentation des processeurs et leurs conditions.

processors: 
- <processor_name>: 
    when: 
     <condition> 
      <parameters> 
- <processor_name>: 
    when: 
     <condition> 
      <parameters> 

Étant donné que vous souhaitez supprimer l'événement lorsque l'une des conditions sont vraies, vous pouvez utiliser un seul processeur drop_event avec une condition or. Voici un exemple.

processors: 
- drop_event: 
    when.or: 
     # This filters logons from managed service accounts. 
     # The trailing dollar sign is reserved for managed service accounts. 
     - regexp.event_data.TargetUserName: '.*\$' 

     # This filters logon type 0 which is used for system accounts. 
     - equals.event_data.LogonType: '0' 

     # This filters logon type 5 which is used for service accounts. 
     - equals.event_data.LogonType: '5' 

     # This filters anonymous logons which are typically benign. 
     # Anonymous users have extremely limited privileges. 
     - equals.event_data.TargetUserName: 'ANONYMOUS LOGON' 

Je pensais que vous suivrez quelques-unes des conditions énumérées dans ce billet de blog Winlogbeat - Monitoring Windows Logons with Winlogbeat.

+0

Donc, c'est le problème, je vais essayer maintenant. Je vous remercie. – Lakszhmi