2015-10-31 3 views
1

J'essaie d'utiliser des chaînes mathématiques dans /var/log/secure avec regex pour savoir s'il y a un échec d'authentification ssh.Regex pour les échecs d'authentification mathématique dans/var/log/secure

En cas d'échec de l'authentification, il ressemblera à ceci dans le fichier journal:

Oct 31 07:52:41 logserver sshd[17041]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost

J'ai essayé de faire quelque chose comme ceci:

"\\<sshd[^:]*: pam_unix(sshd:auth): authentication failure; ./* \\>"

Mais il ne marche pas ne fonctionne pas. J'apprécierais que certains puissent m'aider avec des expressions régulières.

Ceci est sur une machine CentOS 7 et la regex est pour le plugin collectd tail.

+0

Quel est le résultat attendu? (par exemple, la ligne à sortir, etc.) –

+0

@ l'L Je suis en train de tenter de maths: "pam_unix (sshd: auth): échec d'authentification" – krt

+0

Pourquoi ne pas simplement faire l'erreur d'authentification "grep"?/var/log/secure' –

Répondre

1

Dans le collectd.conf vous pourriez probablement utiliser une des options suivantes:

<Plugin "tail"> 
    <File "/var/log/secure"> 
    ... 
    <Match> 

Option 1:

Regex "authentication failure" 

Option 2:

Regex "sshd:auth[^:]*: authentication failure;" 

Option 3:Lorsque les options 1 et 2 doivent être les plus précises pour l'appariement, et l'option 3 plus généralisée. L'option 1 trouve l'expression exacte authentication failure, l'option 2 trouve la phrase exacte avec (sshd: auth): la précédant, et l'option 3 trouve la phrase exacte ou "authentification" ou "échec".

</Match> 
    </File> 
</Plugin> 
+0

Merci encore une fois! Je n'ai pas avec l'option 2. Fonctionne très bien! – krt

+0

De rien! heureux de vous aider :) –