ソリューション

マクニカネットワークスが取り扱う製品で、皆様の課題を解決します

独自技術で標的型攻撃を検知するFireEyeと
7年連続シェアNo.1のセキュアWebゲートウェイ Blue Coatで情報漏えいの危険を迅速に回避!

FireEyeNXシリーズとBlueCoatProxySGの連携機能と構築法

SIerの為の実践講座

本講座は、ITエンジニアの為の明日から役に立つシステム構築スキルや技術・製品スキルなどをご提供します。まだお客様へご提案したことがない製品や技術でも、ポイントを押さえた実務知識を短時間に把握したい方にお勧めです。

【今回の講座】

昨今、標的型攻撃をはじめとした未知の脆弱性やマルウェアを利用した脅威の顕在化に伴い、このような脅威に独自な検知手法を持つFireEyeは、製造業・金融機関・行政機関を中心に多くのお客様にご利用いただいております。このFireEyeは様々な製品と連携させることにより、より強固に情報漏洩の危険を回避することが出来ます。そこで、今回はTechnology Partners同士であるFireEye NXシリーズ(以下NXシリーズ)とBlue Coat Systems社のBlue Coat ProxySG(以下ProxySG)を連携させて、C&Cサーバとの通信を自動で止める機能について構築方法を含めてご紹介します。この連携では、C&Cサーバとの通信を止める機能を「自動化」できることから、担当者の負荷を軽減できます。

By 村越 宏和
Macnica Networks Corp.

※本コンテンツでは、NXシリーズおよびProxySGの基本機能の紹介を割愛させて頂いております。NXシリーズおよびProxySGの詳細は下記よりご確認ください。

NXシリーズの設置構成

まずは、NXシリーズの設置構成からご説明します。NXシリーズの設置構成はネットワークに挟み込みブリッジ接続する”INLINE構成”とSwitchでSPANポート、若しくはネットワークTAPからのミラーパケットをキャプチャする”SPAN/TAP構成”にわかれます。

NXシリーズの設置構成

INLINEとSPAN/TAPのメリットデメリット

INLINEとSPAN/TAPのメリットデメリットを下記に記します。実際には、既存のネットワークにほとんど影響を与えないSPAN/TAP構成の事例が圧倒的に多くなっております。ただ、SPAN/TAPにもいくつか課題があります。それを解決するのが、プロキシとの連携になります。プロキシ以外にもファイヤーウォールやIPSと連携させることも可能ですが、以下の理由からプロキシで対処することが望ましいと考えます。

  • IPアドレスベース以外にFQDNで記載できる
  • URIのパスを指定できる
  • User-Agentを指定できる
  • 詳細なアクセスログを記録できる
  • エンドユーザにブロック理由を表示することができる。
  メリット デメリット
INLINE
  •  ブロック設定時、自動で止めることができる
  •  シングルポイント障害ができてしまう
  •  ブロック設定時、フォルスポジティブの運用が困難
  •  エンドユーザはなぜ通信ができないかわからない
SPAN/TAP
  •  ブロック設定時、RSTパケットで通信を遮断することができる
  •  FireEye導入時にネットワーク断が発生しない
  •  障害時でもネットワーク断は発生しない
  •  ブロック設定時、フォルスポジティブの運用が困難
  •  エンドユーザはなぜ通信ができないかわからない

NXシリーズとプロキシ製品との連携

一般的なプロキシと連携させる場合は管理者の手動でのオペレーションが必須となります。

  1. NXシリーズは脆弱性をつく攻撃、マルウェア、C&Cサーバへの通信を検知します。
  2. NXシリーズは検知すると管理者にメール、SYSLOG等で通知します。
  3. 管理者は検知の内容を確認して、プロキシ製品にC&CサーバのIP、URL、その他特徴的なヘッダ情報をブラックリストとして登録します。
  4. クライアントからC&Cサーバへの接続を検知するとプロキシ製品はクライアントへエラーページを表示し、アクセスログに記述します。
NXシリーズとプロキシ製品との連携

NXシリーズとProxySGとの連携

NXシリーズはProxySGと自動連携する機能を持っております。

  1. NXシリーズは脆弱性をつく攻撃、マルウェア、C&Cサーバへの通信を検知します。
  2. NXシリーズはProxySGがポリシー処理を行うために使用している独自言語であるCPL(コンテント ポリシー ランゲージ)で検知したC&Cサーバとの接続をブロックするポリシーファイルを自動生成します。
  3. ProxySGはNXシリーズが生成したポリシーファイルを取得、適用し、既存のポリシーと合わせて処理を行います。
  4. クライアントからC&Cサーバへの接続を検知するとProxySGはクライアントへエラーページを表示し、アクセスログに記述します。
NXシリーズとProxySGとの連携

連携時のネットワーク構成

  • ProxySGとの連携時はNXシリーズの管理ポート(ether1)とProxySG間で通信か可能な構成にする必要があります。
  • ProxySGは必ずしも管理ポートを必要としませんのでサービスポートとWebMPSの管理ポートで通信させても問題ありません。
NXシリーズとProxySGとの連携

連携時のネットワーク構成

NXシリーズとProxySGを連携させる際にはソフトウェアのバージョンに制限がございますのでご注意ください。

  FireEye BlueCoat
筐体 FireEye BlueCoat
モデル すべてのNXシリーズ すべてのProxySG
対応OS
(ファームウェア)
Version6.2以降で対応 SGOS6.2以降
(弊社検証済み)
オプションライセンス
などの購入
必要なし 必要なし

ProxySGとの連携のメリット

  • FireEyeが検知したC&Cサーバとの通信を自動的にProxySGでブロックすることができます。
  • エンドユーザにも検知結果を通知するWebページを表示することができます。
  • フォルスポジティブが発生した場合でもProxySGのポリシー設定でブロック解除が可能です。
  • ProxySGのアクセスログからもFireEyeのポリシーで止めたことがわかります。

連携設定の手順

検証に使用した環境

  • FireEye NXシリーズ
  • Model:4310
  • Software Version: 6.2
  • Patch Version :3
  • VXE Version:12.0126
  • Blue Coat ProxySG
  • Model:SG300-25
  • OS Version:6.2.12.1 Proxy Edition

設定の流れ

設定の流れは以下の通りですが、いたって簡単です。またProxySGをすでにお使いのお客様の場合、アクセスログのフォーマットの変更やExceptionページ(エラーページ)のカスタマイズが必要になることもあります。

  • NXシリーズでProxySG連携機能を有効にする
  • ProxySGにてセントラルポリシーを設定する
  • ProxySGのVisual Policy Manager(以下VPM)にてホワイトリスト用のレイヤー若しくはルールを作成する

NXシリーズの設定手順

CLIからコマンドを数個たたきます。

  1. FireEyeのCLIからProxySG連携機能を有効にします。
  2. W2N (config) # swg scan enable

  3. 必要に応じてシグネチャの有効期限を設定します。ここではコールバックについては1週間、マルウェアサイトについては1日で設定を行います。
  4. W2N (config) # swg scan period callback-url past 168 hours
    W2N (config) # swg scan period malicious-url past 24 hours

  5. 設定を保存します。
  6. "W2N (config) # write memory
    Saving configuration file ... Done!

ProxySGの設定手順

セントラルポリシー機能を使いNXシリーズと連携させます。セントラルポリシーはWebサーバ上にポリシーファイルを保存しておけば、ProxySGが定期的にそのファイルを取得、適用する機能です。また、複数台のProxySGで同じポリシーを適用するのに便利な機能です。さらに、セントラルポリシーはVPMやLocalポリシーなどと併用して使うことが可能です。

  1. セントラルポリシーの設定
  2. VPMでホワイトリストの設定
  3. 日本語エラーページのカスタマイズ

1.セントラルポリシーの設定

  1. ProxySGのManagement ConsoleからConfigurations->Policy> Policy Filesを開きます。
  2. ProxySGのManagement ConsoleからConfigurations->Policy> Policy Filesを開きます。
  3. Remote URL > Install Central File from: > Remote URL を選択し、その右のInstallボタンをクリックします。
  4. Remote URL > Install Central File from: > Remote URL を選択し、その右のInstallボタンをクリックします。
  5. ダイアログボックスが表示されたらInstallation URL欄にhttp://WebMPSのIPアドレス/urllist.txtを入力して、Installボタンをクリックします。
  6. ダイアログボックスが表示されたらInstallation URL欄にhttp://WebMPSのIPアドレス/urllist.txtを入力して、Installボタンをクリックします。
  7. インストールが成功したらOKをクリックします。
  8. インストールが成功したらOKをクリックします。
  9. Automatically install new Policy when central file chenges にチェックを入れてApplyボタンをクリックします。
  10. Automatically install new Policy when central file chenges にチェックを入れてApplyボタンをクリックします。
  11. Configuration > Pokicy > Policy Optionを選択してPolicy Evaluation Orderにある”Central”,”VPM”,”Local”,”Forwad”各ポリシーを評価する順番を必要に応じて変更します。 Configuration > Pokicy > Policy Optionを選択してPolicy Evaluation Orderにある”Central”,”VPM”,”Local”,”Forwad”各ポリシーを評価する順番を必要に応じて変更します。

  12. Policy Evaluation Orderについて
    ProxySGは様々な種類のポリシーを記述することが可能です。
    1つのトランザクションに複数のアクションを実行させるためにレイヤーという概念を取り入れています。
    トランザクション毎にすべてのレイヤーのポリシーを評価し、”Allow”と”Deny”のような相反するアクションがマッチした場合、最後に評価したアクションで上書きします。
  13. CLIからpolicy poll-interval <分>コマンドを実行してNXシリーズのポリシーの更新をチェックする間隔を調整します。ここでは10分で設定します。

Blue Coat SG#(config)policy poll-interval 10

2.VPMでホワイトリストの設定
フォルスポジティブが発生した場合にはProxySGにホワイトリストを記述して対応します。

1. ProxySGのManagement ConsoleからConfigurations->Policy> Policy Filesを開きLaunchボタンをクリックします。

ProxySGのManagement ConsoleからConfigurations->Policy> Policy Filesを開きLaunchボタンをクリックします。

2. VPMが起動したら、Policy > Add Web Access Layerを選択します。

VPMが起動したら、Policy > Add Web Access Layerを選択します。

3. ダイアログボックスが表示されたら、任意のレイヤー名を入力してOKをクリックします。ここでは”White List for Fire Eye”と入力します。

ダイアログボックスが表示されたら、任意のレイヤー名を入力してOKをクリックします。ここでは”White List for Fire Eye”と入力します。

4. 実際にフォルスポジティブが発生するまでは使いませんので、”White List for Fire Eye” のタブを右クリックして、Disableを選択します。

実際にフォルスポジティブが発生するまでは使いませんので、”White List for Fire Eye” のタブを右クリックして、Disableを選択します。

5. Install Policyボタンをクリックします。

Install Policyボタンをクリックします。
参考:実際フォルスポジティブが発生した際には以下のような許可ルールを記述します。

3.日本語エラーページのカスタマイズ
必須ではありませんが、次のようなポリシーを記述することでエンドユーザにFireEyeが検知してブロックしたことを伝えることができます。

1. VPMからPolicy > Add CPL Layerを選択します。

VPMからPolicy > Add CPL Layerを選択します。

2. ダイアログボックスが表示されたら、任意のレイヤー名を入力してOKをクリックします。

VPMからPolicy > Add CPL Layerを選択します。

3. 作成したCPLレイヤーに以下のようなポリシーを記述します。

<Proxy>
condition=FireEye_Callbacks exception(content_filter_denied,"C&Cサーバへの接続を検知しました。情報が搾取される可能性があるため、FireEyeのポリシーによりブロックしました。") ; Rule 1
condition=FireEye_MaliciousURL exception(content_filter_denied,"脆弱性をつく攻撃、マルウェアを検知したため、FireEyeのポリシーによりブロックしました。") ; Rule 2

4. Install Policyボタンをクリックします。

VPMからPolicy > Add CPL Layerを選択します。

設定は以上となります。

※お客様のProxySGの設定により別途、Exception PageやAccesslog フォーマット、ポリシーのチューニングが必要となる場合がございます。

ブロックした際のサンプル

ブロックした際には以下のようなエラーページをエンドユーザに表示しますので、エンドユーザから管理者に問い合わせが入ってもメッセージを読んでもらえば、ブロック原因がすぐにわかります。

ブロックした際のサンプル

ブロックした際アクセスログには以下のようにFireEyeのポリシーで止まっていることがわかります。

201x-02-20 06:24:53 1 172.26.4.240 - - content_filter_denied PROXIED "FireEye Callback" - 403 TCP_DENIED GET - http secmixxxxxx.ru 80 /gate.php - php "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17" 172.22.15.3 973 451 - "unavailable" "unavailable"

まとめ

以上のように連携の設定ははいたって簡単なことがご理解いただけたかと思います。また、FireEye NXシリーズとBlue Coat ProxySGを組み合わせることにより、

  • 1. 自動でブロックポリシーが適用される。
  • 2. エンドユーザのブラウザ上にブロック理由を通知できる。
  • 3. ProxySGのアクセスログからもFireEyeのポリシーでブロックしたことがわかる。
という運用の負荷を軽減ができることが一番のメリットになりますので是非お客様にご提案いただければと思います。

いつか見た景色 from Staff's Albums