OSSECでSlackへのアラート通知を行わせる

OSSECでは、アラート発生と同時に任意のコマンドを実行させることが可能だ。
これを利用して、リアルタイムでのファイル改ざんを検知したらSlackに通知させるよう設定することもできる。この際、公式ですでにSlack用のスクリプトがすでに作成されているので、今回はこれを利用してやる。バージョンによっては配置されていないかもしれないので、その場合は事前にwgetなりで取得しておこう。
(+スクリプト内で直接WebHookのURLとかユーザを変数で指定してるので、その辺も設定しておく。「SITE」がWebHookのURL。)

wget https://raw.githubusercontent.com/ossec/ossec-hids/master/active-response/ossec-slack.sh -P /var/ossec/active-response/bin/ossec-slack.sh
chmod 750 /var/ossec/active-response/bin/ossec-slack.sh
Sponsored Links

OSSECの設定ファイル(/var/ossec/etc/ossec.conf)にて、「<command></command>」および「<active-response></active-response>」の設定を追記してやる。

<ossec_config>
....
<command>
<name>ossec-slack</name>
<executable>ossec-slack.sh</executable>
<expect></expect> <!-- no expect args required -->
<timeout_allowed>no</timeout_allowed>
</command>
....
<active-response>
<command>ossec-slack</command>
<location>local</location>
<level>3</level>
</active-response>
....
</ossec_config>

 

設定ファイル編集後、OSSECを再起動する。

/var/ossec/bin/ossec-control restart

 

ファイル改ざんのリアルタイム検知開始後、ファイルをいじった結果が以下。

 

プロセス再起動直後に結構ログが流れるので、その辺は注意したほうがいいかも?
個人的にはGraylogあたりにログを流して、そこでStreamの設定してSlackに通知させる方が好身なのだけど、単体のサーバでSlack通知をするのならこれでもいいだろう。
他の実装方法もあるようだけど、公式でスクリプトも用意されてたので、ひとまずはこれで。

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*