« SAP社とAWSによるSAP BW/4HANA共同ローンチイベント | メイン | [OpsJAWS:やってみようシリーズ]sumologicでログの相関分析 »

[OpsJAWS: やってみようシリーズ] SumologicとTrend Micro Deep Securityの連携 Part3

こんにちは、Partner SA 酒徳です。本日のやってみようシリーズは、sumologicとDeep Security (ファイアウォールや侵入防御などのセキュリティイベントログ) のインテグレーションに関して、オージス総研 多田様にご紹介させて頂きます。

1

設定(構築)する内容

6回目となる今回は、AWS上でも多くの実績があるセキュリティソフトDeep Securityのファイアウォールや侵入防御などのセキュリティイベントログをsumologicに取り込んで可視化していきたいと思います。主な構築内容は、次のとおりです。

  1. Deep Securityセキュリティイベントログのsumologicへの取り込みと可視化
  2. FER(Field Extraction Rules)を使った検索高速化
  3. ダッシュボードの作成方法

インテグレーション用の手順はトレンドマイクロさまから公開されていますので、こちらをご参照下さい。

セキュリティイベントログをsumologicと連携するためのアーキテクチャには、以下の2つの方法があります。

1. Deep Security Manager経由で転送

2

2. Direct転送

3

「① Deep Security Manager」経由で転送する場合は、システムイベントログと同様に、Syslog Installed Collectorをインストールし、CollectorからsumologicにHTTPSで転送します。「② Direct転送」の場合は、Deep Security Agentをインストールした各サーバからUDP経由でSyslog Installed Collectorをインストールしたサーバにログを直接転送し、CollectorからsumologicにHTTPSで転送します。それぞれのメリットデメリットについては、トレンドマイクロさまの資料に詳しく記載されているので確認してください。

今回は、前々回 (4回目)前回 (5回目) からの続きとなりますので、まだ実施していない方は、まずはそちらを確認してみてください。それでは、セキュリティイベントログをsumologicに取り込んで、可視化していきましょう。アーキテクチャとしては、「① Deep Security Manager」となります。

1.Deep Security Managerにログインし、ポリシーのSIEMを設定していきます。ここでは、[Base Policy]に設定します。

2.[Base Policy]を右クリックし、[詳細]をクリックします。

4

3.[設定]→[SIEM]をクリックします。

5

4.今回は、[ファイアウォールと侵入防御イベントの転送]の設定を行っていきます。設定方法は、どのセキュリティイベントも同じです。

5.[イベントの転送先]→[Manager経由でリレーする]を選択します。[イベントの送信先のホスト名またはIPアドレス]、[イベントの送信先UDPポート]、[Syslogファシリティ]、[Syslog形式]を設定し、[保存]をクリックします。

イベントの送信先のホスト名またはIPアドレス

Deep Security ManagerのIPアドレスまたはホスト名

イベントの送信先UDPポート

1514(任意)

Syslogファシリティ

ローカル1(任意)

Syslog形式

Common Event Format

6

6.次は、sumologicの設定を行っていきます。

7.sumologicにアクセスし、[Email]と[Password]を入力し、[Sign in]をクリックしログインします。sumologicのアカウントを作成していない場合は、第1回目のブログを参考に作成してください。

7

8.[Manage]→[Collection]をクリックします。

8

9.Collector一覧が表示されます。そこに、前回(http://4回目)で設定したDeep Security ManagerにインストールしたCollectorが表示されていると思います。

9

10.Collector名が自動付与されて、分かりにくいので修正しておきます。[Edit]をクリックします。

10

11.[Name]を任意の名称に変更します。ここでは、”Trend Micro Deep Security”としました。変更後、[Save]をクリックします。

11

12.[Add…]→[Add Source]をクリックします。

12

13.[Syslog]をクリックします。

13

14.[Name]、[Protocol]、[Port]、[Source Category]を設定し、[Save]をクリックします。

Name

任意(ここでは、DSFirewallEvents-IPSとしました)

Protocol

UDP

Port

1514(手順5で設定したポート番号を設定します)

Source Category

任意(ここでは、DS/FirewallEvents-IPSとしました)

14

15.イベントログが転送されているか確認します。Manage Collectionで、いま設定したSourceがあると思いますので、Source Categoryのアイコンをクリックします。

15

16.ログが転送されていれば、Searchページで次のように表示されると思います。

16

17.前回と同様にFER(Field Extraction Rule)を設定していきます。FERは、ログの取り込み時にログをパースするので検索時はパースの必要がなく高速に検索することができます。FERの詳細はこちらを参照してください。

18.[Manage]→[Field Extractions]をクリックします。

17

19.[+Add]をクリックします。

18

20.ファイアウォールイベントログのFERを設定します。[Rule Name]は、任意の名前を入力します。[Scope]は、システムイベントログの範囲となるので、_sourceCategoryの値を設定します。[Parse Expression]は、トレンドマイクロさまから提供されていますので、その値を設定します。入力後、[Add]をクリックします。

提供されるFERの値は、トレンドマイクロさまの手順の中にリンクがありますのでこちらをご参照ください。

Rule Name

DS_FirewallEvents(任意)

Scope

_sourceCategory=DS/FirewallEvents-IPS

Parse Expression

parse "CEF:0|*|*|*|*|*|*|*" as Device_Vendor,Device_Product,Device_Version,Signature_ID, Name, Severity, Extension

| where (signature_id >= 100 AND signature_id <= 199) OR signature_id = 20 OR signature_id = 21

| "Firewall" as deepsecuritysource

| where signature_id >= 100 AND signature_id <= 199 OR signature_id = 20 OR signature_id = 21

| parse regex field=extension "act=(?<Action>.+?)\s\w+?=" nodrop

| parse regex field=extension "cn1=(?<Host_Identifier>.+?)\s\w+?=" nodrop

| parse regex field=extension "cnt=(?<Repeat_Count>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs2=(?<TCP_Flags>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs3=(?<Fragmentation_Bits>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs4=(?<ICMP_Type_And_Code>.+?)\s\w+?=" nodrop

| parse regex field=extension "dmac=(?<Destination_MAC_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "dpt=(?<Destination_Port>.+?)\s\w+?=" nodrop

| parse regex field=extension "dst=(?<Destination_IP_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "in=(?<Inbound_Bytes_Read>.+?)\s\w+?=" nodrop

| parse regex field=extension "out=(?<Outbound_Bytes_Read>.+?)\s\w+?=" nodrop

| parse regex field=extension "proto=(?<Transport_Protocl>.+?)\s\w+?=" nodrop

| parse regex field=extension "smac=(?<Source_MAC_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "spt=(?<Source_Port>.+?)\s\w+?=" nodrop

| parse regex field=extension "src=(?<Source_IP_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsFrameType=(?<Enternet_Frame_Type>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsPacketData=(?<Packet_Data>.+?)\s\w+?=" nodrop

| parse regex field=extension "dvc=(?<Device_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "dvchost=(?<Device_Hostname>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsTags=(?<Event_Tags>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsTenant=(?<Tenant_Name>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsTenantId=(?<Tenant_ID>.+?)\s\w+?=" nodrop

19

21.FERの設定が完了します。

20

22.次に、侵入防御イベントのFERを手順20と同様に設定します。

Rule Name

DS_IPS(任意)

Scope

_sourceCategory=DS/FirewallEvents-IPS

Parse Expression

parse "CEF:0|*|*|*|*|*|*|*" as Device_Vendor,Device_Product,Device_Version,Signature_ID, Name, Severity, Extension

|where (signature_id >= 200 AND signature_id <= 299) OR (signature_id >= 300 AND signature_id <= 399) OR (signature_id >= 500 AND signature_id <= 899) OR signature_id = 10 OR (signature_id >= 1000000 AND signature_id <= 1999999)

| "Intrusion Prevention" as deepsecuritysource

| parse regex field=extension "act=(?<Action>.+?)\s\w+?=" nodrop

| parse regex field=extension "cn1=(?<Host_Identifier>.+?)\s\w+?=" nodrop

| parse regex field=extension "cn3=(?<IPS_Packet_Position>.+?)\s\w+?=" nodrop

| parse regex field=extension "cnt=(?<Repeat_Count>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs1=(?<IPS_Filter_Note>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs2=(?<TCP_Flags>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs3=(?<Fragmentation_Bits>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs4=(?<ICMP_Type_And_Code>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs5=(?<IPS_Stream_Position>.+?)\s\w+?=" nodrop

| parse regex field=extension "cs6=(?<IPS_Filter_Flags>.+?)\s\w+?=" nodrop

| parse regex field=extension "dmac=(?<Destination_MAC_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "dpt=(?<Destination_Port>.+?)\s\w+?=" nodrop

| parse regex field=extension "dst=(?<Destination_IP_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "in=(?<Inbound_Bytes_Read>.+?)\s\w+?=" nodrop

| parse regex field=extension "out=(?<Outbound_Bytes_Read>.+?)\s\w+?=" nodrop

| parse regex field=extension "proto=(?<Transport_Protocl>.+?)\s\w+?=" nodrop

| parse regex field=extension "smac=(?<Source_MAC_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "spt=(?<Source_Port>.+?)\s\w+?=" nodrop

| parse regex field=extension "src=(?<Source_IP_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsFrameType=(?<Enternet_Frame_Type>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsPacketData=(?<Packet_Data>.+?)\s\w+?=" nodrop

| parse regex field=extension "dvc=(?<Device_Address>.+?)\s\w+?=" nodrop

| parse regex field=extension "dvchost=(?<Device_Hostname>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsTags=(?<Event_Tags>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsTenant=(?<Tenant_Name>.+?)\s\w+?=" nodrop

| parse regex field=extension "TrendMicroDsTenantId=(?<Tenant_ID>.+?)\s\w+?=" nodrop

| if(action matches "IDS:*","Detect","Prevent") as ips_action

21

23.FERの設定が完了します。

22

24.次にチャートを作成していきます。Search画面にアクセスします。

25.ファイアウォールイベントの履歴をチャート化します。ログのパースは、FERにより取り込み時に完了しているので、この様な簡単なクエリで検索することができます。”where”でログ種別を限定しています。今回は、同じ_sourceCategoryにファイアウォールイベントと侵入防御のログを取り込んでいるのでこのようなことをしています。”timeslice”は、1時間ごとにログを集計します。”count”で1時間ごとの”action”を集計しています。”action”がファイアウォールイベントを検知した際のアクションとなります。”transpose”はエクセルのピボットテーブルなような指定となります。検索時間は、[Last 24 Hours]にしておきます。

各クエリのオペレータの詳細は、sumologicのドキュメントを参照してください。

_sourceCategory=DS/FirewallEvents-IPS

| where deepsecuritysource = "Firewall"

| timeslice 1h

| count by _timeslice, action

| transpose row _timeslice column action

23

26.この結果を積上棒グラフにしていきます。つまり、時系列のチャートでイベント検知時のアクションを表示します。

27.検索結果の右にあるアイコンをクリックします。

24

28.棒グラフが表示されます。

25

29.グラフの右にあるアイコンをクリックし、[Change Properties…]をクリックします。

26

30.Stackingの[Normal]を選択し、[Save]をクリックします。

27

31.積上棒グラフが表示されます。

28

32.次にこのチャートをダッシュボードに追加してみます。前回(http://4回目)のシステムイベントログ時に作成したダッシュボードに追加してみます。

33.右にある[Add to Dashboard]をクリックします。

33

34.[Title]と[Dashboard]を設定します。[Title]は、”Firewall Events History”としておきます。[Dashboard]は、”Trend Micro Deep Security”を選択します。最後に、[Add]をクリックします。

29

35.ファイアウォールイベントログの履歴がダッシュボードに追加されました。

30

36.続いて、侵入防御イベントの履歴をチャート化します。ファイアウォールイベントと同様に手順25~手順35を繰り返します。

37.指定するクエリは、以下となります。このクエリで、侵入防御イベントを検知したさいのアクションをチャート化しています。

_sourceCategory=DS/FirewallEvents-IPS

| where deepsecuritysource = "Intrusion Prevention"

| timeslice 1h

| count by _timeslice, ips_action

| transpose row _timeslice column ips_action

38.ダッシュボードに追加するとこのようになります。ダッシュボードでは、チャートの配置や大きさを変更することもできるのでやってみてください。

31

39.今回の手順では、「ファイアウォールと侵入防御のイベント」を対象にしましたが、Deep Securityでは、これ以外にも「不正プログラム対策イベント」、「Webレピュテーションイベント」、「変更監視イベント」、「セキュリティログ監視イベント」などがありますので、試してみるのもいいでしょう。

40.また、作成したダッシュボードは、[Library]→[Personal]からもアクセスできます。

32

まとめ

  • トレンドマイクロ社からDeep Securityのセキュリティイベントログをsumologicに取り込む手順が公開されたので試してみました。
  • ファイアウォールイベントと侵入防御イベントのログの取り込みから検索、可視化、ダッシュボードまでを実施してみました。自身で色々なチャートを作成し、ダッシュボードに追加してみてください。
  • また、セキュリティイベントログの取り込み時に、トレンドマイクロさまから提供されているFER(Field Extraction Rule)を設定し、検索クエリの簡略化、高速化を実現しました。

参考情報

  • AWSでの導入実績
    • 大容量ファイル転送サービスである「宅ふぁいる便」のログ監査に利用し、AWS操作権限をもつ運用担当者が未承認の作業を実施していないか、時間外の作業を実施していないかを確認しています。
    • AWS上に構築し、多くの部門や開発パートナーが携わる開発環境に対して、セキュリティガイドライン外の操作がないか確認しています。 

      http://dc.ogis-ri.co.jp/securitylogpack

  • ライセンス体系とコスト
    • オージス総研にてsumologicのライセンス費用と運用をセットにしてサービス提供しています。
      • 初期費用:\100,000
      • 月額費用:\98,000~(1GB/30日保管)
      • 質問や詳細なご要望はお気軽にお問合せください

                        http://dc.ogis-ri.co.jp/securitylogpack 

お問い合わせ先

  • 株式会社オージス総研
    • URL: http://www.ogis-ri.co.jp/
    • E-mail: AWS-QA@ogis-ri.co.jp
    • TEL: 03-6712-1201(東京)、052-209-9390(名古屋)、06-6871-8054(大阪)

****

OpsJAWS メインページはこちら

クラウド運用にご興味ある方は、こちらからOpsJAWSに登録ください。

コメント

Featured Event

2017年9 月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30