基本情報技術者 2015年 秋期 午前(科目A) 問44
問題文
パケットフィルタリング型ファイアウォールがルール一覧に基づいてパケットを制御する場合、パケットAに適用されるルールとそのときの動作はどれか。ここで、ファイアウォールでは、ルール一覧に示す番号の1から順にルールを適用し、そのルールが適合したときには残りのルールは適用しない。

選択肢
ア:番号1によって、通過を禁止する。(正解)
イ:番号2によって、通過を許可する。
ウ:番号3によって、通過を許可する。
エ:番号4によって、通過を禁止する。
パケットフィルタリング型ファイアウォールのルール適用問題【午前2 解説】
要点まとめ
- 結論→パケットAは送信元アドレスがルール1に完全一致するため、ルール1で最初に該当し通過禁止となります。
- 根拠→本問のファイアウォールはルール番号の昇順で照合し、最初に適合したルールで処理を打ち切る「first-match」方式であるためです。
- 差がつくポイント→宛先やプロトコルが後続ルールで許可されても、上位ルールが先に一致すれば後続は無効化される点を確実に理解してください。
正解の理由
正解:ア
パケットAの送信元アドレスは10.1.2.3であり、ルール一覧の番号1は送信元アドレスが10.1.2.3と明示されています。ファイアウォールは番号1から順にルール適用を行い、最初に一致したルールの動作(ここでは通過禁止)を適用して残りのルール適用を行わないため、パケットAはルール1により通過禁止になります。
パケットAの送信元アドレスは10.1.2.3であり、ルール一覧の番号1は送信元アドレスが10.1.2.3と明示されています。ファイアウォールは番号1から順にルール適用を行い、最初に一致したルールの動作(ここでは通過禁止)を適用して残りのルール適用を行わないため、パケットAはルール1により通過禁止になります。
よくある誤解
- 「より具体的なルールが優先される」と誤解するケース:本問ではルールの適用順が優先であり、後からより具体的な許可ルールがあっても上位で一致すれば無効化されます。
- 「宛先ポート(25)や宛先アドレスが一致するから許可される」と早合点するケース:複数フィールドで一致しても、先に一致したルールの動作が優先されます。
- 「最後のデフォルトルール(エ)が常に適用される」と思う誤り:最後のルールは最後まで到達した場合に適用されますが、先に一致するルールがあれば到達しません。
解法ステップ
- ルール適用の方式を確認(本問は番号1から順に適用し、最初に適合したルールで処理終了)。
- パケットAの各フィールド(送信元、宛先、プロトコル、送信元ポート、宛先ポート)を列挙する。
- ルール1から順に、各ルールの指定フィールドと照合する。
- ルール1は送信元アドレスが10.1.2.3で固定されており、パケットAの送信元が一致するためここで処理停止。
- ルール1の動作「通過禁止」を最終判定として採用する。
選択肢別の誤答解説
- ア: ア は正解です。ルール1の送信元アドレス指定がパケットAに一致し、先に適用されるため通過禁止になります。
- イ: 番号2による許可は誤りです。確かに番号2は宛先10.2.3.*かつTCPで宛先ポート25なら許可しますが、番号1が先に一致しているため番号2まで到達しません。
- ウ: 番号3による許可も誤りです。番号3は宛先が10.1.*を対象としたTCP許可ですが、パケットAの宛先は10.2.3.4なのでそもそも一致せず、かつ番号1が先に一致しているため適用されません。
- エ: 番号4の通過禁止は誤りです。番号4は最終的なデフォルト禁止ルールですが、パケットAは番号1で既に処理が終了しているため番号4まで到達しません。
補足コラム
- ファイアウォールには「first-match」(最初に一致したルールを適用)と「last-match」(最後に一致したルールを適用)などの動作方式があります。設問では明確に「番号の1から順にルールを適用し、適合したときには残りのルールは適用しない」とあるためfirst-matchです。
- 実運用では、ブロック系(deny)ルールを上位に置くと意図せずトラフィックを遮断するリスクがあるため、ルール設計は順序と具体性を意識して行います。
- ステートフルファイアウォールでは、単純なパケットフィルタよりもコネクションの状態(既存接続か新規か)で判定を行うため本問とは挙動が異なる点に注意してください。
FAQ
Q1: もしルール1が存在しなければどうなりますか?
A1: その場合は番号2が最初に一致するか照合し、パケットAは番号2の条件(宛先10.2.3.*かつTCPの宛先ポート25)に一致するため通過許可となります。
A1: その場合は番号2が最初に一致するか照合し、パケットAは番号2の条件(宛先10.2.3.*かつTCPの宛先ポート25)に一致するため通過許可となります。
Q2: ワイルドカード「」はどう扱われますか?
A2: 「」は当該フィールドが任意で常に一致することを意味します。フィールドによっては範囲指定やプレフィックスでの一致(例:10.2.3.*)が使われます。
A2: 「」は当該フィールドが任意で常に一致することを意味します。フィールドによっては範囲指定やプレフィックスでの一致(例:10.2.3.*)が使われます。
Q3: ステートフルでは結果が変わることがありますか?
A3: はい。ステートフルではパケットの「状態」に基づき既存の接続からの応答を許可するなどの判断が入り、本問の単純なフィールド一致だけでは判断できない場合があります。
A3: はい。ステートフルではパケットの「状態」に基づき既存の接続からの応答を許可するなどの判断が入り、本問の単純なフィールド一致だけでは判断できない場合があります。
関連キーワード: ファイアウォール、パケットフィルタ、ACL、ルール順序、first-match、TCPポート、通過制御、フィルタ設計

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

