Что Вы сказали бы о чем-то вроде этого? http://gist.github.com/303175
Logwatch обеспечивает *Remove
общий сценарий, который скажет Logwatch игнорировать строки, которые содержат конкретную строку (например. grep -v
), прежде чем они будут обработаны позже.
/usr/share/logwatch/default.conf/services/sshd.conf
кому: /etc/logwatch/conf/services/sshd.conf
# Ignore these hosts
*Remove = 192.168.100.1
*Remove = X.Y.123.123
# Ignore these usernames
*Remove = testuser
3. Теперь, никакие сообщения logwatch не сгенерированы для этих хостов.
Я не мог сделать этого с ignore.conf. Я не могу придумать регулярное выражение, которое позволит Logwatch печатать сообщения о нападениях от злых доменов:
Failed logins from:
11.12.100.1 (EVILSCAN.example.ru): 1 time
При сокрытии сообщений, сгенерированных дружественными сканерами:
Failed logins from:
192.168.100.1 (friendscan.example.org): 1 time
Методы Logwatch, чтобы сделать это очень плохо документируется и не хорошо googleable.
Общий сценарий в /usr/share/logwatch/scripts/shared/remove
выполнит инверсию grep на строке. /usr/share/doc/logwatch-*/HOWTO-Customize-LogWatch
документирует, как выполнить эти сценарии:
У Вас могут быть команды в форме:
*SharedScriptName = Аргументы
это выполнит сценарий, найденный в/usr/share/logwatch/scripts/shared/directory под названием 'SharedScriptName' с аргументами 'Аргументы'.This, фильтр изменит вход к фильтру сервиса.