パケットフィルタリングは、IPアドレス、ポート、プロトコルに関する単純な事前定義ルールに基づいてデータパケットを許可または破棄する、ファイアウォールの機能です。かつてはファイアウォールの一種でしたが、現在ではほぼすべてのファイアウォールと一部のネットワーク機器(ルーター、スマートスイッチなど)に搭載される基本機能となっています。この機能には重要な原則やメリット・デメリットがあり、最適なユースケースを左右するパケットフィルタリングの種類は4つあります。
パケットフィルタリングの仕組み
2つのIT資産(コンピューター、スマートフォン、ルーター、セキュリティカメラなど)が通信する必要が生じるたびに、互いにデータパケットを送信します。各データパケットは、パケットに関する情報を提供するヘッダー、データのペイロード、パケットの末尾を示すトレーラーという3つの要素で構成されます。
送信側のコンピューターは最初のデータペイロードを作成し、ローカルデバイスに関するヘッダー情報を追加して、データパケットをローカルネットワークのルーターに送信します。ローカルネットワークのルーターや、接続に使われるその他のネットワーク機器(ルーター、ファイアウォールなど)は、受信側のデバイスが返信メッセージのパケットを正確に送信できるよう、ヘッダーに追加情報を付加します。
パケットフィルタリングは各データパケットのヘッダー内の情報を分析し、ルールと照合して、パケットを許可するか拒否するかを判断します。パケットのフィルタリングに使われる一般的なヘッダー情報には、送信元IPアドレス、送信先IPアドレス、プロトコル、送信元ポート、宛先ポート、伝送制御プロトコル(TCP)のシーケンス番号が含まれます。

フィルタリングでは通常、拒否されたパケットを破棄しますが、ログファイルには違反したパケットルールに関する情報がほとんど、あるいはまったく記録されない場合があります。フィルタリング処理は、許可されたパケットを宛先デバイスに届けるか、次のセキュリティ検査機能に渡します。管理者は、受信トラフィックと送信トラフィックを異なる方法で制御するため、カスタマイズしたパケットフィルタリングルールを適用することがよくあります。
初期に作られたファイアウォールはパケットフィルタリングを実行していました。安価なネットワークファイアウォールやホストファイアウォールをネットワークルーターに導入して、現在もパケットフィルタリングに特化させることができます。ただし、ほとんどのベンダーは、パケットフィルタリングを他の種類のファイアウォールに組み込まれる多数の機能の1つとしても搭載しています。たとえば、次世代ファイアウォール(NGFW)、OSホストファイアウォール、クラウドファイアウォール、Webアプリケーションファイアウォール(WAF)などです。
パケットフィルタリングルールの原則
パケットフィルタリングルールは、データパケットのヘッダー情報に焦点を当てた一般的なファイアウォールルールの一部です。管理者が設定するルールの多くは、厳格なブール値に基づいて許可または拒否を指示し、ニュアンスや微妙な違いを考慮せず迅速に判断できるようにします。
ルールの作成に使われるヘッダーのカテゴリは次のとおりです。
- 方向:フィルターに対し、受信ルールと送信ルールのどちらを適用してフィルタリングするかを指定します。
- ファイアウォールインターフェイス:データを受信する特定の物理ネットワークインターフェイスカードに適用されます。
- IPアドレス:宛先または送信元のデバイス(サーバー、ワークステーションなど)のアドレスを指定します。
- IPフラグ:接続要求やデータパケットのシーケンス番号など、TCPプロトコルの接続情報を含みます。
- ネットワークプロトコル:伝送に使われる標準(TCP、UDPなど)を定義します。
- ポート番号:メール、FTP、Webブラウジング(HTTP、HTTPSトラフィック)などのサービスに関連付けられた特定のポートへ、宛先または送信元のデータを振り分けます。
管理者は、特定の攻撃を防止したり、特定の保護策を実施したりするために、具体的なルールを設定します。ルールは通常、階層構造で適用されますが、「すべてのトラフィックを許可する」のようなルールは、他のルールと競合したり、危険な形で無効化したりする可能性があります。複数のルールをまとめたルールセットは全体的なポリシーを構成し、組織全体でパケットフィルタリングを実行する複数のデバイスに適用できます。
たとえば、次のファイアウォールポリシーでは、データヘッダーが以下のすべての条件を満たす場合にFTPサーバーへの接続を許可します。トラフィックの送信元がネットワーク外部(受信)であること、送信元が信頼されたIPアドレスであること、送信元がブロック対象のIPアドレスではないこと、IPフラグが接続を要求していること、宛先ポートがポート20であることです。
アクセス制御リスト(ACL)は、信頼済みおよびブロック対象の(別名、許可リストと拒否リスト、またはホワイトリストとブラックリスト)IPアドレス、デバイス(MACアドレス)、さらにはユーザーグループやユーザーを定義します。ルールは、管理者が定義した静的ACLを参照することも、Active Directory、IDおよびアクセス管理(IAM)、特権アクセス管理(PAM)ツールと動的に連携することもできます。
パケットフィルタリングの5つのメリット
機能としてのパケットフィルタリングには、主に5つのメリットがあります。
- 簡単なセットアップ:分かりやすいオプションを利用するため、導入時間を短縮でき、さまざまな種類やブランドのファイアウォールに変更なしで実装できます。
- 高速な防御:単純かつ効率的で迅速な許可・破棄の判断を可能にし、時間に敏感なアプリケーションやプロセスでも高いデータスループットを維持します。
- 安価な導入:OSやファイアウォールの運用コストに含まれていることが多く、最も安価なファイアウォール製品でも基本機能として搭載されています。
- 少ないリソース:コンピューティングリソース(メモリ、CPU処理能力など)の使用量が少ないため、より計算負荷の高い機能や性能にリソースを振り向けられます。
- 検証可能な性能:許可・破棄ルールの条件を容易にテストでき、最低限のセキュリティ機能とベースラインのリスク軽減策を検証できます。
こうしたコスト面と性能面のメリットにより、パケットフィルタリングは、複雑なNGFWからホストファイアウォールを備えた単純なルーターまで、幅広いソリューションで利用されています。
パケットフィルタリングの5つのデメリット
パケットフィルタリングには、セキュリティ上の重大なデメリットが5つあります。
- 扱いにくいルールリスト:異なる管理者が新しいルールを追加するにつれて時間とともに肥大化し、意図しないセキュリティ上の隙間や、古いルールと新しいルールの競合につながる可能性があります。
- 不完全なセキュリティ:狭い範囲のセキュリティ保護しか提供しないため、正規のトラフィックに悪意のあるペイロードを仕込むといった、より高度な攻撃手法に対して脆弱です。
- 柔軟性のないルール:ユーザーやパケットのコンテキストを理解できず、状況の変化に適応したり、異常な挙動を検知したりできません。
- 誤った信頼:基本的なパケットフィルタリングルールを通過できるすべての通信トラフィックを、悪意のあるコンテンツであっても安全で信頼できるトラフィックとして扱います。
- 原始的なデータロギング:セキュリティ監視、ログ分析、侵害後のフォレンジック調査に必要な詳細情報なしで、単純なルールによりパケットを許可または破棄します。
現在もパケットフィルタリングに特化している商用ファイアウォールはごくわずかです。ほとんどの商用ファイアウォールは、パケットのより動的で複雑な分析を行う高度な機能とパケットフィルタリングを組み合わせ、セキュリティを向上させています。さらに、こうした高機能なファイアウォール製品には、より高度なログ機能や管理コンソールが用意されており、これらの弱点を最小限に抑えられます。
パケットフィルタリングの4つの種類
パケットフィルタリング機能は、静的、動的、ステートレス、ステートフルのいずれかに分類されます。4つの機能はすべて同じファイアウォールに同時に導入できますが、1つのルールに同時に適用できるのは2種類だけです。静的ルールはステートレスパケットフィルタリングとのみ組み合わせられ、ステートフルパケットフィルタリングのルールには動的パケットフィルタリングが必要です。ただし、ステートレスフィルタリングは静的・動的のどちらのフィルタリングにも適用でき、動的フィルタリングは静的・動的のどちらのルールとも組み合わせられます。
静的パケットフィルタリング
静的パケットフィルタリングでは、固定され変更できないルールを使用します。管理者が設定すると、再び管理者が変更しない限り、これらの単純なルールがすべてのパケットに対して確実に機能します。
静的フィルタリングルールの例としては、常に閉じているポート、アクセス制御リスト(ACL)に登録された信頼済みユーザー、IPアドレスの拒否リスト(別名ブラックリスト)に登録され、常にブロックされるデバイスなどがあります。すべてのファイアウォールは、確立されたファイアウォールルールにおいて、明らかに悪意のある、または不要なデータパケットを迅速に分析して破棄するため、ある程度は静的フィルタリング機能を使用しています。
動的パケットフィルタリング
動的パケットフィルターは、変化する条件、柔軟なルール、動的プロトコルに基づいてルールを調整します。単純な動的ルールの例としては、時刻に応じてポートを開閉することや、分散型サービス拒否(DDoS)攻撃を検知した後に悪質なIPアドレスを拒否リストへ追加することなどがあります。ポートノッキングでは、より複雑な動的フィルタリング機能を利用し、事前に定義されたパケット列が先行しない限り、あるポート宛てのすべてのパケットを破棄します。
FTPプロトコルは、より複雑な例です。プロトコルでポート21と定義された制御ポートを開いたままにして、接続試行を待ち受けます。FTPセッションが確立されると、FTPプロトコルは動的ルールを実行してポート20(割り当てられた送信ポート)を開くか、データ伝送接続用に60000~65535のいずれかのポートへランダムに切り替えます。
ステートレスパケットフィルタリング
ステートレスパケットフィルタリングでは、パケットを許可するか破棄するかを、事前定義されたフィルタリングルールだけで判断します。これらの単純なルールは迅速に処理されるため、フィルタリングを実行するファイアウォール、ルーター、その他のソリューションのメモリとプロセッサ使用量を最小限に抑えられます。
ステートレスフィルタリングは静的・動的の両方のフィルタリングルールに適用され、各パケットを他のパケットから独立したものとして扱います。フィルタリングソリューションは、過去に破棄した悪意のあるパケットに関する情報も含め、将来のフィルタリング判断のコンテキストとして利用するデータを保持しません。この種類のルールはメモリを節約し、高いデータスループット速度を維持します。
ステートフルパケットフィルタリング
ステートフルパケットフィルタリングでは、許可または破棄を判断する際に、確立済みの伝送接続というコンテキストでパケットを考慮します。この高度な方式は、伝送制御プロトコル(TCP)におけるシーケンス情報と同期・確認応答のハンドシェイク要件を活用しますが、処理速度が低下し、実行により多くのメモリとプロセッサ時間を消費します。
ステートフル機能は、破損したTCP処理を利用しようとする多くのDDoS攻撃を認識して破棄します。たとえば、存在しない接続への返信を送信してコンシューマーサーバーのメモリを消費させる攻撃です。この機能は、過去に攻撃や不審な挙動に関与したIPアドレスやドメインを追跡し、自動的にブロックまたは隔離します。
パケットフィルタリングのユースケース
ほぼすべてのファイアウォールと多くの最新ネットワークコンポーネントが、パケットフィルタリングを使用しています。管理者は、パケットフィルタリングのメリットを生かす特定のユースケースを実行するために、この機能を利用します。具体的には、単純なルールによって高速なフィルタリングを実現し、資産やネットワークに初期段階のセキュリティを提供したり、ネットワーク分離のための単純なソリューションを実現したりします。
高速なデータスループット
複雑なセキュリティ分析を行う次世代ファイアウォール(NGFW)は、アプリケーション、データベース、時間に敏感なプロトコル(ビデオ会議など)に許容できない遅延を引き起こす可能性があります。厳格でありながら単純なパケットフィルタリングを実装して、セキュリティ分析の対象となるパケット数を大幅に減らし、速度を維持します。ただし、パケットフィルタリングが見逃す攻撃をブロックするため、Webアプリケーションファイアウォール(WAF)やデータベースファイアウォールなどの専門的なセキュリティソリューションも導入してください。
資産の強化
ほとんどのコンピューター資産(サーバー、ノートPCなど)、クラウドリソース、ファイアウォール、ホストファイアウォールを備えたネットワークデバイスでは、攻撃を防ぐために何らかのハードニングが必要です。データ伝送やプロトコルには開放されたポートが必要ですが、専用の役割を持つデバイスでは、セキュリティを簡素化するために、ほとんどのポートへのデータを自動的にブロックする場合があります。たとえば、メールサーバーでFTPポートを開く必要はなく、FTPサーバーでメールポートを開く必要もありません。
初期パケット検査
パケット検査は、明らかに悪意のあるトラフィックや不要なトラフィックを破棄し、より深くリソースを消費する検査の対象となるパケット数を減らす、迅速な第一防衛線となります。たとえば、ネットワーク外部のトラフィックがネットワーク内部のデバイスを送信元だと偽ることを禁止するルールを適用すると、パケットフィルタリングは内部ネットワークを送信元と偽る外部IPスプーフィング攻撃を迅速に特定して破棄できます。
単純なネットワーク分離
低機能で安価なパケットフィルタリングファイアウォールをネットワークに追加し、サブネットや部門を簡単に分離します。これらのファイアウォールは、データの送受信を許可されたIPアドレスに関する厳格で静的なルールに基づいて通信を防止します。ただし、ファイアウォールの変更には時間がかかる傾向があるため、このユースケースには、ソフトウェア定義型広域ネットワーク(SD-WAN)やゼロトラストネットワークアクセス(ZTNA)など、別のソリューションを使う組織もあります。
結論:パケットフィルタリングはファイアウォール保護の出発点
パケットフィルタリングは、ネットワークやデバイスに対して高速なデータパケットのフィルタリングを提供する、最初の重要なセキュリティ層です。ただし、多くの攻撃者はパケットフィルタリングを回避するため、強固な保護を実現するには、この保護機能をより深いセキュリティスタックの機能やツールに統合する必要があります。ほとんどの企業にとって、パケットフィルタリングは、保護対象の資産やリソースに合わせて調整された、より堅牢なファイアウォールソリューションの多数の機能の1つです。
ファイアウォールの選択肢についてさらに理解するには、ファイアウォールの種類を網羅した全体像と、それらをいつ使うべきかを確認してください。





