Logwatch: Игнорировать определенные IP-адреса для проверок SSH & PAM?
У меня есть система 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)
2 ответа
Logwatch обеспечивает *Remove
общий скрипт, который скажет Logwatch игнорировать строки, которые содержат определенную строку (например, grep -v
), прежде чем они будут обработаны позже.
- копия
/usr/share/logwatch/default.conf/services/sshd.conf
в/etc/logwatch/conf/services/sshd.conf
- Добавьте следующие строки, которые сообщат logwatch не обрабатывать записи журнала для строк, которые содержат эту строку:
# 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, чтобы сделать это, очень плохо документированы, и не очень хорошо для 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