あなたのIPv4アドレス:
オペレーティングシステム:
プロバイダー:

ファイアウォールとは?ルール、ポート、ネットワークアクセス

ファイアウォールは、ルールに従ってネットワークの通信を許可したり遮断したりする仕組みです。パソコン上、家庭用ルーター、クラウドネットワークの境界など、さまざまな場所で動作します。ルールが制御するのは接続へのアクセスであり、許可したアプリケーションが自動的に安全になるわけではありません。

ファイアウォールのルールの仕組み

ルールでは、接続の方向、アドレス、プロトコル、ポート、場合によってはアプリケーションを条件にできます。家庭用ルーターは通常、外部から一方的に届く通信を制限し、OSのファイアウォールはその端末自体に届く通信を制御します。ステートフルなファイアウォールであれば、すべての受信ポートを開けなくても、確立済みの送信接続への応答は通すことができます。

通信は複数の層を通過することがあります。クラウドのセキュリティグループでポートを許可していても、ホストのファイアウォールでブロックされていることがあります。ローカルで許可ルールを作っても、ルーターでポートフォワーディングが設定されていなかったり、プロバイダーがキャリアグレードNATを使っていたりすれば効果はありません。広範囲の変更を加える前に、それぞれの層を把握しておきましょう。

サービスにアクセスできない理由

まず、アプリケーションが動いていて、想定どおりのプロトコル、ポート、ネットワークアドレスで待ち受けているかを確認します。ループバックにだけバインドされたサービスは、ローカルからは使えても外部からは使えません。次に、ホストのルール、ルーターのポートフォワーディング設定、プロバイダーの制限を調べます。外部からのポートテストでわかるのは、そのテスト地点から到達できるかどうかであり、障害の原因を1つに特定できるわけではありません。

接続の拒否、タイムアウト、アプリケーションレベルのエラーは区別して考えましょう。フィルタリングによってわかりにくくなることはあるものの、これらはそれぞれ別の障害箇所を示唆しています。テストは本当に別のネットワークから行ってください。ルーターの中には、自分自身のパブリックアドレス宛ての接続を、外部からの通信とは違うやり方で扱うものがあります。ネットワークの外から到達できるかを確認するには、2IPのポート開放確認を利用できます。ただし、閉じているという結果が出た場合も、ローカルのファイアウォール、NAT、待ち受けの状態を確認する必要があります。

より安全なルール変更

許可するのはサービスに必要なアクセスだけにし、可能であれば接続元のアドレスも限定しましょう。サービスは最新の状態に保ち、適切な認証を必須にします。ルールを作った理由を文書に残し、サービスを廃止したらそのルールも削除してください。送信方向の接続をすべてブロックすると、更新やDNSが使えなくなることがあるため、ルールを適用する前に依存関係を把握しておきましょう。

ファイアウォールでは、フィッシング、危険なダウンロード、許可したサービスを経由した攻撃は防げません。更新、バックアップ、アカウントのセキュリティと組み合わせて使いましょう。変更後は、必要な接続ができることと、意図しない公開が起きていないことの両方を確認してください。

IPv6では、IPv4のNATのルールがそのまま当てはまると考えず、実際のインターフェースのアドレスとファイアウォールのポリシーを確認しましょう。アプリケーションが片方のアドレスファミリーで待ち受けているのに、クライアントがもう片方で接続を試みていることもあります。

ICMPはpingだけのものではない

ICMPはEchoメッセージのほかに、診断やPath MTU Discoveryなどの仕組みで使われる制御情報やエラー情報も運びます。むやみにブロックすると、原因のわかりにくい障害を招くことがあります。ICMPとMTUの記事もご覧ください。