Как я заставляю секунду проигнорировать метку времени правильно

У меня есть правило, которое настраивается как так;

В/etc/sec/rules.d я имею;

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" team@team.com
window=300

Таким образом, если это проникло через системный журнал;

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

Это должно соответствовать этому (который, это делает по словам моего regex редактора) согласно шаблону;

servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins

У нас была проблема со спамом, потому что метка времени изменялась. Таким образом, я переписал шаблон для соответствия всему после имени хоста.

Однако это, кажется, не работает и каждый раз, когда пользователь "аутентификация перестал работать", я все еще получаю электронное письмо.

Я использовал следующее для тестирования;

logger -p syslog.err 'sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user='

Какие-либо идеи? Я мог бы просто неправильно понимать секунду. Это - первый раз, когда я работаю с ним! Любая справка значительно ценилась бы.Спасибо!

13
задан 21 November 2014 в 22:14
1 ответ

Итак, после почти дня выдергивания волос я наконец понял а) как это делать и б) у меня есть заблуждение насчет sec.

При чтении страницы руководства sec и его описывает desc = как показывающий совпадение. На мой взгляд, это означало, что он должен отображать все, что соответствует образцу. Ну да, это правда, в этом случае совпадение в этом шаблоне - это; имя хоста, rhost и пользователь.

Итак, когда я делаю desc = Ошибка входа: $ 0, я выключаю всю строку. Это плохо.

Вместо этого я изменил его, отключив имя пользователя и имя хоста, что затем заставило его придерживаться правила window = 300, так как метка времени (вся строка) не менялась; иначе, следующее краткое изложение:

/etc/sec/rules.d/ssh.sec

type=SingleWithSuppress
ptype=regexp
pattern=(\S+) sshd\[\d+\]: PAM \d+ more authentication failures\; logname=.* uid=.* euid=.* tty=ssh ruser=.* rhost=(.*) user=(.*)
desc=Login Failure: $3@$1
action=pipe '%s $0' /bin/mail -s "Login Failure: $3@$1" email@email.com
window=300

Строка ошибки

Nov 21 01:58:10 test.test.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=test.test.com user=kloggins

Он заметит пользователя (скрыт) и не будет сообщать об этом, если это не повторится снова через 300 секунд , поскольку он отключен (скрыт), проверял его несколько раз, это «веркин».

11
ответ дан 2 December 2019 в 21:27

Теги

Похожие вопросы