基本情報技術者 2017年 春期 午前(科目A) 問42
問題文
社内ネットワークとインターネットの接続点にパケットフィルタリング型ファイアウォールを設置して、社内ネットワーク上のPCからインターネット上のWebサーバの80番ポートにアクセスできるようにするとき、フィルタリングで許可するルールの適切な組みはどれか。

選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
パケットフィルタリングのルール設計【午前解説】
正解の理由
正解は ウ です。理由は以下のとおりです。クライアントPCがHTTP(TCP/80)に接続する際、PC側は送信元ポートとしてエフェメラルポート(1024以上)を使い、宛先ポートはWebサーバの80番になります(PC → サーバ:src=1024+, dst=80)。サーバからの応答はその逆で、送信元ポートが80、宛先ポートがクライアントのエフェメラルポート(1024以上)になります(サーバ → PC:src=80, dst=1024+)。ウはこの両方向を正しく表しているため正解です。
解法ステップ
- TCPの接続確立方法を確認する(クライアントがエフェメラルポートから接続開始、サーバは待受ポートを使用)。
- 問題文の「Webサーバの80番ポートにアクセスできるように」を具体的に翻訳する(PC→サーバ:dst=80)。
- ステートレスかステートフルかを想定する(問題はパケットフィルタリング=一般にステートレスを想定)。
- ステートレスなら「PC→サーバ(src=1024+, dst=80)」と「サーバ→PC(src=80, dst=1024+)」の両方を個別に許可するルールを選ぶ。
- 選択肢を照合して、送受信ポートの向きが一致するものを選ぶ。
選択肢別の誤答解説
- ア:PC側の送信元ポートが80になっているため誤り。クライアントは1024以上のエフェメラルポートを使います。
- イ:PC→サーバの行で送信元ポートが80になっておりミス。サーバ→PCは正しく src=1024+ dst=80 になっているが方向が逆です。
- ウ:正解。PC→サーバは src=1024+ dst=80、サーバ→PCは src=80 dst=1024+ で双方正しい。
- エ:サーバからPCへの行が src=1024+ dst=80 となっており、サーバ側の送信元ポートが間違っている(サーバ側は80が正しい)。
よくある誤解
- クライアントの送信元ポートが80だと誤認するケース:実際はクライアントはエフェメラルポートを使い、サーバが固定で80です。
- 応答方向を明示的に許可しなくて良いと考えるミス:ステートレスなフィルタの場合、応答も別ルールで許可しなければ通信は成立しません。
- 「1024以上」を「任意のポート」と漠然と考えるだけでなく、範囲制限(必要ならIPやポート範囲の絞り込み)も検討すべき点を見落としがちです。
補足コラム
- ステートフルファイアウォールではアウトバウンド(PC→外部)を許可するルールだけ設定すれば、返送(ESTABLISHED/RELATED)のパケットを自動で許可するためルール数を減らせます。
- NAT(多くはSNATまたはPAT)が挟まると内部の送信元アドレス・ポートが変わるため、ファイアウォールルールやログの見方に注意が必要です。
- 一般に0〜1023は「ウェルノウンポート」、1024以上は「エフェメラル(動的)ポート」と理解しておくと幅広い問題で役立ちます。
FAQ
Q1: なぜ「1024以上」が使われるのですか?
A1: 0〜1023はウェルノウンポートでOSやサービスが固定使用する領域。クライアントは重複を避けるため動的に1024以上の未使用ポートを割り当てて通信を開始します。
A1: 0〜1023はウェルノウンポートでOSやサービスが固定使用する領域。クライアントは重複を避けるため動的に1024以上の未使用ポートを割り当てて通信を開始します。
Q2: ステートフルとステートレスで設定はどう変わりますか?
A2: ステートフルでは「アウトバウンドを許可」だけで返りのパケットは自動的に許可されます。ステートレスでは返りも明示的に許可する必要があります。
A2: ステートフルでは「アウトバウンドを許可」だけで返りのパケットは自動的に許可されます。ステートレスでは返りも明示的に許可する必要があります。
Q3: UDPでも同じ考え方でよいですか?
A3: 基本的なポートの扱いは同様ですが、TCPのような接続状態(SYN/ACKなど)がないため、ステートフルUDPの扱いやタイムアウトに注意が必要です。
A3: 基本的なポートの扱いは同様ですが、TCPのような接続状態(SYN/ACKなど)がないため、ステートフルUDPの扱いやタイムアウトに注意が必要です。
関連キーワード: パケットフィルタ、ファイアウォール、TCPポート、エフェメラルポート、ステートフル、ステートレス、NAT、HTTP、ポート番号、セキュリティ設計

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

