ネットワークセキュリティ(2)
ファイアウォール
ファイアウォールの概要
ファイアウォール
社内ネットワーク(信頼できるネットワーク)とインターネット(信頼できないネットワーク)の間を出入りするパケットを監視し、決められたルールを基にパケットを通過させたり破棄したりする。このルールは、ネットワークをどのように運用したいかという、ユーザのポリシ・ルール(ACL)基づく。
ファイアウォールを導入すれば、外部の攻撃から社内ネットワークを守り、セキュリティを大幅に高めることができる。しかし、ファイアウォールだけで全ての攻撃を完全に防げるわけではない。
ファイアウォールの一般的な設置場所
ファイアウォールは、社内ネットワークとインターネットの間に設置されるが、Webサーバやメールサーバなどの公開サーバを持っている場合、大きく分けて三つの設置方法が考えられる。
公開サーバを内部ネットワークに接続
公開サーバを含む全ての社内ネットワークをファイアウォールの内側に置く方法
【特徴】
- 社内からの公開サーバへのアクセスが簡単になるというメリットがある
- 公開サーバへの侵入が、社内ネットワーク全体に及ぶ危険性がある
- ファイアウォールによって公開サーバへのアクセスを最小限のサービスのみに制限することが可能
- インターネとから内部ネットワークの公開サーバ以外のホストへのアクセスについてはすべて遮断することが可能

公開サーバをバリアセグメントに接続
公開サーバのみをファイアウォールの外側に置く方法
【特徴】
- ファイアウォールによってインターネットから内部ネットワークへのアクセスについてはすべて遮断することが可能
- バリアセグメント上の公開サーバから内部ネットワークへのアクセスについては、一部許可する
- ファイアウォールは公開サーバへの攻撃や不正アクセスについては一切防ぐことができない
- 公開サーバに侵入されても、社内ネットワークへの影響はない
- 公開サーバのセキュリティ設定には十分注意する必要がある

2台のファイアウォールに挟まれたDMZに公開サーバを接続
ファイアウォール(FW)で二つのネットワーク・セグメントを管理する方法。公開サーバと社内サーバの両方をファイアウォールで守る方法。現在多くの企業が採用している最も一般的な方法。この公開サーバを設置する場所を「DMZ(非武装地帯)」と呼ぶ。
【特徴】
- FW1によって公開サーバへのアクセスを最小限のサービスのみに制限する
- FW1、2によってインターネットから内部ネットワークへのアクセスについてはすべて遮断する
- DMZから内部ネットワークへのアクセスについても最小限のサービスのみに制限する。
- 公開サーバに侵入されたとしても、内部ネットワークに及ぶ被害を最小限に留めることが可能
- FW1、2を別のベンダの製品や、フィルタリング方式の異なる製品にすることで、FWのバグ等によって内部ネットワークに侵入される可能性を最小限に留めることが可能
- ファイアウォールの管理が煩雑になるというデメリットがある
- 公開サーバを内側に置く場合と外側に置く場合の問題を全て解消することができる

ファイアウォールに設けた第三のセグメントに公開サーバを接続
1台のファイアウォールに新たなネットワークセグメント(DMZ)を設け、そこに公開サーバを接続する
【特徴】
- ファイアウォールによって公開サーバへのアクセスを最小限のサービスのみに制限する
- インターネットから内部ネットワークへのアクセスについてはすべて遮断する
- DMZから内部ネットワークへのアクセスについても最小限のサービスのみに制限する
- 公開サーバに侵入されたとしても、内部ネットワークに及ぶ被害を最小限に留めることが可能
- コスト面、セキュリティ面で最もバランスがとれた構成。そのため、最も普及している
セキュリティレベルに応じて複数のDMZを構成
上記に加え、公開サーバや内部ネットワークのホストはセキュリティレベルの異なるホストを接続するために、更に別のDMZを設けた構成
【特徴】
- 基本的には上の構成と同じ
- 各ホストの用途やセキュリティレベルに応じた最適なアクセス制御が可能となる
- 特別な用途に用いられるホストなどを別セグメントに切り離すことで、ネットワークゼンタのパフォーマンス向上や、負荷分散が可能となる
その他
タグVLANを使用する方式が提供される場合もある
ファイアウォールの種類
ファイアウォールの防御方法は、大きく「パケットフィルタリング型」と「アプリケーションゲートウェイ型」の2種類がある。
パケットフィルタリング型
通信パケットの送信元/送信先IPアドレスやポート番号などを見て、通過させるかどうかを判断し、不正アクセスを防ぐものである
OSI(Open Systems Interconnection)参照モデルでいうと、ネットワーク層で動作するファイアウォールネットワーク上を流れるデータは、「パケット」と呼ばれる単位に分割され送信される。
パケットには、
1.送信元のIPアドレス
2.送信元のポート
3.送信先のIPアドレス
4.送信先のポート
の四つの情報が含まれている。「パケットフィルタリング型」は、これらの情報を基に、通信データを通過させるかどうかを判断する。これにより、特定のデータだけを通すことができ、外部から流れてくる不要なデータを遮断したり、内部からのデータの漏えいを防いだりすることができる
【特徴】
- フィルタリング処理がOSのレベルで行われ、ファイアウォールがコネクションを確立することもないため処理効率が高い
- 新たなプロトコルを許可する必要が生じても、単純なプロトコルであれば該当するポートへのアクセスを許可するのみで済むため、安易な設定によって不正アクセスを許してしまう可能性がある
- シンプルなアクセス制御しかできないため、複雑な処理を要するプロトコルには対応できないか、非常に脆弱なACLになる可能性がある
- 下線シンプルゆえに高速な処理を期待できるが、ルールの定義が煩雑になりやすい
【留意点】
以下の条件に合致するアプリケーションについて比較的安全にフィルタリング処理を行うことができる。そうでなければ適切にフィルタリングできないか、脆弱なACLを登録して運用することになる。
- 接続先のポート番号が固定されている
- クライアントからサーバ方向にのみセッションが確立され、その逆方向からセッションが確立されることはない
- 発信元のIPアドレス、ポート番号が変更されても問題がない
- ペイロード内にIPアドレスやポート番号が含まれていない
ダイナミックパケットフィルタリング型
通信の状況に応じて動的にフィルタリングテーブルの更新を行うファイアウォール。
静的なフィルタリングテーブルの場合だと、1つの通信に対して発信パケットと戻りパケットの両方を登録しておかなければならないが、ダイナミックパケットフィルタリングの初期フィルタリングテーブルには、内部から外部に向けて通信の開始時に開始させるパケットのみを通過許可に設定しておく
実際に通信要求があると、接続要求に対する応答、それに付随するコネクションなどの通信が自動的にフィルタリングテーブルに追加され、パケットの流れをログとして記録しておき、ポートを開け閉めする。通信後のセッション終了に伴い、自動的に追加されたルールも破棄される
【特徴】
- 通常のパケットフィルタリングのように外向きと内向きの2つのルールを生成しなくてよい
- サービスに対して1つルールを作っておけば、応答のパケットは自動的に通過させる
- フィルタリングテーブルの不備を悪用した不正アクセスや順序関係の矛盾したパケットの通過を防ぐ
ステートフルパケットフィルタリング
パケットフィルタリング型を拡張した方式。これは単純にパケット単位でフィルタリングするのではなく、アプリケーションレベルのデータのやりとりをチェックして、パケットを通過させるか否かを判断する方式。
アプリケーションゲートウェイ型
プロキシサーバを利用し、社内ネットワークとインターネットの間の通信を中継する方式で、アプリケーション層のファイアウォール。通信を中継するプロキシプログラムを使用することで、社内ネットワークとインターネットを切り離す
(例)
社内から外部のWebサーバにアクセスする場合、自動的にHTTPプロキシプログラムが起動され、ユーザの代わりに外部にある目的のWebサーバへと通信を中継する。これにより、社内のマシンは外部と直接接続することがなくなり、セキュリティ的に安全にWebサービスを利用することができる
最上位層までのパケットの中身を解析するため、高度な設定が可能となる
URLフィルタリングの設定が可能で、ブラックリスト方式とホワイトリスト方式がある。
【特徴】
- フィルタリング処理がアプリケーション単位で行われるため、パケットフィルタリング型に比べると処理速度が遅いといわれることがあるが、実用上はほとんど問題ない
- アプリケーションプロトコルごとに個別のゲートウェイプログラムが必要となる
- プロトコルごとにきめ細かい制御ができるため、セキュアで柔軟なフィルタリングを行うことが可能
- パケットフィルタ型に比べ、ACLの作成が容易であり、設定ミスが発生しにくい
リバースプロキシ
アクセスさせるWeb サーバの代わりにプロキシサーバにアクセスさせて、応答時間の改善を図る方法
アクセス頻度の高いページはキャッシュに保存し、キャッシュにない場合、プロキシサーバがWeb サーバにアクセスして、問い合わせのあったページをキャッシュに取り込み、Web サーバに直接アクセスさせないため、セキュリティ上の脅威も減少する
サーキットゲートウェイ型
ネットワークへの要求をサーキットレベルで中継する方式。トランスポート層のファイアウォール。クライアントから出されたTCP/UDPのコネクション要求を、ファイアウォール上のゲートウェイが受け、目的のホストに向けて改めてTCP/UDPのコネクション要求を出す。 【特徴】
- セッション状態を認識した上でアクセス制御ができる
- ルールの設定が簡単
- SOCKSがこの方式を使用
- フィルタリング処理は第3層、第4層レベルの情報に基づいて行われる
- ペイロードに含まれる情報についてはチェックしない
- クライアントアプリケーション(プログラム)やユーザ操作の変更が必要な場合がある
SOCKS
クライアントサーバ型のアプリケーションに、ネットワーク・ファイアウォールのサービスを透過的に使用することを可能にするインターネットプロトコルの一つ。フリーのプロキシ。ファイアウォールの背後にあり、外部サーバにアクセスする必要があるクライアントは、代わりにSOCKSプロキシサーバに接続できる。 SOCKSプロキシサーバはクライアントが外部サーバにアクセスする資格を制御し、外部サーバにリクエストを伝える。SOCKSはまた正反対にも使用することができる。つまり、ファイアウォールの外側のクライアントが、ファイアウォールの内側のサーバに接続することを可能にする。
アクセス制御のルール設定における考え方
ポジティブセキュリティモデル
設定をしていない場合はすべてのトラフィックを不通過とし、管理者が明示的に設定したトラフィック(ホワイトリスト)のみを通過させる
ネガティブセキュリティモデル
管理者による明示的な設定ないし管理システムから定期的にダウンロードするシグネチャにマッチしたトラフィック(ブラックリスト)のみを遮断する。不正侵入検知システム(IDS)や不正侵入防御システム(IPS)、クライアントPCにおけるウイルス対策ソフトなどがこれに相当する。
ファイアウォールのアドレス変更機能
一般的なFWやルータなどには、グローバルアドレスとプライベートアドレスを相互に変換する機能がある。
【役割】
- 枯渇するグローバルアドレスを有効に活用する
- 内部ネットワークに接続されたホストのアドレスをインターネットに公開しないことでセキュリティを高める
NAT(Network Address Translation)
ルータやファイアウォールに実装されたアドレス変換機能。IPアドレスのみを変換する
内部から外部へ中継する場合にはプライベートアドレスからグローバルアドレスへの変換を行い、外部から内部へ中継する場合にはその逆の変換を行う
IPv4ではIPアドレスを有効利用するため、組織内のネットワークに接続される危機にはプライベートアドレスを割り当て、インターネットへのアクセス時にグローバルアドレスに変換するのが一般的である。しかしNATを用いている拠点間でIPsecなどを用いてVPNを構築する場合、暗号化されたヘッダ情報に含まれているプライベートアドレスについてはアドレス変換ができないため、アドレスの重複が発生する可能性がある
IPv6は膨大なアドレス空間が利用可能であるため、NATを使う必要がない
NAPT(Network Adress and Port Translation)
パケットの中継時にIPアドレスとポート番号の両方を変換する方式。IPマスカレードともいう
内部から外部へ中継する場合には、プライベートアドレスをファイアウォール自身の外部アドレスへ変換するとともに、発信元ポート番号は開いているに似の番号に変換する。中継したパケットに対する応答があった場合には、その逆の変換を行う
ホストごとにユニークなポート番号を割り当てるため、NATのようにグローバルアドレスの数で同時接続可能なホスト数が制限されることはない
ブロードバンドルータなどにも実装されている
ファイアウォールで防御できない攻撃
パケットのペイロードに含まれた様々な攻撃コードについてチェックすることはできない
- OSの脆弱性をついた攻撃
- WAプログラムの脆弱性をついた攻撃
- DoS系の攻撃
- 悪意あるコードの侵入
ペイロード
パケット通信において、パケットの総サイズのうち、宛先アドレスや発信元アドレスなどのヘッダ情報を除いた正味のデータ
ファイアウォールの拡張機能
ハイパフォーマンス
ASICを搭載したアプライアンス型の製品が主流となっている
ギガビット対応
ギガビットネットワーク対応の製品が普及している
マルチホーミング対応
マルチホーミングに対応し、インターネットへの接続用ポートを複数備えた製品が普及している
IPv6対応
対応した製品が数多く登場している
QoS
帯域の最大値にもとづいて帯域制御を行う
高可用性(ハイアベイラビリティ:HA)
ファイアウォールのHAを実現するため、以下のような方式がある
負荷分散方式
2台以上のFWをロードバランサ(負荷分散装置)にたすき掛け接続し、負荷分散を図る
ホットスタンバイ方式
2台のFWを用いてホットスタンバイ構成をとり、対象犠牲を高める
VRRPなどを用いて常に動作状態を監視する
自立負荷分散方式
ホットスタンバイ方式でありながら、どちらもアクティブ情愛で並行稼動する
負荷分散機能
特定のプロトコルに対するトラフィックを複数のサーバに振り分ける機能をもつ製品が登場している
マルチセグメント対応
タグVLANを使用し、複数の仮想的なネットワークインタフェースに分割して複数のセグメントを構成する機能
アプリケーション層の攻撃に対する防御機能
UTM(Unified Threat Management)
「統合された(Unified)脅威(Threat)管理(Management)」という意味。
Firewall機器やIDS/IPS機器、SPAM対策機器、アンチウイルス対策機器などの機能を統合(Unified)した製品
SPAM対策機であれば、UTMはドメイン認証をしない、パケットの中身解析をしないなど、機能はかなり落ちる。
機能の名称 | 機能の概要 |
---|---|
FW機能 | アクセス制御ルールに基づいて,パケットの中継及び破棄を行う。 |
VPN機能 | 暗号技術を用いて,仮想的なプライベートネットワークを実現する。 |
侵入防止機能 (IDS/IPS) | ファイアウォールでは検知できない脅威を取り除くため、通信パケットの中身をシグネチャと呼ばれる攻撃のパターンと照し合せ、ファイアウォールではとらえることのできないネットワークに対する攻撃を認識/防御する |
Webアプリケーションファイアウォール | SQLインジェクションやクロスサイトスクリプティングなど、Webアプリケーションの脆弱性を狙う攻撃に対し、不正なリクエストを検知し排除する |
ウイルス/スパム/ワーム/スパイウェア対策 | 脅威のほとんどは電子メールでやってくるのが現状。スパムやウイルスなどの迷惑メールを利用者の目で判断させることには限界があるので、水際で止める |
URL(Web)フィルタリング機能 | Webサイトに閲覧制限を設ける。 |
UTMのメリット・デメリット
●メリット
「セキュリティは向上させたい」でも「コストや運用管理の負担は削減したい」というニーズを実現。コストをかけずにひとつのハードウェアで複数の機能の設定や管理を統合し、様々な種の脅威動向を管理・防御(統合脅威管理)することが可能、管理に要する手間を大幅に削減可能
●デメリット
これまで単体機能ごとにセキュリティベンダーを選定していたものが、UTMでは「アンチウイルスはA社、IDSはB社に」といった選択は出来ない。
複数機能の集約によるスループット低下を懸念される
【注意事項】
侵入防御機能の効果を維持するために、シグネチャファイルを常に最新版に更新することが必要
既知の攻撃であっても、から」。SSLによって入力された文字列が暗号化されているWebサーバとの通信はデータをチェックすることができないため、Web受注アプリへの攻撃を、UTMだけで検知することはできない
ASIC
特定用途向け集積回路
マルチホーミング
企業などのネットワークから複数の経路を通じてインターネットに接続すること
FTPにはアクティブモードとパッシブモードという2つのモードがある。
- FTPで利用する21番ポートと20番ポートの違い
一般的に、FTPでは21番ポートと20番ポートを利用する。
21番ポートでは、制御用のコントロールコネクションを張り、コントロールコネクションでは、ログインやファイル転送方法などのやり取りを行う。
20番ポートでは、データ転送用のデータコネクションを張り、データコネクションでは、伝送されるデータの送受信を行う。
21番で指示を出して、20番でデータのやり取りを行う。
- アクティブモードとパッシブモードの違い
違いは、データ転送用のデータコネクションを確立する方向の違い。
●アクティブモード:サーバからクライアントに対してデータコネクション確立
●パッシブモード:クライアントからサーバに対してコネクション確立
- クライアントから見たポイント
開発環境などからFTPサーバへ接続する場合は、パッシブ(PASV)モードを利用することが多い。
理由は、ファイアウォールの存在が考えられる。一般的なファイアウォールポリシーとしては、外部からのアクセスは細かく制御するが、内部から外部へのアクセスは緩いことが多い。
アクティブモードで利用する場合、1024/TCP以上の大きなレンジでファイアウォールを開放する必要がある。それに対してパッシブモードであれば、内部から外部へのアクセスのみなのでファイアウォールの影響を受ける可能性が減ることになる。
- サーバから見たポイント
FTPサーバを提供する場合は、アクティブモードのみで運用することが好ましい。
理由は、ファイアウォールの存在で、パッシブモードを利用する場合は、データコネクションを受け付けるために1024/TCP以上の大きなレンジでファイアウォールを開放する必要があるが、アクティブモードであれば、21/TCPと20/TCPのみの解放で済むので、セキュリティ的に好ましい状態になる。
 

