PFW(ピーエフダブリュー)とは | 意味や読み方など丁寧でわかりやすい用語解説
PFW(ピーエフダブリュー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
パーソナルファイアウォール (パーソナルファイアウォール)
英語表記
PFW (ピーエフダブリュー)
用語解説
PFWは、Port Forwarding(ポートフォワーディング)の略称である。これは、特定の通信ポートを特定の内部ネットワークの機器に「転送」する仕組みを指す。システムエンジニアを目指す上で、ネットワークの基本となるNAT(Network Address Translation)と密接に関連するため、その理解は不可欠となる。
PFWの主な目的は、インターネットなどの外部ネットワークから、ルーターの内側にあるプライベートネットワーク内の特定のサーバーやサービスにアクセスできるようにすることである。通常、プライベートネットワークに接続された機器は、ルーターを経由してインターネットと通信するが、外部から見るとルーターのグローバルIPアドレスしか見えないため、直接内部の機器にアクセスすることはできない。PFWは、この壁を越え、外部からの特定の要求を内部の特定の機器へと橋渡しする役割を担う。
例えば、自宅のパソコンでWebサーバーを動かし、それをインターネット上に公開したい場合や、オンラインゲームのサーバーを構築して友人と遊びたい場合、あるいはSSH(Secure Shell)を使って外部から自宅のパソコンに安全に接続したい場合などにPFWは利用される。ルーターが持つファイアウォール機能によって、通常は外部からの不要なアクセスは遮断されているが、PFWはそのファイアウォールに特定の「穴」を開け、指定された通信だけを内部へ通過させる許可を与える、と考えると理解しやすい。
PFWの詳細な仕組みを理解するには、まずIPアドレスとポート番号の役割を把握する必要がある。IPアドレスはネットワーク上の機器を識別する住所のようなもので、ポート番号は機器内で動作する特定のアプリケーションやサービスを識別するための番号である。一般的なウェブ通信には80番ポート(HTTP)や443番ポート(HTTPS)、SSHには22番ポートが使われるなど、用途によって標準的なポート番号が存在する。
PFWの設定では、ルーターの管理画面を通じて、主に以下の情報を指定する。第一に、外部からのアクセスを受け付ける「外部ポート番号」である。これはインターネット側からルーターに向けてアクセスされる際のポート番号を指す。第二に、外部からアクセスされる際に、実際に内部のどの機器に転送するかを示す「内部IPアドレス」である。これは、Webサーバーを動かしているパソコンやゲームサーバーが稼働している機器のプライベートIPアドレスを指定する。第三に、転送先の機器で待ち受けている「内部ポート番号」である。外部ポートと内部ポートは同じ番号でも良いし、異なる番号に設定することも可能である。例えば、外部からのアクセスは8080番ポートで受け付け、それを内部のWebサーバーの80番ポートに転送するといった設定ができる。
ルーターが外部から特定の外部ポートへの接続要求を受信すると、PFWの設定テーブルを参照する。もしその外部ポートに対応する内部IPアドレスと内部ポートが登録されていれば、ルーターはその着信パケットの宛先IPアドレスとポート番号を書き換え、指定された内部の機器へ転送する。この際、ルーターは、その通信に対する返信パケットが再び外部へ正しくルーティングされるように、一時的なマッピング情報を保持する。この機能は、NATの一種である「宛先NAT(DNAT)」や「静的NAT」と呼ばれることが多い。通常のNATは、内部から外部への通信時に送信元IPアドレスを書き換えるが、PFWは外部から内部への通信時に宛先IPアドレスとポート番号を書き換えるという点で異なる。
PFWは非常に便利な機能である一方で、セキュリティ上のリスクも伴うことを理解しておく必要がある。特定のポートをインターネットに対して開放するということは、そのポートを通じて内部のサービスにアクセスできる機会を外部に提供することに他ならない。悪意のある第三者は、開放されたポートをスキャンし、脆弱性のあるサービスを見つけ出して攻撃を仕掛ける可能性がある。そのため、PFWを設定する際には以下の点に注意しなければならない。
まず、本当に必要なポートのみを開放し、不要なポートは決して開かないこと。そして、開放するサービスが最新の状態に保たれ、既知の脆弱性が修正されていることを確認すること。可能であれば、対象となるサービスには強固なパスワードを設定し、二段階認証を導入するなど、追加のセキュリティ対策を講じることが望ましい。また、ルーター自身のファイアウォール機能だけでなく、内部の機器にインストールされているOSのファイアウォールも適切に設定し、不要な通信をブロックすることが重要である。特定IPアドレスからのアクセスのみを許可するなどの制限を設けることも、セキュリティを高める有効な手段である。
PFWの設定がうまくいかない場合のトラブルシューティングとしては、いくつか確認すべき点がある。一つは、ISP(インターネットサービスプロバイダ)が特定のポートをブロックしている可能性である。ISPによっては、セキュリティや運用上の理由から、一部のポート(例えば、25番ポートなど)の利用を制限している場合がある。次に、内部の機器のプライベートIPアドレスがDHCPによって頻繁に変わる場合、PFWの設定が無効になることがある。これを避けるためには、PFWの転送先に指定する内部の機器には、静的にIPアドレスを割り当てるか、ルーターのDHCP予約機能を使って常に同じIPアドレスが割り当てられるように設定することが推奨される。また、「二重NAT」の問題にも注意が必要である。これは、ネットワーク内にルーターが二台以上設置されており、二重にNATが行われている状態を指す。この場合、両方のルーターでPFWを設定しなければならないか、あるいは一方のルーターをブリッジモードにするなどの対応が必要となることがある。
PFW以外にも、外部から内部ネットワークに安全にアクセスする方法は存在する。例えば、VPN(Virtual Private Network)を構築すれば、暗号化された安全なトンネルを通じて、あたかも内部ネットワークに直接接続しているかのようにアクセスできる。VPNはPFWよりも高度なセキュリティを提供するため、業務利用など、高いセキュリティが求められる場合には有力な選択肢となる。また、リバースプロキシを利用してWebサーバーなどを公開する方法も存在する。これは、外部からのアクセスをリバースプロキシサーバーで受け止め、そこから内部のWebサーバーへ転送する仕組みで、PFWとは異なるアプローチでサービスを公開する。
システムエンジニアとして、ネットワークの基礎を学ぶ上でPFWの概念と運用は避けて通れないテーマである。その仕組みと、それに伴うセキュリティ上の考慮事項を深く理解し、適切に利用することが求められる。