Check Point IPSにSnort Ruleを適用する
Check Point次世代ファイアウォールのIPSに、カスタマイズしたシグネチャを適用した時のメモ。
Check Point IPSシグネチャ
Snortはオープンソースのネットワーク型IDSで、以下サイトからRuleファイルをダウンロードできる。 www.snort.org
Snortの書き方に従えば、独自のシグネチャを作成してCheck Pointへ適用できる。 www.atmarkit.co.jp
Ruleファイルの作成
以下のガイドを参考に作成。
完成したRuleファイル。
- snort_custom.rule
alert tcp any any -> any 23 (msg:"Telnet Hello1"; content:"|68 65 6c 6c 6f|"; ) alert tcp any any -> any 23 (msg:"Telnet Hello2"; content:"hello"; )
- Check PointにTelnetログインしたユーザが、
hello
を含む文字列を入力した場合、IPS検知ログが上がるようにした。 - 動作確認のため、文字列のマッチ条件を2種類作成。
Telnet Hello1
はバイナリ、Telnet Hello2
はASCII形式。
ちょっとハマったところ。
- ファイル拡張子は.ruleとする。
- 指定できるプロトコルは、
tcp
、udp
、all
(TCP+UDP)。icmp
やip
は非サポート。 - 宛先ポート番号を
any
にすると反映されなかった。 msg
キーワードはシグネチャの名前として使われるため必須。content
キーワードも必須。- 最後はセミコロン
;
を付ける必要あり。 - Performance Impactは
High
、SeverityはHigh
、Confidence LevelはLow
。プロファイル設定によってはActionがInactive(無効)になるため、DetectもしくはPreventへ変更。
Ruleファイルの適用
- SmartConsoleからSecurity Management Serverへ接続
- SECURITY POLICIES > Threat Prevention > Policyをクリック
- IPS Protectionsをクリック
- Actions > Snort protections > Import Snort rulesをクリック
- Snort Ruleファイルを選択してインポート
- IPSポリシーのAction変更
- セッションの公開
- Threat Prevention(IPS)ポリシーをSecurity GatewayもしくはSecurity Clusterへインストール
※ガイドより抜粋
設定後のIPS Protection設定。
ログ確認
Telnetクライアントから入力した文字は、基本的に1文字ずつ送信されるため、helloをコピペして頑張って1パケットで送信。 IPSログを見ると、両方のパターンで検知出来た。