Deep Security as a service(DSaas)への移行


こんにちは、ひろかずです。

2014年9月にDeep Security as a service(以下、DSaas)がリリースされました。
TestDriveを利用された方も多いかと思います。

今回は、個別に構築したDeep Security ManagerからDSaasへの移行について、一筆書きます。

後述しますが、エクスポート・インポートで移行できるものと移行できないものがあります。
本稿では、エクスポート・インポートで移行できるものにフォーカスして記載します。

*!!注意!!
テナントはエクスポート・インポートが可能ですが、本稿では取り扱いません*

#前提
- Deep Security Managerの導入が完了していること。
- ライセンスを投入していること。
- 最低でもRelayを導入しており、管理対象になっていること。
- インスタンスは、ポート443でインターネットへ疎通できること。
- DSaasのアカウントを作成していること。

#参考情報
- DSaasのアカウント作成については、[ken1さんのエントリ](http://qiita.com/ken1/items/d7849af7b37dffacc93a)が参考になります。
- AgentをManagerから登録する場合は、インスタンス側で4118ポートを開ける必要があります。[Trend Micro Deep Security as a Service Reviewer Guide](http://tm-source.com/reviewer/DeepSecurityServiceReviewersGuide.pdf)の18頁参照
- [マニュアル](URL http://files.trendmicro.com/jp/ucmodule/tmds/90SP1/Deep_Security_9_SP1_Admin_Guide_r3.pdf)の各頁(57,72,74,79,83,86,91,96,98,103,113,115,119,121,125,127,128,337,354,357)

#用語について
本稿では、用語を以下のように定義します。

- DSaas：Deep Security as a serviceの略称、またはDeep Security as a service環境のManager
- Manager：個別に構築したDeep Security Manager

#エクスポート・インポートで移行できるもの／移行できないもの

コンピュータをManagerから登録した場合に移行できるが、Agentから登録した場合に移行できないものがあります。
両方に ◯ が付いているものは、コンピュータの登録方式に係わらず、エクスポート・インポート移行できます。
両方に × が付いているものは移行できません。手動で設定してください。

表を見ると分かりますが、AgentからDSaasへ登録した場合、殆どの項目を手動設定する必要があります。
カスタムルールを移行できる一方で、各ルールのオーバーライド設定を移行できないのは、少々手間になりますね。

|設定項目|Managerから登録|Agentから登録|
|:-----------|:-----------:|:-----------:|
|ダッシュボード|×|×|
|アラート＞アラートの設定|×|×|
|コンピュータ＞コンピュータグループ|◯|×|
|コンピュータ＞設定＞コンピュータ|◯|×|
|コンピュータ＞設定＞ネットワークエンジン|◯|×|
|コンピュータ＞ファイアウォール＞一般|◯|×|
|コンピュータ＞ファイアウォール＞一般(ポリシー)|×|×|
|コンピュータ＞ファイアウォール＞インタフェース制限|◯|×|
|コンピュータ＞ファイアウォール＞攻撃の予兆|◯|×|
|コンピュータ＞ファイアウォール＞詳細|◯|×|
|コンピュータ＞侵入防御＞一般|◯|×|
|コンピュータ＞侵入防御＞一般(ポリシー)|×|×|
|コンピュータ＞侵入防御＞詳細|◯|×|
|コンピュータ＞変更監視＞一般|◯|×|
|コンピュータ＞変更監視＞一般(ポリシー)|×|×|
|コンピュータ＞変更監視＞詳細|◯|×|
|コンピュータ＞セキュリティログ監視＞一般|◯|×|
|コンピュータ＞セキュリティログ監視＞一般(ポリシー)|×|×|
|コンピュータ＞セキュリティログ監視＞詳細|◯|×|
|ポリシー＞ポリシー|◯|◯|
|ポリシー＞共通オブジェクト(タグ以外)|◯|◯|
|ポリシー＞共通オブジェクト(タグ)|×|×|
|イベントとレポート|×|×|
|管理|×|×|

#工程

1. 移行準備
2. ポリシーやルール、リスト、共有オブジェクトをエクスポート・インポート
3. コンピュータをエクスポート・インポート(DSaasからAgentを登録する場合)
4. コンピュータを移行(AgentからDSaasへ登録する場合)

#1.移行準備
##1−1. Manager側のルールアップデート
管理タブ＞アップデートを選択して、「すべてのルールアップデートの表示」ボタンをクリックします。
![準備_1.jpg](https://qiita-image-store.s3.amazonaws.com/0/46611/99eb2a3e-4c22-81b3-06a7-bc723e61bb94.jpeg "準備_1.jpg")

ルールアップデート画面に最新のルールが適用されていることを確認します。
下図のようにチェックされていない場合、未チェックの行を右クリックして「適用」してください。
![準備_1-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/46611/265b1d90-bade-ac41-99e1-2bb1b80b56d1.jpeg "準備_1-2.jpg")

##1−2. DSaas側のルールアップデート
管理タブ＞アップデート＞Securityを選択して適用状況を確認します。
下図のように警告が表示されている場合、Rule Updatesボタンをクリックして最新のルールを適用します。
![準備_2.png](https://qiita-image-store.s3.amazonaws.com/0/46611/ba0164f6-1b9f-5565-79ac-6edf0f381d37.png "準備_2.png")

##1−3. この作業を怠ると
Manger側で適用されているルールのバージョンと、DSaas側で適用されているルールのバージョンが異なる場合、後続のルールインポート時に以下のように表示されてしまう場合があります。

```
インポート対象のファイルは、このシステムで利用できないルールを1つ以上参照しています。Managerで、ファイルのエクスポート元システムで使用されていたものと同じバージョンのルールアップデートが使用されていることを確認してください。
```

##1-4. 移行対象インスタンスのSecurity Groupを確認
DSaasからAgentを登録する場合は、移行対象インスタンスのSecurity Groupが、InBoundで0.0.0.0/0から4118を開けておく必要があります。

インターネット側からアクセスができない環境の場合、コンピュータのエクスポート・インポートによる移行はできません。
後述の「4. AgentからDSaasに登録する」を実行後、各種設定値を手動にて設定してください。

#2. ポリシーやカスタムルール、リスト、共有オブジェクトをエクスポート・インポート
##2-1. エクスポート
移行対象のポリシーやカスタムルール、リスト、共有オブジェクトをXML形式でエクスポートします。
*!!注意!!
本稿では単独で完結するカスタムルールの移行について記載します。
複雑な依存関係で構成しているカスタムルールの移行については、十分に検証の上で移行してください。*

Managerの「ポリシー」タブをクリックし、左側ペインから移行対象のオブジェクト(下記例は、侵入防御ルールのカスタムルール)を選択します。
エクスポート対象のカスタムルールを右クリックして、「選択したアイテムをXML形式でエクスポート(インポート用)…」を選択します。
ダウンロードされたファイルを保存しておきます。
![カスタムルールエクスポート.jpg](https://qiita-image-store.s3.amazonaws.com/0/46611/b317b9f6-6f8b-2cee-607f-7ed797278715.jpeg "カスタムルールエクスポート.jpg")

その他のポリシーやリスト、共有オブジェクトも同様にエクスポートしておきます。

##2-2. インポート
エクスポートしたXMLファイルをインポートします。
DSaas側の「ポリシー」タブをクリックし、対象ルールやリスト、ポリシー等を選択します。
先ほど、侵入防御のカスタムルールをエクスポートしたので、侵入防御ルールを選択します。
新規ボタンから「ファイルからインポート」を選択します。
![カスタムルールのインポート_1.png](https://qiita-image-store.s3.amazonaws.com/0/46611/7b5694bc-bb6e-19b8-162a-e486bec9ff05.png "カスタムルールのインポート_1.png")

「ファイルを選択」ボタンをクリックして、インポートするXMLファイルを選択します。
![カスタムルールのインポート_2.png](https://qiita-image-store.s3.amazonaws.com/0/46611/e72573f7-b1f1-309f-60a7-34f087c29d06.png "カスタムルールのインポート_2.png")


インポートデータの検査が終わると以下のように表示されます。
インポート予定のデータが表示されていることを確認して「次へ」ボタンをクリックします。
![カスタムルールのインポート_3.png](https://qiita-image-store.s3.amazonaws.com/0/46611/c4a60f85-ffff-6454-b9be-fdfce76b92db.png "カスタムルールのインポート_3.png")

データのインポートが完了すると一覧に反映されます。
画面を更新する等して確認して下さい。
![カスタムルールのインポート_5.png](https://qiita-image-store.s3.amazonaws.com/0/46611/052d8db0-f1c6-847d-b3ce-0cebe9fbdab2.png "カスタムルールのインポート_5.png")

#3. コンピュータをエクスポート・インポート(DSaasからAgentを登録する場合)
##3-1. エクスポート
Managerの「コンピュータ」タブを選択し、移行対象のコンピュータを右クリックして「選択したアイテムをXML形式でエクスポート(インポート用)」をクリックします。
ダウンロードしたXMLファイルを保管しておきます。
![コンピュータのエクスポート_1.png](https://qiita-image-store.s3.amazonaws.com/0/46611/3145d580-9b17-e831-bc2b-e865edbf6783.png "コンピュータのエクスポート_1.png")

##3-2. 移行対象のコンピュータを無効化
Managerの「コンピュータ」タブを選択し、移行対象のコンピュータを右クリックして、処理＞無効化と選択します。
![コンピュータの移行_1.png](https://qiita-image-store.s3.amazonaws.com/0/46611/a37c9a4f-ac76-6e76-bcec-39145cd1becc.png "コンピュータの移行_1.png")

##3-3. インポート
DSaasの「コンピュータ」タブを選択し、新規＞ファイルからインポート…を選択します。
![コンピュータの移行_2.png](https://qiita-image-store.s3.amazonaws.com/0/46611/54abec13-d58e-a50b-c513-ab821174a866.png "コンピュータの移行_2.png")

「ファイルを選択」ボタンをクリックし、先ほどエクスポートしたXMLファイルを選択して、「次へ」ボタンをクリックします。
![コンピュータの移行_3.png](https://qiita-image-store.s3.amazonaws.com/0/46611/7bf0f4d1-ffaf-c8e7-1ba8-aa8c4890d90a.png "コンピュータの移行_3.png")

以下のように表示されることを確認し、「次へ」ボタンをクリックします。
![コンピュータの移行_4.png](https://qiita-image-store.s3.amazonaws.com/0/46611/2e6a2530-2f4b-0673-91d4-eb3a09e0f71f.png "コンピュータの移行_4.png")

インポートが完了すると、以下のように表示されます。
![コンピュータの移行_5.png](https://qiita-image-store.s3.amazonaws.com/0/46611/5ebd3965-fc2a-c4c4-599b-17c19462e413.png "コンピュータの移行_5.png")

一覧にコンピュータグループとともに登録されていることを確認します。
![コンピュータの移行_6.png](https://qiita-image-store.s3.amazonaws.com/0/46611/4203f869-90bd-1814-59e7-9107b563a64a.png "コンピュータの移行_6.png")

追加されたコンピュータをダブルクリックすると、各種ルールが適用されていないことが分かります。
後述の有効化してから推奨設定 → 検出された推奨を適用とするとが手間がありません。
ですが、一時的にセキュリティが下がりますので、要件に応じて事前に手動適用をするようにしてください。
ポリシーを使用していると、この辺は楽だと思います。
![コンピュータの移行_7.png](https://qiita-image-store.s3.amazonaws.com/0/46611/7740cf83-481a-f19d-e14a-dd2cc0d08ce7.png "コンピュータの移行_7.png")

##3−4. 移行対象のコンピュータの有効化
インポートしたコンピュータを右クリックして、処理＞有効化を選択します。
![コンピュータの移行_8.png](https://qiita-image-store.s3.amazonaws.com/0/46611/19179a70-15a8-cf2f-7af5-1eb8140f2347.png "コンピュータの移行_8.png")

以下のように「管理対象(オンライン)」となることを確認します。
![コンピュータの移行_9.png](https://qiita-image-store.s3.amazonaws.com/0/46611/307607a0-91be-b209-3040-1df3d34ba9e3.png "コンピュータの移行_9.png")

#4. AgentからDSaasに登録する
前述の「1-4. 移行対象インスタンスのSecurity Groupを確認」にてDSaasからAgentを登録することができない場合、AgentからDSaasへ登録します。

##4−1. 登録先のコンピュータグループを作成
必要に応じて、「コンピュータ」タブ内の左側ペインを右クリックして、「グループの追加」を選択します。
![グループの追加.png](https://qiita-image-store.s3.amazonaws.com/0/46611/e1ba6480-32d8-7555-954c-23cd8c379426.png "グループの追加.png")

##4-2. インストールスクリプトの取得
DSaasからインストールスクリプトを取得します。
DSaasの画面右上「ヘルプ」から「インストールスクリプト」を選択します。
![自動適用1.png](https://qiita-image-store.s3.amazonaws.com/0/46611/3773c813-aa39-cb2e-46fb-29e8a026f5ab.png "自動適用1.png")

移行対象インスタンスのプラットフォームを指定して、チェックボックス「Agentを自動的に有効化」を指定します。
適用するポリシーやグループが決まっていれば、指定します。
枠線で囲った部分のコマンドを控えます。
![Agentの参加_2.png](https://qiita-image-store.s3.amazonaws.com/0/46611/7a10658e-ca60-50eb-328d-77911121a036.png "Agentの参加_2.png")

##4−3. 移行対象のコンピュータを無効化
Managerの「コンピュータ」タブを選択し、移行対象のコンピュータを右クリックして、処理＞無効化と選択します。
![コンピュータの移行_1.png](https://qiita-image-store.s3.amazonaws.com/0/46611/a37c9a4f-ac76-6e76-bcec-39145cd1becc.png "コンピュータの移行_1.png")

##4−4. 移行対象インスタンスにてインストールスクリプトを実行
移行対象インスタンスにログインし、先ほど控えたコマンドを実行します。
以下のように出力されれば成功です。

```
＃ /opt/ds_agent/dsa_control -a dsm://agents.deepsecurity.trendmicro.com:443/ "tenantID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" "tenantPassword:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
Sending the command to the agent on the local machine...

Attempting to connect to https://agents.deepsecurity.trendmicro.com:443/
Connected successfully - attempting SSL handshake.
SSL handshake completed successfully - initiating command session.
Connected with AES256-SHA to peer at 54.235.92.114
Received a 'GetHostInfo' command from the manager.
Received a 'GetHostInfo' command from the manager.
Received a 'SetDSMCert' command from the manager.
Received a 'SetAgentCredentials' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetInterfaces' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetAgentStatus' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetComponentInfo' command from the manager.
Received a 'SetSecurityConfiguration' command from the manager.
Received a 'GetAgentEvents' command from the manager.
Received a 'GetAgentStatus' command from the manager.
Command session completed.
```

DSaas上で移行対象インスタンスが登録され、有効化されていることを確認します。
コンピュータ名をはじめ、全ての設定を手動で登録し直す必要があります。
![Agentからの参加_2.png](https://qiita-image-store.s3.amazonaws.com/0/46611/3b151d7c-d0a3-0482-24fd-8bd370908c73.png "Agentからの参加_2.png")

お疲れ様でした。