過去問ドリル

LinuCレベル2 システムのセキュリティ 問21

システムのセキュリティ/iptablesやfirewalldによるパケットフィルタリング

iptablesで、外部からこのホストのTCP 80番ポートへ届いた接続を、同じホストのTCP 8080番ポートへ転送(ポートリダイレクト)したい。ルールとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムのセキュリティ」に対応。実際の試験問題ではありません)

正解:B

解説

REDIRECTターゲットは、パケットの宛先をそのホスト自身の別のポートへ書き換えるもので、natテーブルのPREROUTINGチェーンとOUTPUTチェーンでだけ使えます。外部から届くパケットは、ルーティング判断の前に通るPREROUTINGで宛先を書き換える必要があります。同じホスト上のプロセスが自分自身へ接続する場合は、OUTPUTチェーンに同様のルールを追加します。別のホストへ転送する場合はDNATターゲットを使い、あわせてnet.ipv4.ip_forwardの有効化が必要になります。

選択肢ごとの解説

  • A誤り。REDIRECTはnatテーブル専用のターゲットで、filterテーブルのINPUTチェーンでは使えません。
  • B正しい。外部から届いたパケットの宛先ポートを、natテーブルのPREROUTINGチェーンでREDIRECTにより8080番へ書き換えます。
  • C誤り。POSTROUTINGは送信直前に送信元を書き換える(SNATやMASQUERADE)ためのチェーンで、REDIRECTは使えません。
  • D誤り。mangleテーブルはTOSやマークなどの書き換えに使うもので、REDIRECTによる宛先の書き換えはできません。
LinuCレベル2の問題を演習モードで解く