У меня есть система CentOS 5.6, в которой работает Logwatch.
Если я выполняю сканирование безопасности (Nessus) этого хоста, он создает ненужный шум в выводе Logwatch. Я хотел бы регулярно запускать эти проверки безопасности с внутреннего IP-адреса и внешнего IP-адреса, не создавая ненужного шума при сканировании безопасности.
Поскольку я знаю IP-адреса этих хостов, могу ли я предотвратить отображение этого вывода в выводе Logwatch?
--------------------- pam_unix Begin ------------------------
sshd:
Authentication Failures:
root (scan1.example.org): 1 Time(s)
unknown (scan1.example.org): 1 Time(s)
Invalid Users:
Unknown Account: 1 Time(s)
--------------------- SSHD Begin ------------------------
Failed logins from:
192.168.100.1 (scan1.example.org): 1 time
Illegal users from:
X.Y.123.123 (scan2.example.org): 1 time
**Unmatched Entries**
pam_succeed_if(sshd:auth): error retrieving information about user admin : 1 time(s)
fatal: Write failed: Connection reset by peer : 1 time(s)
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. Теперь для этих хостов не создаются сообщения журнала регистрации.
Я не мог этого сделать с 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 для этого очень плохо документированы и плохо подходят для Google.
Общий сценарий на /usr/share/logwatch/scripts/shared/remove
выполнит обратный grep для строки. /usr/share/doc/logwatch-*/HOWTO-Customize-LogWatch
документы, как выполнять эти сценарии:
Вы можете иметь команды в виде:
* SharedScriptName = Аргументы
который выполнит сценарий, найденный в каталоге / usr / share / logwatch / scripts / shared /, с именем SharedScriptName с аргументами Arguments. Этот фильтр изменит входные данные для фильтра службы.
Вы можете поместить регулярное выражение, чтобы игнорировать строки журнала в /etc/logwatch/conf/ignore.conf