![Lógica 'e' do NxLog](https://rvso.com/image/696989/L%C3%B3gica%20'e'%20do%20NxLog.png)
Atualmente tenho o NxLog em execução em vários controladores de domínio retirando eventos de login/logout.
Exec if $TargetUserName =~ /(\S+\$|user1|user2|user3|user4)/ drop(); \
else if ($EventID == 4624 or $EventID == 4625 or $EventID == 4648 or $EventID == 4768) $raw_event = "Time:" + $EventTime + ", EventID:" + $EventID + ", Keyword:" + $Status + ", LogonType:" + $LogonType + ", User:" + $TargetDomainName + "\\" + $TargetUserName + ", IPAddr:" + $IPAddress; \
else if $raw_event =~ /^(.+)(Detailed Authentication Information:|Additional Information:)/ $raw_event = $1; if $raw_event =~ s/\t/ /g {}
Embora a configuração acima funcione bem, no fato de ignorar nomes de usuário com $ nele e também aqueles que eu especifiquei, quero ignorar apenas o ID do evento 4624 com esses nomes de usuário para que ainda possa ver logins com falha. Achei que a configuração a seguir funcionaria, mas continuo recebendo erros de sintaxe.
Exec if ($EventID == 4624 and $TargetUserName =~ /(\S+\$|user1|user2|user3|user4)/ drop(); \
else if ($EventID == 4624 or $EventID == 4625 or $EventID == 4648 or $EventID == 4768) $raw_event = "Time:" + $EventTime + ", EventID:" + $EventID + ", Keyword:" + $Status + ", LogonType:" + $LogonType + ", User:" + $TargetDomainName + "\\" + $TargetUserName + ", IPAddr:" + $IPAddress; \
else if $raw_event =~ /^(.+)(Detailed Authentication Information:|Additional Information:)/ $raw_event = $1; if $raw_event =~ s/\t/ /g {}
Qualquer ajuda seria muito apreciada.
Editar:Para completar, abaixo estava minha configuração final para descartar nomes de usuário com $ e, em seguida, eventos bem-sucedidos/Kerb em várias contas que eram tagarelas e com as quais eu não me importava.
Exec if $TargetUserName =~ /(\S+\$)/ drop(); \
else if ($EventID == 4624 and $TargetUserName =~ /(user1|user2|user3|user4)/) drop(); \
else if ($EventID == 4648 and $TargetUserName =~ /(user1|user2|user3|user4)/) drop(); \
else if ($EventID == 4624 or $EventID == 4625 or $EventID == 4648 or $EventID == 4768) $raw_event = "Time:" + $EventTime + ", EventID:" + $EventID + ", Keyword:" + $Status + ", LogonType:" + $LogonType + ", User:" + $TargetDomainName + "\\" + $TargetUserName + ", IPAddr:" + $IPAddress; \
else if $raw_event =~ /^(.+)(Detailed Authentication Information:|Additional Information:)/ $raw_event = $1; if $raw_event =~ s/\t/ /g {}
Responder1
A causa do erro de sintaxe é que os colchetes não estão emparelhados corretamente. Deveria ser assim:
Exec if ($EventID == 4624 ... ) drop();
^ ^