CyberFix Note
防御・ハードニング

ファイアウォールが通信を許可と拒否で仕分ける仕組み

対象の目安: これから学ぶ人 / 入門

アオイ防御・運用担当
・ 約10分で読めます
ファイアウォールが通信を許可と拒否で仕分ける仕組み

社内ネットワークやサーバはインターネットとつながっている限り、外部から不特定多数の通信が届きます。その通信のうち、業務に必要なものだけを通し、それ以外を入口で止める役割を担うのがファイアウォールです。本記事は、ファイアウォールが通信をどう判断して許可と拒否を仕分けるかを起点に、判断の精度を上げてきた仕組みの変化と、アプリケーション層を守るWAFとの守備範囲の違いを整理します。あわせて、家庭と組織それぞれでの位置づけと、ファイアウォール単体では守れない範囲を確認します。

ファイアウォールが解こうとしている問題

インターネットに接続したネットワークには、利用者が意図しない通信も絶えず届きます。公開していないサービスへの接続要求や、脆弱なポートを探す走査などです。これらをサーバや端末が直接受け取ると、不要なサービスが攻撃の足がかりになりかねません。ファイアウォールは、外部のネットワークと内部のネットワークの境界に立ち、不正なパケットを遮断して許可された通信だけを通すことで、この入口の露出を絞ります(総務省 国民のためのサイバーセキュリティサイト)。

判断のよりどころになるのが、通信に付随する制御情報です。初期のファイアウォールは、パケットの送信元とあて先のIPアドレス、ポート番号、プロトコルといった情報を見て、あらかじめ定めたルールに照らして通すか落とすかを決めます。通信の中身そのものではなく、誰からどこへ、どの経路で送られた通信かという外形を見て仕分ける点が出発点です。

この判断を効かせるには、ルールがどの順序で評価され、どれにも当てはまらない通信をどう扱うかを定めておく必要があります。NIST SP 800-41 Revision 1は、ファイアウォールのポリシーで明示的に許可されていない通信は既定で遮断する方針を推奨しており、この考え方は後述するデフォルト拒否につながります。

判断の精度を高めてきた仕組みの変化

最初期の方式であるパケットフィルタリングは、パケット一つひとつを独立に見て、IPアドレスやポート、プロトコルがルールに合致するかだけで通過の可否を決めます。実装が軽く高速な一方で、その通信が正規の接続の一部なのか、外部から唐突に送られた偽装パケットなのかを区別できません。一つの通信が複数のパケットに分かれて流れても、前後の文脈を考慮せずに判定するためです。

この弱点を補うのがステートフルインスペクション(動的パケットフィルタリング)です。NIST SP 800-41 Revision 1は、ステートフルインスペクションが接続の状態を追跡し、期待される状態から外れたパケットを遮断することでパケットフィルタの機能を改善すると説明しています。典型的には、内部から外部へ出ていった接続を状態テーブルに記録し、その接続に対応する戻りの通信だけを通します(公開サーバ向けに許可した外部発の接続も、同じく状態テーブルで追跡されます)。これにより、確立済みの接続に便乗しない外部からの一方的なパケットを落とせます。

さらに通信内容まで踏み込んで判断するのが次世代ファイアウォール(NGFW)です。NGFWは、従来のファイアウォールにディープパケットインスペクションによるアプリケーション識別と、侵入防止システム(IPS)を組み合わせた世代に位置づけられます。アプリケーション識別は、ポート番号だけでなく通信のパターンを手がかりに、実際に動いているアプリケーションを見分けます。これにより、許可したポートを使って別の用途に通信を流す回避を抑えられます。IPSは、既知の攻撃の特徴(シグネチャ)や異常な振る舞いに照らして攻撃と判断した通信を遮断します。

暗号化された通信の中身を見るために、NGFWはTLS検査(SSL/TLSインスペクション)を行う構成も取れます。これは、いったん通信を復号して内容を検査し、再び暗号化して送り直す方式です。暗号化に隠れた脅威を検出できる利点がある一方、復号処理の負荷や、検査のために通信を一度ほどくことによる影響を伴うため、導入時は対象と範囲を絞って設計します。

ネットワーク層中心のファイアウォールとアプリケーション層のWAF

ファイアウォールが見る情報の中心は、IPアドレスやポートといったネットワーク層と転送層(OSI参照モデルのL3とL4)の制御情報です。これに対してWeb Application Firewall(WAF)は、アプリケーション層(L7)で動き、HTTPのやり取りに一連のルールを適用してWebアプリケーションを守る仕組みです(OWASP Web Application Firewall)。WAFはHTTPリクエストの中身を解析し、クロスサイトスクリプティングやSQLインジェクションといった、Webアプリケーションへの攻撃に多いパターンを遮断します。

両者は守る層が異なるため、一方がもう一方を置き換えるものではありません。ネットワーク層中心のファイアウォールは、IPアドレスやポート、状態にもとづいて通信を仕分けますが、許可したHTTP通信の中身に攻撃文字列が含まれているかまでは判断しません。NGFWはアプリケーション識別やIPSである程度はアプリケーション層に踏み込めるものの、WebアプリのHTTP文脈に沿ってXSSやSQLインジェクションを判定する検査はWAFの担当です。逆にWAFは、Webアプリケーションへのリクエストの中身に強い一方で、Webと無関係なポートへの不要な接続全般を絞る役割は担いません。ファイアウォールが入口で広く通信を絞り、WAFがその先のWebアプリケーションを保護する形で、両者は層を分けて補完します(Fortinet WAF vs. Firewall)。

観点ファイアウォール(ネットワーク層中心)WAF(アプリケーション層)
おもに見る層ネットワーク層と転送層(L3/L4)アプリケーション層(L7、HTTP)
判断材料送信元やあて先のIPアドレス、ポート、プロトコル、接続の状態HTTPリクエストやレスポンスの中身
得意な範囲不要な接続の遮断、許可した通信だけの通過XSSやSQLインジェクションなどWebアプリへの攻撃の遮断
守らない範囲許可済みHTTP通信に含まれる攻撃文字列(従来型のL3/L4中心の場合)Webと無関係なポートへの接続全般
関係互いに補完する(代替ではない)互いに補完する(代替ではない)

必要な通信だけを許すデフォルト拒否

ルールの設計で起点になるのが、明示的に許可した通信以外をすべて拒否するデフォルト拒否(deny by default)の方針です。NIST SP 800-41 Revision 1は、組織が必要としない通信、つまりポリシーで明示的に許可されていない受信と送信の通信を遮断すべきだとしています。先に「すべて拒否」を置き、業務に必要な通信だけを一つずつ許可していくため、考慮漏れがあっても、その通信は許可されず止まる側に倒れます。

これは、先にすべてを許可しておいて危険なものだけを個別に塞ぐ方針と対照的です。すべて許可を起点にすると、新たに増えた不要な通信や見落とした経路がそのまま通ってしまい、塞ぎ忘れが露出に直結します。デフォルト拒否では、許可リストに載っていない通信は定義上通らないため、開放する範囲を最小限に保ちやすくなります。

運用担当が実際に行うのは、許可する通信の棚卸しと、その最小化です。

    家庭と組織でのファイアウォールの位置づけと限界

    家庭では、多くの場合インターネット回線につなぐブロードバンドルータがファイアウォールの役割を兼ねています。外部から内部の端末への一方的な接続要求が既定で通りにくいのは、NAT(アドレス変換)に加えて、ルータのステートフルなフィルタリングと既定の設定が働くためです。NATそのものはアクセス制御の仕組みではないため、ポート開放やUPnP、DMZ設定、IPv6での直接到達といった条件では前提が変わり、別途フィルタリングの確認が必要になります。家庭用ルータのセキュリティ設定の考え方は、関連記事で扱います。

    あわせて読みたい

    家庭用ルーターのセキュリティと買い替えの目安。ファーム更新・初期パスワード・サポート期間で守る

    組織では、ネットワークの境界に専用のファイアウォールやNGFWを置き、社内のセグメントを分けて相互の通信も制御する構成が取られます。IPAの中小企業の情報セキュリティ対策ガイドラインも、不正アクセスなどの脅威から情報資産を守る技術的な対策として、ウイルス対策ソフトとならべてファイアウォールを基本的な備えに挙げています(IPA 中小企業の情報セキュリティ対策ガイドライン)。サーバ自体の堅牢化やWAFの活用とあわせ、多層で守る一要素としての位置づけです。

    あわせて読みたい

    サーバーのハードニング基礎。最小化・最小権限・更新・設定堅牢化をCISベンチマークから学ぶ

    あわせて読みたい

    WAFの役割と限界、正しい使い方。シグネチャと振る舞い、回避される前提、根本対策との補完

    ただし、ファイアウォールがあれば安全というわけではありません。守備範囲には条件があり、いくつかの通信はファイアウォール単体では十分に扱えません。

    第一に、許可した通信に紛れ込む攻撃です。ファイアウォールがWebアクセス用のポートを許可していれば、そのポートを通る攻撃文字列は、ネットワーク層中心の判断では止まりません。ここはWAFやアプリケーション側の対策が補います。第二に、内部から外部への通信や、内部の端末どうしの通信です。マルウェアに感染した内部の端末が外部の指令サーバへ接続する通信は、出ていく方向の制御や監視を別に設けないと見逃しやすくなります。第三に、暗号化された通信の中身です。TLSで暗号化された通信は、TLS検査を行わない限り中身を判断できず、検査を行う場合も復号の負荷と運用上の影響を伴います。

    • ファイアウォールのルールがデフォルト拒否を基本にし、必要な通信だけを許可しているか確認する
    • 使われなくなった許可ルールが残っていないかを定期的に見直し、開放範囲を最小限に保つ
    • 外部からの受信だけでなく、内部から外部への送信通信も制御や監視の対象にする
    • Webアプリケーションを公開しているなら、ファイアウォールに加えてWAFやアプリ側の対策で多層に守る
    • 家庭ではルータのファイアウォール機能が有効か、外部からの不要な接続が通らない設定かを確認する

    ファイアウォールは、必要な通信だけを通して入口の露出を絞る土台になりますが、許可済みの通信に潜む攻撃や内部発の通信、暗号化された中身までは単体で守りきれません。守りたい対象を見極め、WAFやサーバの堅牢化、通信の監視と組み合わせて、層を分けて守る前提で位置づけます。組織全体で通信を信頼の前提から見直す考え方は、関連記事で扱います。

    あわせて読みたい

    ゼロトラストを最小コストで取り入れる。考え方とID中心の段階導入

    デフォルト拒否の方針とステートフルインスペクションの説明は、NIST SP 800-41 Revision 1(CSRC)を参照しました。ファイアウォールが送信元やあて先の情報をもとに通信を許可または拒否する基本の仕組みは総務省の国民のためのサイバーセキュリティサイト(総務省)を、WAFの定義とアプリケーション層での動作はOWASP(OWASP)を参照しました。

    出典・参考

    この記事をシェア

    関連する記事

    防御・ハードニング

    DNSの名前解決とその安全性を支える技術

    ドメイン名がIPアドレスに変換される流れと、キャッシュポイズニングなどの危うさを整理し、応答の真正性を守るDNSSECと、経路上の盗聴を防ぐDNS over HTTPS/DNS over TLSの役割の違いを、RFCやJPRSの一次情報をもとに開発者と運用担当向けに説明します。