Eu tenho uma regra que é configurada assim;
No /etc/sec/rules.d eu tenho;
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
Então, se isso veio através do 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
Deve corresponder a isso (o que acontece de acordo com o meu editor de expressões regulares) de acordo com o padrão;
servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins
Estávamos tendo um problema com spam porque o carimbo de data e hora estava mudando. Então, eu reescrevi o padrão para corresponder a tudo após o nome do host.
No entanto, isso não parece estar funcionando e sempre que uma "autenticação falha" do usuário, eu ainda recebo um email.
Eu tenho usado o seguinte para testar;
logger -p syslog.err 'sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user='
Alguma ideia? Eu poderia estar apenas entendendo mal. É a primeira vez que trabalho com isso! Qualquer ajuda seria muito apreciada. Obrigado!