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

前回(Auto ScaleしたインスタンスをDeep Securityで管理する)に続き、
Auto Scaleしたインスタンスに侵入防御(DPI)ルールを適用する手法について、一筆書きます。

前提

参照情報

マニュアルの72頁になります。

工程

  1. Auto Scaleしたコンピュータへ適用するポリシーを作成
  2. Launch Configrationsの適用
  3. 動作確認

1.Auto Scaleしたコンピュータへ適用するポリシーを作成

Auto Scaleしたコンピュータへ適用する侵入防御ルールを定義したポリシーを作成します。
まず、Deep Security Managerのコンピュータ画面にて、Auto Scale対象のコンピュータを右クリックして、「推奨設定の検索」をクリックします。
Auto Scale したインスタンス用ポリシーを作成する (1)

ポリシー画面にて左側ペインの「ポリシー」を選択し、「新規」→「新規ポリシー」を選択します。
Auto Scale したインスタンス用ポリシーを作成する (2)

ポリシー名は、「AutoScale」にします。
Auto Scale したインスタンス用ポリシーを作成する (3)

先ほど実行した推奨設定をベースにするので、ここは「はい」を選択します。
Auto Scale したインスタンス用ポリシーを作成する (4)

先ほど推奨設定を実行したコンピュータを選択します。
Auto Scale したインスタンス用ポリシーを作成する (5)

デフォルトでは全ての項目が選択されていますが、適宜選別します。
今回は、侵入防御ルールの自動適用をフォーカスしているので「推奨されるアプリケーションの種類と侵入防御ルール」を選択します。
Auto Scale したインスタンス用ポリシーを作成する (6)

適用内容が表示されるので、「完了」します。
Auto Scale したインスタンス用ポリシーを作成する (7)

ポリシーが作成されました。
zAuto Scale したインスタンス用ポリシーを作成する (8)

ポリシーの詳細画面が表示されるので、侵入防御を「オン」に設定します。
zAuto Scale したインスタンス用ポリシーを作成する (9)

2.Launch Configrationsの適用

ここでは、前回作成したLaunch Configrations の設定を修正して、Auto Scaleしたコンピュータに先ほど作成したポリシーを適用する設定にします。

前回同様、Deep Security Manager画面右上の「ヘルプ」から「インストールスクリプト」を選択します。
EC2 の Launch Configurations を適用する (1)

「Agentを自動的に有効化」を選択して、「ポリシー」に先ほど作成したポリシーを指定します。
スクリプトが生成されるので、控えておきます。
EC2 の Launch Configurations を適用する (2)

次は、AWSコンソールのLaunch Configrationsから、前回作成したLaunch Configrationsを選択して、「Copy launch configration」ボタンをクリックします。
EC2 の Launch Configurations を適用する (3)

Launch configration detailsの「Edit detailes」を選択します。
EC2 の Launch Configurations を適用する (4)

Name欄を適宜設定して、User data欄に先ほど控えておいたインストールスクリプトに置き換えます。
他に調整する箇所がないので「Skip to review」を選択して、Launch configrationを作成します。
EC2 の Launch Configurations を適用する (5)

作成できましたね。
EC2 の Launch Configurations を適用する (6)

次は、Auto Scaling Group画面にて、Launch configrationを先ほど作成したものに変更して「Save」します。
EC2 の Launch Configurations を適用する (7)

3.動作確認

さて、試してみましょう。
コンピュータ画面から、Auto Scaleで現在稼働中のコンピュータをダブルクリックします。
Auto Scaleで現在稼働中のコンピュータは侵入防御が「オフ」になっており、侵入防御ルールが適用されていませんね。
Auto Scale したインスタンスのポリシー適用後、動作確認する (1)

稼働中のコンピュータをTerminateします。
Auto Scale したインスタンスのポリシー適用後、動作確認する (2)

Auto Scale機能で自動起動されたコンピュータには侵入防御機能が「オン」になっており、侵入防御ルールが適用されていますね。
・・・ですがエラーになってしまってます。
Auto Scale したインスタンスのポリシー適用後、動作確認する (3)

エラーの内容を見てみましょう。
「設定のアップデートの失敗(Agent/Applianceエラー)」のリンクをクリックします。
説明欄にエラー内容が全文表示されていますので、確認します。
Auto Scale したインスタンスのポリシー適用後、動作確認する (4)

2つ目のエラーを見ると、HTTP:endof-POST-uriqueryが見つからないと言っています。

Agent/Applianceの次のエラーにより、処理を完了できません: Update failed - check agent events for cause。

Agent/Applianceイベント:

時刻: 2014-09-17 08:31:57
レベル: エラー
イベントID: 3004
イベント: 外部コマンド出力の読み取り不能
説明: 外部コマンド「/opt/ds_agent/dsc」の出力を読み取れません: Exit status 0x100

時刻: 2014-09-17 08:31:57
レベル: エラー
イベントID: 2085
イベント: セキュリティ設定エラー
説明: 設定のコンパイルでエラーが発生しました:

can't open preload file - ignored preload.tbf
65: note: unrecognised system setting
83: note: adding preset log policy 0
83: note: adding preset log policy 1
83: note: adding preset log policy 2
83: note: adding preset log policy 3
83: note: adding preset log policy 4
83: note: adding preset log policy 5
83: note: adding preset log policy 6
1391: error: filter="Perl Locale::Maketext Remote Command Execution Vulnerabilities" rule=4: event name 'HTTP:endof-POST-uriquery' not defined
1 errors during parsing

エラー内容から検索すると、以下情報が出てきました。
「セキュリティ設定エラー – 設定のコンパイルでエラーが発生しました」が発生する
どうやら、侵入防御ルールの依存関係で、必要なルールが適用されていない時に発生するエラーのようです。

FAQの内容に従って確認してみましたが、手順のように必要なルールは表示できませんでした。
結局、サポートに問い合わせて1000128 - HTTP Protocol Decodingという侵入防御ルールが該当することが分かりました。
早速、適用してみましょう。

ポリシー画面から、先ほど作成したポリシー「AutoScale」をダブルクリックします。
左側ペインの「侵入防御」を選択して、「割り当て/割り当て解除」を選択します。
Auto Scale したインスタンスのポリシー適用後、動作確認する (5)

「1000128」を検索し、チェックして保存します。
Auto Scale したインスタンスのポリシー適用後、動作確認する (6)

Auto Scale機能で自動起動されたコンピュータのステータスを見るとエラーが消えていますね。
Auto Scale したインスタンスのポリシー適用後、動作確認する (7)

お疲れ様でした。

元記事はこちらです。
Auto Scaleしたインスタンスに侵入防御ルールを適用する