ネットワークを安全に保つための技術として、パケットフィルタリングは多くのファイアウォールやルーターで採用されている基本的なアクセス制御の仕組みです。
パケットフィルタリングとはネットワーク上を流れるパケットを検査し、定められたルールに従って通過を許可または拒否する機能であり、ネットワークセキュリティの基礎を構成する重要な技術です。
本記事ではパケットフィルタリングの意味・仕組み・種類・特徴について詳しく解説していきます。
パケットフィルタリングとは?ネットワーク制御の結論
それではまず、パケットフィルタリングの基本的な定義と概念について解説していきます。
パケットフィルタリングとは、ネットワーク層(OSI参照モデルの第3層)またはトランスポート層(第4層)でパケットのヘッダー情報を検査し、事前に定義したACL(アクセスコントロールリスト)に基づいてパケットの通過を制御する技術です。
検査対象となる主な情報は送信元IPアドレス・宛先IPアドレス・プロトコル(TCP・UDP・ICMPなど)・送信元ポート番号・宛先ポート番号です。
パケットフィルタリングで検査される主な情報
| 検査項目 | 説明 | 例 |
|---|---|---|
| 送信元IPアドレス | パケットの発信元アドレス | 192.168.1.100 |
| 宛先IPアドレス | パケットの送り先アドレス | 10.0.0.1 |
| プロトコル | 使用する通信プロトコル | TCP・UDP・ICMP |
| 送信元ポート番号 | 送信元のポート | 1024〜65535(動的ポート) |
| 宛先ポート番号 | 送り先のポート | 80(HTTP)・443(HTTPS) |
| インターフェース | パケットが通過するNIF | eth0・eth1 |
パケットとは何か
パケットフィルタリングを理解するためには、まずパケットの概念を把握しておく必要があります。
パケットとは、ネットワーク上で送受信されるデータの単位であり、ヘッダー(送信元・宛先・プロトコルなどの制御情報)とペイロード(実際のデータ)で構成されます。
パケットフィルタリングはパケットのペイロード(中身のデータ)は検査せず、ヘッダー情報のみを基に通過・拒否を判断します。
ACL(アクセスコントロールリスト)の役割
パケットフィルタリングのルールを定義するのがACL(アクセスコントロールリスト)です。
ACLは「条件に合致するパケットをどのように処理するか(許可・拒否)」を記述したルールの一覧であり、上から順番にマッチングが行われます。
最初にマッチしたルールが適用され、どのルールにもマッチしない場合はデフォルトのポリシー(通常は全拒否)が適用されます。
パケットフィルタリングの種類と動作原理
続いては、パケットフィルタリングの主な種類とそれぞれの動作原理を確認していきます。
ステートレスフィルタリング
ステートレスフィルタリングとは、各パケットを独立して検査し、コネクションの状態(セッション情報)を考慮しないフィルタリング方式です。
実装がシンプルで処理が高速ですが、戻りのパケット(レスポンスパケット)を許可するためにはルールを明示的に設定する必要があり、設定が複雑になりやすいという欠点があります。
ステートフルインスペクション(動的パケットフィルタリング)
ステートフルインスペクションとは、TCPの3ウェイハンドシェイクなどのコネクション状態を追跡し、確立されたセッションに関連するパケットを自動的に許可するフィルタリング方式です。
コネクションテーブル(セッションテーブル)にセッション情報を保持し、戻りのパケットが正規のセッションに属するかを確認してから通過を許可するため、より高度なセキュリティを実現できます。
| 比較項目 | ステートレス | ステートフル |
|---|---|---|
| セッション管理 | なし | あり(コネクションテーブル) |
| 戻りパケットの処理 | 明示的ルールが必要 | 自動的に許可 |
| 処理速度 | 高速 | やや遅い |
| セキュリティレベル | 基本的 | 高い |
| メモリ使用量 | 少ない | 多い |
パケットフィルタリングの処理フロー
パケットフィルタリングの処理は以下の手順で実行されます。
パケットフィルタリングの基本処理フロー
1. パケットを受信する
2. パケットのヘッダー情報を抽出する(送信元IP・宛先IP・プロトコル・ポート番号)
3. ACLのルールを上から順番にマッチング確認する
4. マッチしたルールのアクション(許可・拒否)を実行する
5. どのルールにもマッチしない場合はデフォルトポリシーを適用する
パケットフィルタリングの限界と注意点
続いては、パケットフィルタリングの限界と注意すべき点を確認していきます。
ペイロードの内容を検査できない
パケットフィルタリングの最大の限界はペイロード(データ本体)の内容を検査できない点です。
ウイルス・マルウェア・不正なコマンドがHTTPのポート80番経由で送信されていても、パケットフィルタリングはHTTP通信として許可してしまいます。
この限界を補うために、アプリケーション層まで検査するDPI(ディープパケットインスペクション)やIDS・IPSとの組み合わせが重要です。
IPスプーフィングへの脆弱性
送信元IPアドレスを偽装するIPスプーフィング攻撃に対して、ステートレスなパケットフィルタリングは脆弱です。
正規の送信元IPに見せかけたパケットが許可ルールにマッチしてしまうリスクがあるため、ステートフルインスペクションとの組み合わせやイングレスフィルタリングによる対策が重要です。
まとめ
本記事では、パケットフィルタリングの意味・仕組み・種類・限界について解説しました。
パケットフィルタリングはIPアドレス・ポート番号・プロトコルを基にパケットの通過を制御するネットワークアクセス制御の基本技術であり、ステートレスとステートフルという2つの方式が存在します。
ペイロード検査の限界を理解した上で、DPI・IDS・IPSなどの技術と組み合わせて多層的なネットワークセキュリティを構築することが現代のセキュリティ設計の基本方針です。
パケットフィルタリングの仕組みを正しく理解し、適切なネットワーク設計に役立てていきましょう。