Logwatch:忽略 SSH 和 PAM 检查的某些 IP?

Logwatch:忽略 SSH 和 PAM 检查的某些 IP?

我有一个 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)

答案1

Logwatch 提供了共享脚本,该脚本将告诉 Logwatch在稍后处理之前*Remove忽略包含特定字符串(例如)的行。grep -v

  1. 复制/usr/share/logwatch/default.conf/services/sshd.conf/etc/logwatch/conf/services/sshd.conf
  2. 添加以下几行,告诉 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/directory 中找到的名为“SharedScriptName”且带有参数“Arguments”的脚本。此过滤器将修改服务过滤器的输入。

答案2

您可以将正则表达式忽略日志行放入/etc/logwatch/conf/ignore.conf

相关内容