対象試験と出題頻度
パケットフィルタリングは、ITパスポート・情報セキュリティマネジメント・基本情報技術者・応用情報技術者のすべての試験で出題される重要用語です。
頻出度はAランク(必ず覚えておくべき)。ファイアウォールの基本機能として、ほぼ毎回のように何らかの形で出題されます。
詳細をクリックして確認
ITパスポート
情報セキュリティマネジメント
基本情報技術者
応用情報技術者
★★★★☆
ランクA(必ず覚えておくべき)
用語の定義
パケットフィルタリング(Packet Filtering)とは、一言で言うと
「パケットのヘッダ情報(送信元IPアドレス、宛先IPアドレス、ポート番号など)をチェックし、あらかじめ設定されたルールに従って通信の通過・遮断を判断するファイアウォールの基本機能」
のことです。
イメージとしては、「空港の入国審査」のようなものです。審査官(ファイアウォール)がパスポート(パケットのヘッダ)を確認し、入国許可リスト(ACL)に基づいて「通過OK」か「入国拒否」を判断します。ただし、荷物の中身(データ本体)までは詳しく調べません。
パケットフィルタリングには「静的フィルタリング」と「動的フィルタリング」の2種類があり、この違いが試験で頻繁に問われます。
📊 パケットフィルタリングで確認する情報
| 確認項目 | 説明 | OSI参照モデルの層 |
|---|---|---|
| 送信元IPアドレス | パケットを送信した機器のIPアドレス | ネットワーク層(第3層) |
| 宛先IPアドレス | パケットの送り先のIPアドレス | ネットワーク層(第3層) |
| 送信元ポート番号 | 送信側のアプリケーションを識別する番号 | トランスポート層(第4層) |
| 宛先ポート番号 | 宛先のアプリケーションを識別する番号(HTTP=80など) | トランスポート層(第4層) |
| プロトコル種別 | TCP、UDP、ICMPなどの通信プロトコル | トランスポート層(第4層) |
解説
情報処理試験を勉強していると、「静的フィルタリングと動的フィルタリングの違いがよくわからない…」と感じる人も多いのではないでしょうか。
結論から言うと、「戻りの通信を自動で許可するかどうか」が最大の違いです。この1点を理解すれば、試験問題は確実に解けます。
ACL(アクセス制御リスト)とは?
パケットフィルタリングのルールを定義したリストをACL(Access Control List:アクセス制御リスト)と呼びます。ファイアウォールやルータに設定され、「どの通信を許可し、どの通信を拒否するか」を決める重要な設定です。
ACLには「標準ACL」と「拡張ACL」の2種類があります。標準ACLは送信元IPアドレスのみで判断し、拡張ACLは送信元・宛先IPアドレス、ポート番号、プロトコルなどを組み合わせてより細かく制御します。試験では拡張ACLの考え方がよく問われます。
ACLのルールは上から順番に評価され、最初に一致したルールが適用されます。どのルールにも一致しない場合は、通常「暗黙のdeny(すべて拒否)」が適用されます。この「暗黙のdeny」も試験でよく出るポイントです。
💡 ACL設定の基本ルール
ACLは上から順に評価され、最初に一致したルールが適用されます。そのため、重要度の高いルール(特定の許可/拒否)を上に、一般的なルールを下に配置するのが基本です。
また、明示的に許可されていない通信はすべて拒否される「暗黙のdeny」がACLの最後に存在することを忘れないでください。
静的(スタティック)パケットフィルタリング
静的パケットフィルタリングは、パケットフィルタリングの最も基本的な方式です。あらかじめ設定されたルールに従って、各パケットを個別にチェックします。
この方式の特徴は、通信の「状態(ステート)」を記憶しないことです。つまり、過去にどんな通信があったかを考慮せず、目の前のパケット1つ1つを独立して判断します。そのため「ステートレス(状態なし)フィルタリング」とも呼ばれます。
静的フィルタリングでは、行きの通信と戻りの通信を、それぞれ別のルールとして設定する必要があります。例えば、内部から外部のWebサーバー(80番ポート)にアクセスする場合、「内部→外部:80番への通信を許可」というルールに加えて、「外部:80番→内部への応答を許可」というルールも必要です。
動的(ダイナミック)パケットフィルタリング
動的パケットフィルタリングは、静的フィルタリングの弱点を克服した方式です。通信の「状態(ステート)」を記憶し、行きの通信に対応する戻りの通信だけを自動的に許可します。
ファイアウォールは「コネクションテーブル」と呼ばれる表を持ち、内部から開始された通信の情報(送信元/宛先IP、ポート番号など)を記録します。
外部から応答パケットが届くと、このテーブルと照合し、「確かに内部から要求した通信への応答だ」と確認できれば通過を許可します。テーブルに該当しない通信は、不正な侵入の可能性があるため拒否します。
この方式なら、戻りの通信用のルールを手動で設定する必要がありません。通信終了後はテーブルからエントリが削除されるため、不要なポートが開いたままになることもなく、セキュリティが向上します。
📊 静的フィルタリングと動的フィルタリングの比較
| 比較項目 | 静的フィルタリング | 動的フィルタリング |
|---|---|---|
| 別名 | スタティック / ステートレス | ダイナミック / ステートフル |
| 通信状態の記憶 | しない | する(コネクションテーブル) |
| 戻り通信の許可 | 手動でルール設定が必要 | 自動的に許可 |
| 処理速度 | 高速 | やや遅い(状態管理のため) |
| セキュリティ | 限定的 | 高い |
ステートフルインスペクションとは?
動的フィルタリングをさらに発展させたのがステートフルインスペクション(Stateful Inspection)です。パケットのヘッダ情報だけでなく、通信の「文脈(コンテキスト)」まで考慮して判断します。
例えば、TCPの3ウェイハンドシェイク(SYN→SYN+ACK→ACK)の手順を監視し、正しい手順で確立された接続かどうかをチェックします。手順を無視した不正なパケット(いきなりACKだけが送られてくるなど)は、攻撃の可能性があるとして遮断します。
⚠️ 試験ではここまででOK
応用情報以上では「ステートフルインスペクション」が出題されることがありますが、ITパスポート・基本情報では「静的フィルタリング」と「動的フィルタリング」の違いが理解できていれば十分です。
動的フィルタリング=ステートフルと考えても、基本的には問題ありません。
試験ではこう出る!
パケットフィルタリングはすべての試験区分で頻出です。特にACLの設定内容を読み解く問題や、静的・動的フィルタリングの違いを問う問題が多いので、以下のキーワードを確実に覚えましょう。
【重要キーワード】
- パケットフィルタリング:ヘッダ情報(IPアドレス、ポート番号)で通信を制御
- ACL(アクセス制御リスト):フィルタリングのルールを定義したリスト
- 暗黙のdeny:ACLに明示されていない通信はすべて拒否
- 静的(スタティック)フィルタリング:状態を記憶しない。行きと戻りを個別に設定
- 動的(ダイナミック)フィルタリング:状態を記憶し、戻り通信を自動許可
- ステートフルインスペクション:通信の文脈まで考慮する高度な動的フィルタリング
試験問題で「通信の状態を記憶し、内部から開始された通信への応答だけを自動的に許可するフィルタリング方式」と問われたら「動的(ダイナミック)パケットフィルタリング」または「ステートフルインスペクション」と答えましょう。
📊 パケットフィルタリングの動作層
| 方式 | 主に動作する層 | 確認する情報 |
|---|---|---|
| パケットフィルタリング | ネットワーク層・トランスポート層 | IPアドレス、ポート番号 |
| アプリケーションゲートウェイ | アプリケーション層 | 通信内容(HTTP、SMTPなど) |
📝 IPA試験での出題パターン
パケットフィルタリングの問題は、「ACLの設定内容から通過可能な通信を選ぶ」「静的・動的フィルタリングの違いを問う」「パケットフィルタリングとアプリケーションゲートウェイの比較」の3パターンが中心です。
特にACLの問題では、送信元/宛先のIPアドレスとポート番号の組み合わせを正確に読み取る力が求められます。表を見ながら落ち着いて解きましょう。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. パケットフィルタリングに関する説明として、最も適切なものはどれでしょうか?
- A. 静的パケットフィルタリングは通信の状態を記憶し、内部から開始された通信への応答を自動的に許可する
- B. 動的パケットフィルタリングはコネクションテーブルで通信状態を管理し、行きの通信に対応する戻りの通信だけを自動的に許可する
- C. パケットフィルタリングはアプリケーション層で動作し、通信内容を詳細に検査して不正なデータを遮断する
正解と解説を見る
正解:B
解説:
動的(ダイナミック)パケットフィルタリングは、ファイアウォール内部の「コネクションテーブル」で通信の状態を管理します。内部から外部への通信が開始されると、その情報(送信元/宛先IP、ポート番号など)をテーブルに記録し、外部から戻ってくる応答パケットがテーブルの情報と一致すれば自動的に通過を許可します。これにより、戻り通信用のルールを手動で設定する必要がなく、セキュリティと運用性が向上します。
選択肢Aは「動的フィルタリング」の説明です。静的フィルタリングは通信の状態を記憶せず、行きと戻りの通信をそれぞれ別のルールとして設定する必要があります。選択肢Cは「アプリケーションゲートウェイ型ファイアウォール」の説明です。パケットフィルタリングはネットワーク層〜トランスポート層で動作し、ヘッダ情報(IPアドレス、ポート番号)で判断するため、通信内容(データ本体)までは検査しません。