新人IT担当者のためのネットワーク機器入門【第7回】
レイヤー4の代表的製品「ファイアウォール」基礎の基礎
ネットワークと関連機器に関する「今更聞けない」基礎知識をこっそりおさらいしようというこの連載。今回はレイヤー4で動作する代表的な機器「ファイアウォール」について説明します。
連載第6回の「即時性か信頼性か、レイヤー4(トランスポート層)のプロトコル『TCP』と『UDP』」では、レイヤー4の代表的なプロトコル「TCP」と「UDP」について説明しました。
レイヤー4で動作する代表的な機器として「ファイアウォール」があります。ファイアウォールは、IPアドレスとポート番号を使って通信を制御する機器です。あらかじめ設定したルールに従って「この通信は許可、この通信は拒否」というように通信を選別してシステムを守ります。このようなファイアウォールの持つ通信制御機能のことを「ステートフルインスペクション」といいます。ステートフルインスペクションは、通信の許可・拒否を定義する「フィルタリングルール」と通信を管理する「コネクションテーブル」を用いてセキュリティ強度を高めています。以下、それぞれどのように作用しあっているかを説明しましょう。
連載:新人IT担当者のためのネットワーク機器入門
フィルタリングルールで許可と拒否を定義する
フィルタリングルールは、どんな通信を許可し、どんな通信を拒否するかを定義している設定です。「ポリシー」や「ACL(Access Control List)」など、機器ベンダーによって呼び方はさまざまですが、基本的に全て同じものと考えてよいでしょう。
フィルタリングルールは、
- 送信元IPアドレス(ネットワーク、インタフェース)
- 宛先IPアドレス(ネットワーク、インタフェース)
- プロトコル
- 送信元ポート番号
- 宛先ポート番号
- 制御(アクション)
などの設定項目で構成されています。例えば、「192.168.1.0/24」というネットワークにいる社内端末からインターネットに対してWebに関する通信を許可したい場合、一般的に以下のような設定になります。
インターネットへのWebアクセスだからといって、単純にHTTP(TCPの80番)だけを許可しておけばいいというわけではありません。HTTPをSSL(Secure Socket Layer)で暗号化しているHTTPS(TCPの443番ポート)、URLをIPアドレスに変換(名前解決)するときに使用するDNS(UDPの53番ポート)も合わせて許可してあげる必要があります。
特定できない要素については「ANY」と設定します。例えば、宛先IPアドレスはクライアントがアクセスするWebサーバによって異なるため、特定しようがありません。そこでANYと設定します。また、送信元ポート番号もOSがランダムで選択するため特定しようがないので、宛先IPアドレスと同じようにANYと設定します。
ファイアウォールのポイントはコネクションテーブル
ステートフルインスペクションは、このフィルタリングルールを、コネクションの情報を基に動的に書き換えることによって、セキュリティ強度を高めています。ファイアウォールは、自身を経由するコネクションの情報を「コネクションテーブル」と呼ばれるメモリ内のテーブル(表)で管理しています。
コネクションテーブルは、
- 送信元IPアドレス
- 宛先IPアドレス
- プロトコル
- 送信元ポート番号
- 宛先ポート番号
- コネクションの状態
など、各種要素(列)からなる複数のコネクションエントリ(行)から構成されています。このコネクションテーブルがステートフルインスペクションの要であり、ファイアウォールを理解するための大切なポイントです。
ステートフルインスペクションの動作
ファイアウォールは、どのようにコネクションテーブルを利用し、どのようにフィルタリングルールを書き換えているのでしょうか。ここでは、図1のような環境で、クライアント(Webブラウザ)がHTTPでWebサーバにアクセスすることを想定して、一般的なステートフルインスペクションの動きを説明します。
ステップ1. フィルタリングルールと照合する
ファイアウォールはクライアント側にあるOutsideインタフェースでSYNパケット(接続を要求するパケット)を受け取ると、自身の持つフィルタリングルールと照合を行います。その結果、最初のフィルタリングルールに該当するので、通信を受け入れます。なお、許可されていないパケットを受け取った場合は、クライアントにコネクションの強制切断を促すRSTパケットを返すか、何もせずに破棄します。
ステップ2. 戻り通信用のルールを追加する
ファイアウォールは通信を許可したら、コネクションテーブルにコネクションエントリを作ります。また、それと同時にそのコネクションエントリに対応する戻り通信用の許可ルールを動的に追加します。戻り通信用の許可ルールは、コネクションエントリにあるパケットの送信元と宛先を反転したものです。フィルタリングルールを追加した後、WebサーバにSYNパケットを転送します。
ステップ3. 戻り通信用のルールを使ってSYN/ACKが返る
WebサーバはSYNパケットに対するSYN/ACKパケット(接続を許可するパケット)を作り、クライアントに返します。この通信は、本来であれば、フィルタリングルールによって拒否されている通信です。ただし、ステートフルインスペクションでは、ステップ2で戻り通信の許可ルールを追加しているので、許可します。
ステップ4. アプリケーションデータのやりとりが行われる
クライアントはSYN/ACKパケットに応答するACKパケットを作り、Webサーバに返します。ファイアウォールは、このACKパケットをもって、クライアント―Webサーバ間で3ウェイハンドシェイクが終了し、コネクションが確立したと判断します。この後、このコネクションでアプリケーションデータ、つまりHTTPデータのやりとりが始まります。
ステップ5. コネクションが使われているかどうか監視する
コネクションが確立した後、ファイアウォールは、そのコネクションエントリが使用されているかどうかをモニタリングします。その結果、一定時間使用されていないと判断した場合、そのエントリを強制的に削除し、それと同時にステップ2で作った戻り通信用の許可ルールも削除します。コネクションエントリを削除するまでの時間のことを「アイドルタイムアウト」といいます。アイドルタイムアウトは、機器やそのOSによってさまざまです。アプリケーションごとに設定されていたり、プロトコルごとに設定されていたりします。
ステップ6. コネクションが終了したらエントリを削除する
アプリケーションデータを送り終えたら、しっかりコネクションを閉じなければなりません。ファイアウォールはクライアントとWebサーバの間でやりとりされている「FIN/ACK」→「ACK」→「FIN/ACK」→「ACK」というパケットの流れを見て、コネクションエントリを削除します。また、それに合わせて戻り通信用のルールも削除します。
今回は、レイヤー4で動作する機器であるファイアウォールについて説明しました。ファイアウォールは、たくさんのセキュリティ機能を搭載した「UTM(Unified Threat Management、統合脅威管理)」や、アプリケーションレベルで通信制御を行う「次世代ファイアウォール」「WAF(Webアプリケーションファイアウォール)」など、今現在も進化を遂げている機器の1つです。
しかし、基本は「コネクションテーブル」と考えてまず間違いありません。コネクションテーブルを理解した上で、UTMや次世代ファイアウォールについて学習していくのが最も効率的でしょう。
次回は、さらに上のアプリケーションの階層であるレイヤー5~7の代表的な技術、HTTPについて説明します。
執筆者紹介
みやたひろし
大学と大学院で地球環境科学の分野を研究した後、某システムインテグレーターにシステムエンジニアとして入社。その後、ネットワーク機器ベンダーのコンサルタントに転身。設計から構築、検証に至るまで、ネットワークに関連する業務全般を行い、今日もどこかで自己研さんを積んでいる。CCIE(Cisco Certified Internetwork Expert)。F5 Certified Technology Specialists。著書に『インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門』『サーバ負荷分散入門』(いずれもSBクリエイティブ)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー