新人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.
関連記事
新着ホワイトペーパー PR
-
製品資料
“攻撃者優位”なサイバーセキュリティ、全ての「穴」をふさぐ方法とは? -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
製品資料
HubSpotの機能を拡張する法人データ活用法 -
製品資料
面倒で非生産的な「名寄せ」作業 高精度&高効率に実施するには? -
製品資料
名刺管理には「その先」がある 成果のでない営業活動から脱却する秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
2
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
3
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
4
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
5
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
6
アラート47%削減 オープンハウスが捨てた「全部メール通知」の監視体制
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
Microsoft公式の実務試験が「ずっと無料」? 部下のスキルを0円で証明する方法
-
9
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
10
「企業におけるAIの運用」に関するアンケート
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
財務・会計はAI活用でどう変わる? 調査で見えた変革の道筋
-
3
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
9
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
-
10
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー