ラベル DeepSecurity の投稿を表示しています。 すべての投稿を表示
ラベル DeepSecurity の投稿を表示しています。 すべての投稿を表示

2017年8月30日水曜日

DeepSecurity の SOAP API を ruby で嗜む

概要

DeepSecurityManager には REST と SOAP の API があります
現状だと REST よりも SOAP の方ができることが多いです
公式で Java のライブラリが提供されているのですが Java でコールする気にはなれなかったので Ruby からコールしてみました
SOAP 用の Ruby ライブラリは Savon というライブラリを利用しています

環境

  • Ubuntu 16.04
  • ruby 2.3.1p112
  • gem 2.5.1
  • Savon 2.11.2
  • DeepSecuritManager 10.0

事前準備

事前に DeepSecurityManager で API を有効にする必要があります

Administration -> System Settings -> Advanced

で「SOAP Web Service API」と「Status Monitoring API」を Enabled にします
Status Monitoring API は REST API で今回は使用しないので Enabled にしないでも大丈夫です

ライブラリインストール

  • apt install zlib1g-dev
  • bundle init
  • vim Gemfile
gem "savon"
  • bundle install

で vendor 配下にインストールされました

サンプル

まずは DeepSecurityManager にアクセスして wsdl の情報を表示してみます

  • vim show_wsdl.rb
require 'savon'

client = Savon.client(
        :wsdl => 'https://192.168.100.8:4119/webservice/Manager?WSDL',
        :ssl_verify_mode => :none
        )
puts client.operations
  • bundle exec ruby show_wsdl.rb

wsdl は DeepSecurityManager 自体が配信しているのでそれを指定します
今回は SSL 通信ではないので :ssl_verify_mode:none に設定します

これで実行すると SOAP API のオペレーションの一覧がずらーっと表示されると思います
190 ほどあると思います

認証してみる

ユーザ名とパスワードで認証してみましょう

  • vim auth.rb
require 'savon'

client = Savon.client(
        :wsdl => 'https://192.168.100.8:4119/webservice/Manager?WSDL',
        :ssl_verify_mode => :none
        )
response = client.call(:authenticate, message: { username: 'username', password: 'password'})
puts response.body[:authenticate_response][:authenticate_return]
  • bundle exec ruby auth.rb

で他の SOAP API をコールするためのセッショントークンを取得することができます

ポリシーの一覧を取得する

ポリシーの一覧を取得してみましょう

  • vim get_policies.rb
require 'savon'

client = Savon.client(
        :wsdl => 'https://192.168.100.8:4119/webservice/Manager?WSDL',
        :ssl_verify_mode => :none
        )
response = client.call(:authenticate, message: { username: 'username', password: 'password'})
sid = response.body[:authenticate_response][:authenticate_return]

response = client.call(:security_profile_retrieve_all, message: { sID: sid })
ret = response.body
ret[:security_profile_retrieve_all_response][:security_profile_retrieve_all_return].each { |r|
  puts r[:id]
  puts r[:name]
  puts r[:description]
}
  • bundle exec ruby get_policies.rb

でポリシーの一覧から名前と説明を取得することができます

最後に

DeepSecurity の SOAP API を Ruby からコールしてみました
今回は Savon というライブラリを使用しましたが Ruby には他にも SOAP API 用のライブラリがあります
はじめは soap4r というコードジェネレータにもなるツールを使っていたのですがいろいろとエラーが出たのでやめました
最終的には Savon に落ち着きました
現在もメンテナンスはされていそうです

DeepSecurity の SOAP API はかなりたくさんあるのですが、WSDL しか情報がないのでどの API がどの操作に対応しているのか探すのが結構たいへんです
オペレーション名から何ができるか推測して、必要なパラメータを WSDL から生成して実際にコールするしか現状ではなさそうです

2017年2月3日金曜日

Nested ESXi と DeepSecurity の学習まとめ

概要

Nested ESXi, VCSA, NSX と DeepSecurity 関連の記事をいろいろとポストしてきました
ちょっと連載チックになったのでまとめておきます

環境

  • Nested ESXi6.0u2
  • vCenter Server Appliance 6.0
  • NSX Manager 6.2.2 Build 3604087
  • DeepSecurity 9.6

この連載を一通り実施すると以下の環境を構築することができます
goal

連載記事一覧

第一回

既存の vCenter 環境に Nested ESX で ESXi6.0 を構築してみた

Nested ESXi を使って既存の環境に ESXi を構築します

第二回

VCSA (vCenter Server Appliance) を Nested ESXi 環境にインストールしてみた

構築した Nested ESXi 環境上に vCenter のアプライアンスである vCenter Virtual Appliance をデプロイします

第三回

VCSA の初回セットアップを行ってみた

デプロイした構築できた vCenter Virtual Appliance の最低限設定したほうがよい点を紹介します

第四回

NSX Manager をインストールする方法

Nested ESXi + VCSA 環境に NSX Manager をデプロイします
このあとの DeepSecurity 環境を構築するのに使います

第五回

Trend Micro DeepSecurity を vCenter 環境にインストールしてみた

DeepSeciruty Manager を構築します
ゲスト OS には Windows Server を使っています

第六回

DeepSecurity Virtual Appliance をデプロイする方法

エージェントレスな監視を行うために DeepSecurity Virtual Appliance をデプロイします
NSX Manager からデプロイする方法を紹介します

第七回

DeepSecurity Agent のインストールと Relay の有効化

Trend Micro の管理サーバと通信して最新のセキュリティアップデートを取得するための Relay サーバを構築します
エージェントレスな環境でも最低一台は必要になります

第八回

エージェントレスな DeepSecurity 構成で NSX とポリシーを同期し機能を有効にする方法

NSX とセキュリティポリシーを共有することでそのポリシーを VM に適用し DeepSecurity の機能を試します
ここまでやることでようやく DeepSecurity が使えるようになります

間違ったやり方も紹介しています
【間違った方法】 エージェントレス型 DeepSecurity での基本的な操作について

第九回

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

実際に侵入防御の機能を試した記事になります
Ubuntu 上の nginx に不正アクセスがあった場合にアラートを出します

最後に

Nested ESXi 環境を構築しその上に vCenter および NSX を構築しその後 DeepSecurity をインストールする方法を連載形式で紹介しました
そもそも Nested 環境を構築するための vCenter 環境が必要であったり、Windows Server が必要であったりと障壁になる部分もあるのでご注意ください

こういった製品系のノウハウがあまり Web になかったのでまとめた感じです

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 を使いました

参考サイト

2017年2月1日水曜日

【間違った方法】 エージェントレス型 DeepSecurity での基本的な操作について

概要

これまでに DeepSecurity の構築方法を 3 回に渡り紹介してきました
今回はようやく機能が試せるようになったので、DeepSecurity Manager を使った機能の使い方について紹介したいと思います

環境

仮想環境

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

DeepSecurity 環境

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

ポリシーの作成

VM に対して各セキュリティの機能の有効にするにはポリシーなるものを作成します
「ポリシー」タブから新規で新規ポリシーを選択します
deepsecurity_basic_training1.png

ポリシーの名前とポリシーの継承元を選択します
名前は適当で OK です
ポリシーは親子関係が持てるようですが、今回は継承なしにします
deepsecurity_basic_training2.png

ベースポリシーとして選択できますがこちらも「いいえ」を選択します
deepsecurity_basic_training3.png

これでポリシーが作成されました
そのまま OK するとポリシーの詳細設定が開きます
deepsecurity_basic_training4.png

ここで下の方にある「モジュール」で各セキュリティ機能を ON/OFF することができます
とりあえず全部オンにしておきましょう
実は全部オンにしてもエージェントレス構成だとそもそも使えない機能があるので、そういった機能はここでオンにしても使えません
deepsecurity_basic_training5.png

ポリシーの割当

作成したポリシーを VM に設定してみましょう
なんでも良いの事前に VM を準備しておいてください、今回は Windows を使います

コンピュータタブでポリシーを適用するサーバを選択しダブルクリックします
deepsecurity_basic_training6.png

するとコンピュータの詳細画面が表示されるのでここで「ポリシー」欄で先程作成したポリシーを選択します
選択したら保存しましょう
deepsecurity_basic_training7.png

これで VM へのポリシー適用が完了します

監視を有効化する

あとは監視を有効化するだけです
デフォルトでは監視はオフ状態になっているためポリシーを変更しても機能は有効になりません

有効にする方法は対象の VM を右クリックし処理から「有効化/最有効化」を選択します
deepsecurity_basic_training8.png

これでステータスが変わるので待ちます
最終的に「管理対象」という緑のステータスになれば OK です
deepsecurity_basic_training9.png

おそらくこれが DeepSecurity の各種機能を有効化する基本の手順となります
おそらくという表現を使っているのはいろいろ調べても正解が見つからなかったので自分で模索したためです
で、たぶんこの操作は API を使ってもできるはずです
API については別途どこかで紹介したいと思います

試しに不正プログラム対策を使ってみる

試しに不正プログラム対策という機能を使ってみます
まずはポリシーの「不正プログラム対策」を設定します

不正プログラム対策を ON にする

デフォルトでは設定自体はオンになっているのですが、機能自体が使えるようにはなっていません
なので、ポリシーを変更して機能を設定する必要があります

VM に割り当てているポリシーの詳細を開きます
リアルタイム検索の欄があるのでチェックボックスを外して不正プログラム検索設定のプルダウンから「Default Real-Time Scan Configuration」を選択します
そしてその下のスケジュールで「Every Day All Day」を選択します
deepsecurity_basic_training10.png

ポリシーの設定が VM に反映されると機能の一覧で不正プログラム対策が「オン、リアルタイム」という表示に変わっています
deepsecurity_basic_training11.png

Windows に eicar をインストールして挙動を確認してみる

この状態になった Windows 上で eicar という不正プログラムのテスト用ファイルをダウンロードしてみましょう
対象を右クリックしてファイルを保存してみてください
Deep Security Notirier がインストールされている場合は以下のように警告が出ると思います
インストールしていない場合でも実際にはファイルがダウンロードされていないことが確認できると思います

と思ったんですが、どうやらファイルを全然削除してくれません
ここであとから気づいたのですがこの方法自体が間違っており NSX から DeepSecurity 用のポリシーを作成する必要がありました
だから、タイトルにも間違った方法と書いてあります
なので、NSX Manager を使った正しい機能の連携方法を別途紹介したいと思います

最後に

エージェントレスな DeepSecurity 環境でポリシーを作成して各機能を有効化する方法を紹介しました
が、結果的に間違っていることがわかり正しい方法があるということに気が付きました
せっかく書いたので公開しました
間違った方法を紹介しても仕方ないのですが、同じ境遇にあった人がいたときに「これは違うのか」と気づいてもらえるかなと思い公開しました

別途正しい手順を公開しようと思うのでお待ちください

参考サイト

エージェントレスな DeepSecurity 構成で NSX とポリシーを同期し機能を有効にする方法

概要

エージェントレス構成で DeepSecurity を使う場合に各 VM に機能を割り当てるにはポリシーを作成する必要があります
エージェントレス構成の場合、普通にポリシーを作成するのではなく NSX Manager と連携して NSX のセキリティポリシー側で制御する必要があります
今回は NSX と DeepSecurity のポリシーの連携と実際にポリシーを適用する手順を紹介します
なお前回までエージェントを構築するところまでは完了している体で進めます

環境

仮想環境

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

DeepSecurity 環境

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

NSX Manager とポリシー同期する

まずは DeepSecurity Manager と NSX のセキュリティポリシーを同期させます
コンピュータタブから左メニューで連携している vCenter を選択し右クリックから「プロパティ」を選択します
sync_policy1.png

そして表示されたダイアログの NSX 設定タブを開きその中の「ポリシー同期」のチェックボックスを ON にします
これでポリシーの同期が行われるようになります
sync_policy2.png

セキュリティグループを作成する

次に NSX Manager に移動してセキュリティグループを作成します
左メニューから Service Composer に移動して Security Groups タグを開きます「New Security Group」ボタンから新規でセキュリティグループの作成を行います

セキュリティグループの名前を決定します
sync_policy3.png

Define dynamic membership では特に何も設定しないので次に進みます
sync_policy4.png

Select objects to include では実際にセキュリティグループを割り当てるリソースを選択します
今回は特定の VM に対して割り当ててみます
Object Type のプルダウンから Virtual Machine を選択します
そして表示された VM の一覧から適用する VM を選択し右に移動します
sync_policy5.png

Select objects to exclude では特に何も設定しないので次に進みます
sync_policy6.png

あとは内容を確認して作成できれば OK です
Security Groups の一覧に表示されると思います
sync_policy7.png

セキュリティポリシーを作成する

セキュリティグループは言わばポリシーをどのリソースに割り当てるかのルールです
次に本体となるセキュリティポリシーの作成を行います

セキュリティグループ作成時同様に左メニューから Service Composer に移動します
今度は Security Policies タグを開き「Create Security Policy」ボタンから新規でセキュリティグループの作成を行います

まずはセキュリティポリシーの名前を決定します
sync_policy8.png

Guest Introspection Services で緑のプラスボタンを選択します
するとダイアログが表示されるので以下のように入力、設定します

  • Name・・・win-introspection (何でも OK です)
  • Description・・・空欄 (何でも OK です)
  • Action・・・Apply
  • Service Name・・・Trend Micro Deep Security
  • Service Profile・・・Windows Server 2012
  • State・・・Enabled
  • Enforce・・・Yes

sync_policy9.png

ポイントは Service Name と Service Profile になります
今回の場合は、Windows サーバに対して DeepSecurity の監視を割り当てるので「Windows Server 2012」を選択しました
ここは各自が割り当てる VM のゲスト OS の種類に応じて変更してください
プルダウンを見てみるとわかりますが、いろんなゲスト OS 用のプロファイルが用意されていることがわかると思います

設定できたら次に進みます
sync_policy10.png

Firewall Rules は特に何も設定しないので次に進みます

次に Network Introspection Services ですがここでも緑色のプラスボタンを選択します
ダイアログが表示されるので以下のように入力、設定します

  • Name・・・win-inbound-network-introspection (何でも OK ですが、inbound と入れたほうが良いです)
  • Description・・・空欄 (何でも OK です)
  • Action・・・Redirect to service
  • Service Name・・・Trend Micro Deep Security
  • Profile・・・Windows Server 2012 (Guest Introspection Services 設定時と同様のものを選択すること)
  • Source・・・Any
  • Destination・・・Policy’s Security Groups
  • Service・・・Any
  • State・・・Enabled
  • Log・・・Do not log

sync_policy11.png

sync_policy12.png

ポイントはこの設定を 2 つ作成するという点です
名前で inboud と入れましたがこれと同様でに outbound 用の設定も作成する必要があるようです
inbound 時と異なる設定は Source が Policy’s Security Groups となり Destination が Any になる点です
outbount 時には反転すれば OK です

あとは Service Name と Profile はセキュリティグループ作成時と同じものを選択するようにしてください
sync_policy13.png

あとは内容を確認して作成すれば OK です
sync_policy14.png

セキュリティポリシーをセキュリティグループに割り当てる

作成したセキュリティポリシーをセキュリティグループに割り当てます
こうすることでグループに割り当てたリソースに対してポリシーが適用されることになります

Security Policies タブで「Apply Security Policy」ボタンを選択します

適用したセキュリティグループを選択して OK します
これで NSX Manager で作成したポリシー情報が DeepSecurity Manager 側に連携され、さらに VM にも適用され機能を有効にすることができます
sync_policy15.png

DeepSecurity Manager 側で確認

無事にポリシーが同期され VM に適用されると以下のようなステータスになります
sync_policy16.png

Tips: 不正プログラム対策エンジンがオフラインの場合の対応方法

今回の場合 Windows マシンにポリシーを共有しました
エージェントレスな構成で DeepSecurity を使う場合 Windows では「不正プログラム対策」を使うことができます
しかしポリシーを適用しても「不正プログラム対策がオフライン」となることがあります

その場合 Windows マシンにインストールされている vmware-tools に追加ドライバをインストールする必要があります
方法はいろいろとありますが、今回は vmware-tools のインストールディスクを Windows にマウントしてセットアップウィザードから追加ドライバをインストールする方法を紹介します

まず Web Client でコンソールを開いて VMRC -> Manage -> Reinstall VMware Tools を選択します
installed_nsx_driver1.png

すると特に何も置きないのですが、Windows の D ドライブにインストールディスクがマウントされています
リモートデスクトップなどで接続してマウントされているか確認してみてください
installed_nsx_driver2.png

あとはマウントしたドライブからインストーラを起動するとセットアップウィザードが開始されます
今回は構成を変更するので「変更」を選択します
カスタムセットアップの画面で下のほうに「VMCI ドライバ -> NSX File Introspection ドライバ」という欄があるのでこれをインストールするように変更します
installed_nsx_driver3.png

そしてインストールを完了しましょう
問題なくインストールが完了すれば OK です

ちゃんとドライバインストールされているかどうかは Power shell 上で「fltmc」コマンドを実行すれば OK です
その一覧に vsepflt が含まれていれば追加ドライバのインストールに成功しています
installed_nsx_driver4.png

これでしばらく待っていれば不正プログラム対策のステータスもオンに変わると思います
変わらない場合は NSX Manager からポリシーを再度適用してみてください (DeepSecurity Manager からはできません)

動作確認

今回はセキュリティソフトのテストの定番である eicar というファイルをダウンロードすることで不正プログラム対策が問題なく動作しているか確認します
ポリシーを適用した Windows Server にアクセスしブラウザを開いて以下の URL から eicar ファイルをダウンロードしてみましょう
http://files.trendmicro.com/products/eicar-file/eicar.com

するとダウンロードしたファイル名の後ろにランダムな文字列が付与されウイルスファイルとして自動的に対処されます
enter image description here

また、DeepSecurity Manager のイベントタブの不正プログラム対策イベントの隔離ファイルを確認するとウイルスとして判断されたファイルの一覧が表示されていると思います
sync_policy18.png

最後に

NSX とセキュリティポリシーを同期することでエージェントレス構成な DeepSecurity で使える機能を試してみました
あとは Linux 用のポリシーを作成して適用してみたり他の機能の挙動を確認してみると良いと思います

DeepSecurity に触り始めてようやく機能が動作するところまでたどり着きました
構築時の記事から合わせると結構ちゃんとした教材になったような気もします

結局最終的に感じたのは Web で調べるよりも公式が配布しているドキュメントを見るのが一番だということでした
PDF が 100 ページ以上もあるので初めは非常に毛嫌いしていたのですが、ここまで構築するとドキュメントが一番まとまっていることがわかります
この PDF ドキュメントの P46 からの「NSX 環境での Agent レスによる保護の実施」の項目だけやればよかったのだとあとから気づきました

2017年1月28日土曜日

DeepSecurity Agent のインストールと Relay の有効化

概要

前回 DeepSecurity を使ってエージェントレスな監視をするために NSX Manager から DeepSecurity Virtual Appliance のデプロイを行いました
実はまだ準備が必要だったらしく今回は DeepSecurity Agent のインストールと Relay の有効化を行います
ここで「え、エージェントレスなんじゃないの」と思うのは普通だと思います、自分も思いました
でも、アップデート情報のダウンロードを行う専用のエージェントサーバが必要らしく構築してみたので紹介します

環境

仮想環境

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

DeepSecurity 環境

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

事前作業

今回はエージェント専用サーバとして Ubuntu を構築します
なので、適当に Ubuntu を構築しておいてください

エージェントパッケージファイルの取得

Ubuntu にエージェントをインストールするために deb ファイル (Agent-Core-Ubuntu_16.04-9.6.2-7690.x86_64.deb) を取得します
これは DeepSecurity Manager から行えるので Manager で作業します

「管理」タグ->左メニュー「アップデート」->「ソフトウェア」->「ダウンロードセンター」から上記の deb ファイルを探します
見つけたら選択して上にある「インポート」ボタンを選択します
インジケータが回り始めると思うのでインポートできれば OK です

次に「管理」タグ->左メニュー「アップデート」->「ソフトウェア」->「ローカル」と選択します
インポートした deb ファイルがあると思うので選択し「インストーラのエクスポート」を選択します
すると deb ファイルがダウンロードできます
ds_agent_install1.png

エージェントのインストール

ダウンロードした deb ファイルを事前に構築しておいた Ubuntu サーバにアップロードします
Manager サーバが Windows Server なので WinSCP などをインストールして、それを使ってアップロードすれば良いと思います

あとは Ubuntu 上でインストールコマンドを実行すれば OK です

  • dpkg -i Agent-Core-Ubuntu_16.04-9.6.2-7690.x86_64.deb
  • /etc/init.d/ds_agent start

インストール後は起動しておくと良いと思います

エージェントをインストールしたマシンの登録

再度 DeepSecurity Manager に戻って作業します

「コンピュータ」タブから「新規」->「新規コンピュータ」を選択します
ホスト名にはエージェントをインストールした Ubuntu サーバの IP アドレスを入力してくださいポリシーは何でも良いですがデフォルトの「Base Policy」を選択します
セキュリティアップデートのダウンロード元は「初期設定の Relay グループ」を選択します

これで Ubuntu サーバを追加しましょう
登録が完了してステータスの欄が「管理対象(オンライン)」になるまで待ちます
ds_agent_install2.png

そしてもう一点追加したコンピュータをダブルクリックして詳細を開きイベントタブを開きます
そして「セキュリティアップデート: セキュリティアップデートの確認とダウンロードの成功」というイベントが出るまで待ちましょう
これが完了していないと Appliance のアップグレードや Agent のアップデートができません

Relay の有効化

登録したコンピュータを選択し詳細画面を開きます
処理タブからソフトウェアで「Relay の有効化」というボタンがあるので選択しましょう
これで Relay が有効化されたエージェントをインストールしたエージェントサーバができました

このあとは

これでアップデートやアップグレード関連の作業ができるようになります
Appliance はデプロイした直後だと 9.5 になっているので Appliance をアップグレードすると良いと思います

今回の構成の場合基本的にはエージェントレスなので各 VM にエージェントがないため Agent アップデートは使うことは少ないと思いますがセキュリティアップデートやソフトウェア・アップデートは定期的に行っているので、そのためにも必要になります

最後に

DeepSecurity Agent のインストールと Relay の有効化をする方法を紹介しました

おそらくこれで DeepSecurity のエージェントレス最小構成はできたと思います
これから機能を試していくのですが、どうやらライセンスを有効化していないと機能を全く使うことができないので体験版のライセンスを手に入れてください
この辺りから登録できるのでメールアドレスと個人情報を入力してライセンスコードを取得してアクティベーションしてください

2017年1月27日金曜日

DeepSecurity Virtual Appliance をデプロイする方法

概要

前回 DeepSecurity Manager のインストールを行い vCenter および NSX Manager と連携しました
今回は DeepSecurity Virtual Appliance という監視サーバをデプロイします
これを使うことで各 VM に専用のエージェントをインストール必要がなく、エージェントレスで各 VM に対して DeepSecurity の機能を使用することができるようになります

環境

  • Nested ESXi 6.0.0
  • vCenter Server Appliance 6.0
  • NSX Manager 6.2.2 Build 3604087
  • DeepSecurity Manager 9.6.4072
  • DeepSecurity Virtual Appliance 9.5.2.2022
  • Microsoft SQL Server 2016

OVF テンプレートの取得

まず DeepSecurity Virtual Appliance の OVF テンプレートを取得し、DeepSecurity Manager に登録します
この作業は DeepSecurity Manager で行います

まず以下の 2 つをダウンロードします
ここから「Appliance-ESX-9.5.2-2022.x86-64.zip」をダウンロードします
ここから「Agent-RedHat-EL6-9.6.2-7599.x86-64.zip」をダウンロードします

次に DeepSecurity Manager で「管理」タブを開きます
そして左メニューのツリーから「アップデート」->「ソフトウェア」->「ローカル」を選択します
「インポート」ボタンを押すとダイアログ出力されるので、先程ダウンロードした zip ファイルを選択します
get_dsva_ovf1.png

インポートするファイルの情報が表示されるので確認します
get_dsva_ovf2.png

インポートを開始して完了するのを待ちます
この操作を「Agent-RedHat-EL6-9.6.2-7599.x86-64.zip」に対しても行ってください
get_dsva_ovf3.png

最終的に管理タブのローカルで以下のように表示されれば OK です
get_dsva_ovf4.png

これで DeepSecurity Virtual Appliance 用の OVF をデプロイする準備ができました

DeepSecurity Virtual Appliance のデプロイ

OVF テンプレートが DeepSecurity Manager に登録できたら Virtual Appliance をデプロイしていきます
この作業は (なぜか) NSX Manager で行います

左メニュー「Installation」 を選択し「Service Deployments」を開きます
緑色のプラスボタンがあるので選択します
enter image description here

一覧が表示されるので、その中の「Guest Introspection」を選択します
先にこの Guest Introspection をデプロイする必要があるのでこれを選択します
deploy_dsva2.png

デプロイするクラスタを選択します
deploy_dsva3.png

データストアとネットワークを選択します
ここでデータストアもネットワークもそうですが、先程選択したクラスタ内のすべてのホストが選択したデータストアとネットワークに所属する必要があります
かつネットワークは Distributed Virutual Switch (DVS) である必要があります
自分の場合は NFS を作るのが面倒だったので結局ホストを一台にしてローカルストレージにインストールしました
deploy_dsva4.png

内容を確認しデプロイします
deploy_dsva5.png

以下のようにデプロイされえrば OK です
deploy_dsva6.png

Guest Introspection がデプロイできたら次に同様の手順で「Trend Micro Deep Security」をデプロイしましょう
最終的に以下のように 2 つデプロイできれば OK です
deploy_dsva7.png

ここまで来るまでのポイントは 3 つで

  • 事前に OVF を DeepSecurity Manager に登録する
  • VDS を作成して全ホストに登録する
  • 共有データストアを作成して全ホストに登録する

かなと思います
2 つ目と 3 つ目はシングルホストにして解決することもできます
データストアとネットワーク選択時に「Specified on-host」という項目がありこれを選択すれば複数のホストがあるクラスタでも、単一の指定したホスト上に Appliance をデプロイすることができるようになります
自分は試してないですが、ホストの Manage -> Settings -> Agent VM Settings でうまく設定すると使えるようになるようです

最後に

DeepSecurity Virtual Appliance をデプロイしてみました
これでエージェントレスな VM 監視ができるようになっているはずです

せっかくなので機能も試したらその方法も紹介したいと思います
あと API や SDK もあるようでプログラムから制御できるらしいのでその辺も試したら紹介したいと思います