[Deep SecurityでEC2徹底防御] #03 ネットワークセキュリティ(FW/IPS/WAF)の構成

2013.08.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども大瀧です。本シリーズでは、Trend Micro社のクラウド対応セキュリティ製品、Deep Securityを紹介しています。
前回までのエントリーはこちら。ここまで、Deep Securityのセットアップを見てきました。

さて、今回と次回でDeep Securityの持つ、セキュリティ機能をご紹介していきます。今回は、ネットワーク経由の脅威に対応するためのネットワークセキュリティがテーマです。具体的には以下の機能があります。

deepsecurity3-01_2

  1. ファイヤーウォール
  2. 侵入防御(IPS)
  3. Webアプリケーション保護(WAF)

これらの設定は、"ポリシー"としてDSM(Deep Security Manager)で集中管理し、DSA(Deep Security Agent)に送信、実行します。また、DSAによって検出された不適切なトラフィックは遮断されつつ、DSMにログとして報告されます。これにより、DSAを実行するEC2インスタンスが増える場合にも、DSMの管理画面で一度に状況を確認し適切な管理を行うことができます。


セキュリティグループとの比較と併用

Amazon EC2には組み込みの機能としてセキュリティグループがありますが、セキュリティグループはTCP/IPトラフィックのヘッダ情報をチェックし不適切なトラフィックを遮断するものです。TCP/IPトラフィックの中身や特定の攻撃パターンに対応することはできず、また管理者に通知/記録する機能もありません。DSAによってそれらの要件を満たすことができます

ただ、セキュリティグループは、EC2インスタンスの外側の仮想ネットワークで処理されるため、DSAのネットワークセキュリティ機能と併用することもできます。仕組み上、受信トラフィックはセキュリティグループが先にチェックし、送信トラフィックはDSAが先にチェックするため、ポリシーの設定には注意が必要です。
例えば、以下のようにSSH(TCP:22番ポート)の受信トラフィックの設定を考えてみます。

- 対象トラフィック 内容
セキュリティグループ 任意のホストから22/tcpへのアクセス 破棄
DSAのファイヤーウォール 特定のホストから22/tcpへのアクセス 監視ログをDSMに送信

すると、セキュリティグループによって全てのSSHトラフィックがフィルタ(=破棄)されてしまうため、DSAにSSHトラフィックが届くことはなく、検知ログの設定は意味を成さなくなってしまいます。それぞれの機能の特徴を踏まえ、うまく組み合わせて使うのが良いと思います。

それでは、各セキュリティ機能の設定と動作確認の様子を見ていきましょう。

1. ファイヤーウォール

DSAのファイヤーウォール機能は、IPアドレス/ポート番号はもとより、MACアドレスやTCPフラグなど多彩なルールが設定できます。一般的なネットワークサービスであれば、プリセットされたルールがはじめから揃っていることも魅力です。

また、下図のポリシー設定画面では、ピンクに囲っているIPリスト、MACリスト、ポートリストというように、特定の値を"リスト"としてあらかじめ設定することもできます。これを利用することで、"内部ネットワークのIPアドレス"のリストや、"ADドメインコントローラに許可するべきポート番号"のリストなどをまとめて管理し、ファイヤーウォールルールとひも付けることもできます。

deepsecurity3-02

また、セキュリティ製品らしく有名な攻撃の予兆を検知する設定もあります。

deepsecurity3-03

SSH(22/tcp)のアクセスを禁止する設定でしばらく置いておくと、インターネットの見知らぬホストからのSSHアクセスを検知しました。このように、許可していないポートへのアクセスを検知し、DSMの画面でログとして確認することもできます。

deepsecurity3-04

2. 侵入防御(IPS)

侵入防御(IPS : Intrusion Protection System)も、DSAがネットワーク通信を監視する機能です。侵入防御は、Webサーバーやメールサーバーなどネットワークサービスの脆弱性を突く不正アクセスを防御し、DSMの画面に通知します。

ApacheやTomcat、Sendmailなど著名なOSSはもちろん、MS製品やOracle製品など商用プロダクトのルールも豊富に揃っているのが特徴です。

deepsecurity3-05

3. Webアプリケーション保護(WAF)

Webアプリケーション保護は名前の通り、SQLインジェクションやCSRFなどWebアプリケーションへの攻撃を防ぐ機能です。Deep Securityの設定としては、侵入防御のルールのひとつとして定義されています。

deepsecurity3-06

試しに、<script>alert('test');<script>といったデータを含むHTTPリクエストをEC2インスタンスに送ると、以下のようにイベントが表示されました。

deepsecurity3-07_1

DSAのWAFルールは一般的なルールが主で製品に特化したルールはあまりないため、簡易的なWAFとみていただくのが良いと思います。

ポリシーによるホストへの設定

ここまで紹介してきた3つの機能は、"ポリシー"ごとに設定していきます。

deepsecurity3-08

ポリシーは、Deep Securityの設定をまとめるグループです。Webサーバーやメールサーバーなど役割が同じ複数のEC2インスタンスは同じようなセキュリティ設定になることが多く、役割ごとにポリシーを作成し、EC2インスタンスに設定することができます。第2回のセットアップ時には、DSAをインストールしたAmazon Linuxに"Linux Server"ポリシーを設定していましたね。

まとめ

Deep Securityのネットワークセキュリティに関する機能と設定をご紹介しました。
WebサーバーなどElastic IPを設定してAWSの外部からの接続を受け付けるようなEC2インスタンスにお勧めの機能ばかりです。 Deep Securityを活用して、ネットワークセキュリティ対策を万全にしましょう!