Wazuhは神なのでClamAVの実行結果を取り込んでアラートを出すルールを標準で用意してくれている。
しかしながらこのルールはデーモン実行(clamd)のログを前提としており、都度実行の場合は何かしらの対応が必要になる。
常駐させるほどではないけど定期実行はして結果はSIEMに送っておきたい、という場合に上手く誤魔化してclamdと同じように読ませる方法があったので以下紹介。
方法
wazuh標準のclamd結果の読み込みは、単にsyslogに書かれたclamdのログを見ているだけです。
そのため、clamscanの実行結果をclamdっぽくsyslogに書いてやれば標準ルールで読み込んでくれる。
つまり以下のようにlogger -i -t clamdにパイプで流して実行するだけ。
#実行例
/usr/bin/clamscan \
--exclude-dir=^/proc/ \ # procやsysなども無差別に見に行こうとするので除外指定が必要
--exclude-dir=^/sys/ \
--exclude-dir=^/dev/ \
--exclude-dir=^/home/hogehoge/clamav/infected \ #隔離フォルダ
--infected \ #感染してるファイルのみ表示(サマリは出る)
--move=/home/hogehoge/clamav/infected \ #感染ファイルは隔離フォルダに移動する指示
--recursive / | logger -i -t clamd # ← clamdっぽくsyslogにログ記録
デフォルト設定にsyslogからのclamav読み込みは書いてあるので(4.2時点)、特にwazuh側の追加設定はいらないはず。