Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

ポートフィルタ(ポートフィルタ)とは | 意味や読み方など丁寧でわかりやすい用語解説

ポートフィルタ(ポートフィルタ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ポートフィルタ (ポートフィルタ)

英語表記

port filter (ポートフィルター)

用語解説

ポートフィルタは、ネットワークを流れるデータの通信を制御するための重要なセキュリティ機能の一つである。これは、特定の「ポート番号」を使用する通信のみを許可したり、逆に禁止したりすることで、ネットワークの安全性を高め、管理者が意図した通りのネットワーク利用を実現するための仕組みである。IPアドレスがインターネット上のコンピュータを識別するための住所だとすれば、ポート番号はそのコンピュータ上で稼働する特定のアプリケーションやサービスへの入り口を識別するための「部屋番号」のようなものと考えると理解しやすい。このフィルタリング機能は、主にファイアウォール機器やルーター、あるいはコンピュータのOSに搭載されたソフトウェアファイアウォールなどによって提供される。

詳細な説明に入る前に、まずは「ポート」と「フィルタ」それぞれの概念を理解することが重要だ。ネットワーク通信において、データは「パケット」という小さな単位に分割されてやり取りされる。このパケットには、送信元と送信先のIPアドレスだけでなく、送信元と送信先の「ポート番号」が含まれている。ポート番号は、OSI参照モデルのトランスポート層で利用され、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)といったプロトコルと組み合わせて使われる。例えば、Webサイトを閲覧する際に利用するHTTP通信では通常80番ポートが、安全な通信を行うHTTPSでは443番ポートが使われる。また、SSH(Secure Shell)によるリモート接続では22番ポート、DNS(Domain Name System)による名前解決では53番ポート、電子メールの受信(POP3/IMAP)では110番/143番ポート、送信(SMTP)では25番ポートなど、特定のサービスやアプリケーションには慣習的に決まったポート番号が割り当てられている。これらのポートは0番から65535番まであり、特に0番から1023番までは「ウェルノウンポート」と呼ばれ、よく知られたサービスに割り当てられている。ポートは、複数のアプリケーションが同時にネットワークサービスを提供したり利用したりできるように、それぞれの通信を区別するために不可欠な概念である。

次に「フィルタ」とは、ネットワークを流れるデータパケットを、あらかじめ定義されたルールに基づいて「通過させるか、それとも遮断するか」を判断し、実行する機能全般を指す。ポートフィルタリングは、このフィルタリング機能の中でも特に、ポート番号に注目して通信を制御する手法である。例えば、外部からのWebアクセスは許可するが、データベースへの直接アクセスは禁止するといった具体的な制御を可能にする。

ポートフィルタの仕組みは、基本的に「アクセスリスト」や「ルールセット」と呼ばれる一連の規則に基づいて動作する。これらの規則には、通信の方向(外部から内部へのInbound通信か、内部から外部へのOutbound通信か)、送信元IPアドレス、送信先IPアドレス、そして最も重要な送信元・送信先ポート番号などが指定される。例えば、「外部ネットワークの任意のIPアドレスから、内部ネットワークのWebサーバー(IPアドレスA)の80番ポートへのTCP通信は許可する」といったルールや、「内部ネットワークの任意のPCから、外部ネットワークの任意のIPアドレスの22番ポート(SSH)へのTCP通信は許可しない」といったルールを設定できる。多くのポートフィルタは、すべての通信をデフォルトで拒否し、明示的に許可された通信のみを通過させる「ホワイトリスト方式(すべて拒否、一部許可)」か、逆にすべての通信をデフォルトで許可し、明示的に拒否された通信のみを遮断する「ブラックリスト方式(すべて許可、一部拒否)」のいずれかのポリシーを採用する。セキュリティの観点からは、ホワイトリスト方式がより推奨される。

ポートフィルタリングは、単にポート番号だけで判断するだけでなく、多くの場合、より高度な機能と組み合わせて利用される。例えば、「ステートフルインスペクション(状態監視型フィルタリング)」という機能を持つポートフィルタは、通信のセッション状態(接続中、切断済みなど)を記憶し、それに従って動的にフィルタリングルールを適用する。これにより、内部ネットワークから開始された正当な通信に対する外部からの応答パケットは自動的に許可され、一方で外部からいきなり開始される不正な通信は遮断されるなど、より柔軟かつセキュアな制御が可能となる。

ポートフィルタの主な目的は、何よりもネットワークセキュリティの強化にある。外部からの不正な侵入(ハッキング)を防ぐために、必要のないポートはすべて閉鎖し、Webサービスやメールサービスなど、外部に公開する必要がある特定のポートのみを開放する。これにより、攻撃者がシステムに侵入できる経路を最小限に絞り込むことができる。また、内部ネットワークからの不正なアクセスや、マルウェア感染したPCが外部に情報を送信しようとする通信をブロックするなど、内部からの脅威に対しても有効な防御策となる。さらに、業務に必要な通信のみを許可し、業務と無関係なアプリケーション(ファイル共有ソフトやゲームなど)の利用を制限することで、ネットワークリソースの保護や利用状況の管理にも貢献する。これにより、ネットワーク帯域の無駄遣いを防ぎ、業務効率を向上させることも期待できる。

ポートフィルタを設定する上での基本的な考え方は「最小権限の原則」である。つまり、必要な通信だけを最小限の範囲で許可し、それ以外の通信はすべて拒否するというアプローチだ。例えば、インターネットに公開するWebサーバーであれば、外部からの80番(HTTP)と443番(HTTPS)ポートへのアクセスを許可し、管理者によるサーバーメンテナンスのための22番(SSH)ポートは特定の管理用IPアドレスからのみアクセスを許可するといった設定が考えられる。データベースサーバーのように、通常は外部に直接公開しないサーバーであれば、Webサーバーからの特定のポート経由のアクセスのみを許可し、他のすべてのポートへのアクセスは拒否するといった厳格な制御を行う。このような設定により、不必要に開かれたポートが攻撃の足がかりとなるリスクを大幅に低減できる。また、ポートフィルタリングの設定ミスは、セキュリティホールを作り出したり、正当な通信まで遮断して業務に支障をきたしたりする可能性があるため、設定には十分な注意が必要である。設定変更後は、期待通りに機能するかどうかを必ずテストし、定期的に設定内容を見直すことが推奨される。通信ログを記録し、異常なアクセスがないかを監視することも、セキュリティを維持する上で非常に重要である。ポート番号を変更する「ポートノッキング」のような一時的なセキュリティ対策もあるが、根本的な解決にはならず、継続的な運用には向かない場合が多い。

ポートフィルタは、様々なネットワーク機器やソフトウェアに実装されている。最も代表的なのが、ネットワークの境界に設置される「ファイアウォール」である。これは、ハードウェアアプライアンスとして提供されることもあれば、汎用サーバーにOSをインストールし、ファイアウォールソフトウェア(Linuxのiptablesやfirewalldなど)を構成して利用することもある。また、企業の内部ネットワークで部門間やサブネット間の通信を制御するために、L3スイッチやルーターの機能としてポートフィルタリングが利用されることも多い。さらに、個々のコンピュータにもOS標準のファイアウォール機能(Windows Defender Firewall、macOSのファイアウォール機能など)が搭載されており、アプリケーションごとにポートの開閉を制御できるようになっている。これらの多様な場所でポートフィルタリング機能が活用されることで、多層的なセキュリティ防御が構築され、ネットワーク全体の安全性が高められる。

これらの機能を適切に利用し、ネットワーク環境に合わせた最適なポートフィルタリングルールを設計・適用することで、システムは外部からの脅威に対してより強固なものとなる。システムエンジニアを目指す上では、ポートの概念とポートフィルタがネットワークセキュリティにおいて果たす役割を深く理解することが不可欠である。

関連コンテンツ

関連IT用語