Logwatchを実行するCentOS5.6システムがあります。
このホストに対してセキュリティスキャン(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メソッドは、文書化が非常に不十分であり、グーグル可能ではありません。
/usr/share/logwatch/scripts/shared/remove
の共有スクリプトは、文字列に対して逆grepを実行します。 /usr/share/doc/logwatch-*/HOWTO-Customize-LogWatch
は、これらのスクリプトの実行方法を文書化しています。
次の形式のコマンドを使用できます。
* SharedScriptName =引数
これは、/ usr/share/logwatch/scripts/shared/directoryにある「SharedScriptName」という名前のスクリプトを引数「引数」で実行します。このフィルターはサービスのフィルターへの入力を変更します。
正規表現を配置して、ログ行を無視して/etc/logwatch/conf/ignore.conf
に入れることができます。