Suricata 7 on CentOS 7
Suricataをちょっと使ってみる機会があり。
かつ、久々にCentOSで実装せねばならず。
ちょこちょこ試していたのですが、地味にめんどくさい点があったので、一応備忘録まで。
通信をチェックするインタフェース
今回の構成ですが、インタネット向けの通信を通すeth0以外に、管理NWからSSHを受けるeth1を追加していました。
このeth1でシグネチャに引っかかるはずの通信を出しても検知しないなぁ、、と設定ファイル(/etc/suricata/suricata.yaml)をいじっていたのですが、結論は単純でした。。
suricataサービスを起動する際に、"-i eth0"というオプションが入っているのですが、そこで今回の管理NWにあたるeth1が入っていないのが原因でした。
で、このオプションはCentOSではどこで設定しているかというと、/etc/sysconfig/suricata。
OPTIONSを以下のようにして、サービス再起動してやればOK。
元: OPTIONS="-i eth0 --user suricata "
変更後: OPTIONS="-i eth0 -i eth1 --user suricata "
suricata.ymlのaf-packetなどでeth1を作らないといけない、、ということはない。
メモ
今回動作確認の際に使っていたコマンド。
忘れそうなので。
# tail -f /var/log/suricata/eve.json | jq 'select(.alert)'
で、試しに適当に発火させる方法。
# curl http://testmynids.org/uid/index.html
あるいはnetcatで"uid=0(root) gid=0(root) groups=0(root)"を返す。
これをやると"signature_id": 2100498”が発火するので、そのログを見る。
初期設定のままだと、dnsクエリのログや内部でstat作りました系のログがたくさんでてくるので、検知系に絞ります。
なんか検知のタイミングがTCPセッション終わってからになってしまっていて、リアルタイムじゃないような、、
そこら編を調整する設定も見かけましたので、きちんと設定調べて深堀しないといけないなぁ。