2017年2月2日木曜日

DeepSecurity の侵入防御 (IDS) 機能をためしてみた

概要

DeepSecurity の侵入防御という機能には IPS, IDS, WAF の機能が含まれています
今回はその中の IDS を試してみたいと思います
ケースとしてある Web サーバにアクセスが来た場合に特定のパケット (URL やクエリストリング) が含まれている場合にアラートを発砲するという検知をしてみようと思います

環境

仮想環境

  • Nested ESXi 6.0.0
  • vCenter Server Appliance 6.0
  • NSX Manager 6.2.2 Build 3604087

DeepSecurity 環境

  • DeepSecurity Manager 9.6.4072
    • Microsoft SQL Server 2016
  • DeepSecurity Virtual Appliance 9.5.2.2022
  • DeepSecurity Agent 9.6.2.7690
    • Ubuntu 16.04 64bit

概要

DeepSecurity の侵入防御という機能には IPS, IDS, WAF の機能が含まれています
今回はその中の IDS を試してみたいと思います
ケースとしてある Web サーバにアクセスが来た場合に特定のパケット (URL やクエリストリング) が含まれている場合にアラートを発砲するという検知をしてみようと思います

新規で侵入防御ルールを作成する

侵入防御にはすでにいくつものルールが設定されています
今回は簡単に検知できるように新規でルールを作成します

DeepSecurity Manager を開きポリシータブから侵入防御ルールを選択し新規から「新しい侵入防御ルール」を選択します
deep_security_ips_ids1.png

新しい侵入防御ルールを作成するダイアログが表示されます
一般タブで以下のように入力します

  • 名前・・・テスト用侵入防御ルール
  • アプリケーションの種類・・・Web Server Common
  • 優先度・・・標準
  • 重要度・・・中
  • イベント・・・パケットは記事にイベントを生成にチェック

deep_security_ips_ids2.png

次にルールタブを開きます
ここでは侵入した際にイベントを発生させる具体的なルールを設定します
以下のように入力します

  • テンプレート・・・シグニチャ
  • シグニチャ・・・Hello

deep_security_ips_ids3.png

入力できたら OK 押してルールの作成を行います
このルールは例えば Web サーバの /Hello などに問い合わせするとイベントを発行するルールになります
URI とかではなく ?keywork=Hello などのクエリストリングにも反応します

またオプションタブでイベントと同時にアラートを出すこともできるので必要であれば該当のチェックボックスをオンにしてください

作成が完了するとルールの一覧に表示されます
deep_security_ips_ids4.png

ポリシーに作成したルールを割り当てる

エージェントレス型の場合、ルールは作成したらポリシーに割り当てる必要があります
ポリシーの VM への割り当ては NSX から実施するのですが、ポリシー自体への監視ルールの追加や変更は DeepSecurity から行います
(この辺ちょっと操作が統一できていないのが微妙な印象を受けます)

DeepSecurity でポリシータグを開きルールを追加するポリシーの詳細画面を開きます
今回はテスト用に作成したnginx がインストールされた Ubuntu に適用された「Linux Policy」にルールを追加します
deep_security_ips_ids5-1.png

詳細画面が表示されたら左メニューから侵入防御を選択し「割り当て」ボタンを選択します
deep_security_ips_ids5-2.png

更にダイアログが表示されるのでここで先程作成したルールを追加します
ルールを検索することができるので先程作成したルール名で検索して追加すると簡単です
deep_security_ips_ids5-3.png

追加できたら OK としてポリシーへのルールの割り当てを完了します
ポリシーの詳細画面にもルールが存在することが確認できると思います
deep_security_ips_ids6.png

もしくはルールの数が増えていることが確認できると思います

ポリシーを VM に再配布する

これはもしかしたらやらなくても OK かもしれません
うまく動作していなさそうであれば試してみてください

コンピュータの一覧該当の VM を選択し「ポリシーの送信」を選択すれば OK です

動作確認

それでは動作確認してみます
今回はあらかじめ Ubuntu サーバに nginx をインストールして 80 番ポートでアクセスできる状態を作っています
そして、そのサーバにアクセスできるマシンから curl やブラウザで以下の URL にアクセスしましょう

http://xxx.xxx.xxx.xxx/Hello

とりあえずアクセスはできてレスポンスも返ってきます
10 分ほど待ってみましょう
そしてその後 DeepSecurity Manager のイベントタブでイベント情報を確認してみましょう
すると以下のように侵入防御のルールに一致したと判断されてイベントが上がってくると思います
deep_security_ips_ids7.png

ちなみにルールを追加する際にアラートも送信するオプションを有効にしているとアラートタブでも侵入防御のアラートが表示されていることがわかると思います

イベント取得間隔の変更

動作確認の際に 10 分待つように記載しました
どうやらデフォルトだと 10 分おきに DeepSecurity Manager が VM に対して発生したイベントを拾ってきているようでその関係で 10 分待ちました
これは間隔の値はポリシーの「設定」で変更することができます

ポリシーの詳細画面を開き左メニューの設定からハートビード間隔の値を変更してください
最短で 1 分に変更できるようです
逆に 1 分以下の値は設定できないようです
deep_security_ips_ids8.png

どうしてもすぐにイベント情報を対象の VM から拾ってきてほしい場合はコンピュータの一覧から対象の VM を右クリックして「イベントの取得」を選択することで手動で取得することも可能です

また追加でアラートも出すように設定してる場合、履歴にまだアラートが残っているとその次のアラートは出ない仕様なので続けて出したい場合は前回のアラートを削除するようにしてください

最後に

DeepSecurity の侵入防御機能の IDS を試してみました
残り IDS と WAF もあるので試してみたいと思います

侵入防御は Windows でも使えるので Windows 環境の方でも同様に試すことはできますが、Windows Server の場合 Web サーバを立てるのが面倒だったので Linux を使いました

参考サイト

0 件のコメント:

コメントを投稿