share facebook facebook2 twitter menu hatena pocket slack

2015.07.03 FRI

Deep Securityの変更監視でコンテンツを監視する

吉田 浩和

WRITTEN BY吉田 浩和

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

Deep Securityの変更監視機能を使っていると行き当たる壁に、「コンテンツの『改ざん』を検知したい」という要望があると思います。
諸条件あるかと思いますが、一定の解が出そうなので一筆書きます。

前提

  • Deep Security Managerの導入が完了していること。
  • ライセンスを投入していること。
  • 最低でもRelayを導入しており、管理対象になっていること。
  • 監視対象サーバの他に、1台以上の信頼できるサーバを用意できること。
  • 監視対象サーバと信頼できるサーバにAgentが導入されており、有効化と変更監視機能がオンになっていること。

参照情報

マニュアルの142,235頁になります。

何が壁なのか

サーバ上の資源(ファイルやプログラム、動作しているサービスやポート)の変化を監視するソリューションは幾つもありますが、「意図された変更(人的・システム的)」と「そうでない変更(恐らくは一般的な意味での「改ざん」)」を自動的に識別するソリューションはあまりありません。

※ 絶対に変更が発生しない前提の資源を定義したり、変更内容を事前に登録して、それ以外の変更を「改ざん」という区別はできると思いますが、運用上回せるか否かは別問題だと思います。

特にWebコンテンツは、サービスによっては頻繁に更新されるため、運用上その識別がより困難になります。

本件のゴール

できるだけ人手をかけずに自動的に「意図された変更」と「そうでない変更(恐らくは「改ざん」)」を識別できるよう、信頼されたコンピュータと同じ変更監視イベントにそれと判るタグを付与することとします。

工程

1.事前準備
2.検証用変更監視ルールの作成
3.自動タグ付けルールの作成
4.変更監視タスクの作成
5.動作確認

1.事前準備

今回は、以下の様な構成を用意しました。
DeepSecurityは、9.5sp1を使用しています。
DMZは、外部に公開しているWebサーバです。
Trustedは、外部からアクセスできず、外部からの改ざんが起こり得ないSubnetに配置します。
Trustedは、SecurityGroupやIAMにて、VPC内からのアクセスも制限することが望ましいです。
構成例を以下に示します。

9854b30e-932f-c9f8-3bb8-b85f4706552d

2.検証用変更監視ルールの作成

今回の検証用に「/tmp/test/配下」の変更を監視する変更監視ルールを作成します。
カスタムルールについては、マニュアルの235頁を参照してください。

ポリシータブの共通オブジェクト配下の「変更監視ルール」を選択し、新規>新しい変更監視ルールと選択します。

b5a42195-3dbc-430f-e740-df712b4f4189

ルール名をつけます。

9ea8665a-be0b-6ca4-c3e3-4e146c5cd19a

コンテンツタブ内のテンプレートを「カスタム(XML)」にし、コンテンツ内を以下のように設定します。

1f5f439e-60ef-9d82-ce74-ddefacec9bfd
作成したルールを、DMZとTrustedに付与します。

3.自動タグ付けルールの作成

イベントとレポートタブから変更監視イベントを選択し、「自動タグ付け…」をクリックします。

493725b0-f700-4b9b-bb07-e65e71f8cfaa

「新しい信頼済みのソース…」をクリックします。

3c59d586-2706-486c-8bdb-16d901b7e700

「信頼済みのローカルコンピュータ」を選択して、「次へ」

cad6cf98-3749-40a4-2557-d1a4b141fad0

信頼済みのコンピュータとして、Trustedを指定します。

33a12e50-c44b-040f-c101-732f70cbc7ec

タグ名を指定します。
このタグは、信頼済みのコンピュータとして指定したTrustedへの変更と、Trusted以外のコンピュータへの類似した変更イベントに対して自動的に付与されます。

b6f3aa6a-1167-e73d-c673-9e588b7a0194

自動タグルールの適用範囲を指定します。

c5ed128c-01a2-ef7c-72e0-76ec83d366ec

作成した自動タグ付けルールに名前をつけます。

c036cd64-62b2-0b95-0af8-f722ad08dbba

作成できるとこのように表示されます。

69568f4e-5e17-7778-eeec-ef45b2e8ddf4

4.変更の検索タスクの作成

Linuxの場合、ファイルやディレクトリへの変更の検索は、予約タスクの実行を契機に行われます。
詳しくは以下を参照してください。
トレンドマイクロ Q&Aページ
変更監視 (Integrity Monitoring) でのリアルタイム検知について

Trustedに対する変更検索を行った後で、それ以外の変更検索を行う都合上、変更の検索タスクを2つ作成します。
詳しくはマニュアルの142頁を参照してください。

まず、Trustedに対する変更タスクを作成します。
管理タブの予約タスクから「新規」をクリックします。

615a17e9-cfe2-bf1f-c8e7-895ec8b101c0

予約タスクの種類を「コンピュータの変更を検索」を選択します。
今回は検証なので頻度は「1回のみ」としておきます。

62976cce-ecd4-423c-3903-c937645a1e4f

タスクのスケジュールを指定します。

a9d7c145-a3ab-9730-ae89-58cdbacbf1ed

変更を検索するコンピュータを指定します。
ここは「すべてのコンピュータ」で構いません。

1b5e16ec-b015-6f0a-71d7-7a5bc7d92fcc

「信頼済みのコンピュータのみを検索します」を選択します。

5ed05ff7-a0f4-d499-ab89-0a236c492584

タスク名を「信頼されたコンピュータの検索」と付けます。

bd332749-f440-f4c7-e8b0-521250b06bce

同じ要領で、「一般コンピュータの検索」を作成します。
変更箇所は、「信頼済みのコンピュータを除外します。」とするところです。

a4e7544b-2966-0b3b-d8ee-4d40ccea2382

変更検索タスクができました。

a19e6ef9-ab26-defc-20c1-6058e812b137

5.動作確認

DMZとTrustedに同じ変更をかけます。

82184de3-ba46-3436-f3c3-ff4b3e5d69e2

trusted# touch /tmp/test/hoge1.txt
trusted# ls -lR /tmp/
/tmp/:
total 4
drwxr-xr-x 2 root root 4096 Jun 20 03:19 test

/tmp/test:
total 0
-rw-r--r-- 1 root root 0 Jun 20 03:19 hoge1.txt
dmz# touch /tmp/test/hoge1.txt
dmz# ls -lR /tmp/
/tmp/:
total 4
drwxr-xr-x 2 root root 4096 Jun 20 03:20 test

/tmp/test:
total 0
-rw-r--r-- 1 root root 0 Jun 20 03:20 hoge1.txt

タイムスタンプが違ってしまいましたね。
それでは、管理タブの予約タスクから、先ほど作成した変更検索タスクを実行します。
まずは、「信頼されたコンピュータの検索」を選択して「今すぐタスクを実行」をクリックします。
処理が完了したのを確認してから、「一般コンピュータの検索」を選択して「今すぐタスクを実行」をクリックします。

319a8b72-b73a-97db-ea98-7d2e7138e3a8

しばらくすると、イベントとレポートタブの変更監視イベントに記録されます。
DMZとTrusted双方に「Trusted_Change」タグが付与されてます。
タイムスタンプは無視されているようですね。

2c3a46a2-f332-e842-67a1-f45cfc4c67d6

次に、DMZとTrustedにそれぞれ異なる変更をかけます。

8dccee89-ab50-34af-5337-25719380e9e4

trusted# echo trusted > /tmp/test/hoge1.txt
trusted# cat /tmp/test/hoge1.txt
trusted
trusted# ls -lR /tmp/
/tmp/:
total 4
drwxr-xr-x 2 root root 4096 Jun 20 03:19 test

/tmp/test:
total 4
-rw-r--r-- 1 root root 8 Jun 20 04:51 hoge1.txt
dmz# echo dmz > /tmp/test/hoge1.txt
dmz# cat /tmp/test/hoge1.txt
dmz
dmz# ls -lR /tmp/
/tmp/:
total 4
drwxr-xr-x 2 root root 4096 Jun 20 03:20 test

/tmp/test:
total 4
-rw-r--r-- 1 root root 4 Jun 20 04:52 hoge1.txt

先ほどと同じように、「信頼されたコンピュータの検索」の処理が完了したのを確認してから、「一般コンピュータの検索」を実行します。

DMZのイベントのみタグが付与されませんでした。

374dc382-e295-8a8d-2a7f-b66ff9f5202f

運用上では、タグが付かなかったものについて、調査していく方針になると思います。

お疲れ様でした。

元記事はこちら

Deep Securityの変更監視でコンテンツを監視する

吉田 浩和

吉田 浩和

cloudpackの中の人。 securitypackと運用、保守を中心に、構築もやってます。 エンタープライズ系SIerを経て、クラウドの最前線で奮闘の日々を送ってます。