Mam taką zasadę;
W /etc/sec/rules.d mam;
type=SingleWithSuppress
ptype=regexp
pattern=(\S+) sshd\[\d+\]: PAM \d+ more authentication failures\; logname=.* uid=.* euid=.* tty=ssh ruser=.* rhost=(.*) user=(.*)
desc=Login Failure: $0
action=pipe '%s ' /bin/mail -s "login failure $2 to $3@$1" [email protected]
window=300
Więc jeśli przyszło to przez syslog;
Nov 21 11:24:10 servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins
Powinien pasować do tego (co robi zgodnie z moim edytorem wyrażeń regularnych) zgodnie ze wzorcem;
servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins
Wystąpił problem ze spamem, ponieważ zmieniał się znacznik czasu. Przepisałem więc wzorzec, aby dopasować wszystko po nazwie hosta.
Nie wydaje się to jednak działać i za każdym razem, gdy „uwierzytelnienie użytkownika nie powiedzie się”, nadal otrzymuję wiadomość e-mail.
Użyłem następujących do przetestowania;
logger -p syslog.err 'sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user='
Jakieś pomysły? Być może po prostu źle zrozumiałem. Po raz pierwszy z tym pracuję! Każda pomoc byłaby bardzo mile widziana. Dzięki!