LinuCレベル2 システムのセキュリティ 問17
システムのセキュリティ/iptablesやfirewalldによるパケットフィルタリングLinuxホストで、あるNICで受信したIPv4パケットを別のNICへ転送(ルーティング)させるために必要なカーネルパラメータの設定として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムのセキュリティ」に対応。実際の試験問題ではありません)
- Anet.ipv4.ip_forward を1にする
- Bnet.ipv4.tcp_syncookies を1にする
- Cnet.ipv4.icmp_echo_ignore_all を1にする
- Dnet.ipv4.conf.all.accept_redirects を1にする
正解:A
解説
Linuxは既定では自分宛てでないIPv4パケットを転送しないため、ルーターやNATゲートウェイとして使うにはnet.ipv4.ip_forwardを1にします。一時的にはsysctl -w net.ipv4.ip_forward=1や/proc/sys/net/ipv4/ip_forwardへの書き込みで変更でき、永続化するには/etc/sysctl.d/配下の設定ファイルに記述します。IPv6ではnet.ipv6.conf.all.forwardingが対応する設定です。転送を許可したうえで、iptablesのFORWARDチェインやfirewalldのポリシーで転送するパケットを制御します。
選択肢ごとの解説
- A正しい。net.ipv4.ip_forwardを1にすると、IPv4パケットのインターフェース間の転送が有効になります。
- B誤り。tcp_syncookiesはSYNフラッド攻撃への対策としてSYN Cookieを有効にする設定で、パケット転送とは関係ありません。
- C誤り。icmp_echo_ignore_allを1にすると、pingのエコー要求に応答しなくなります。転送を有効にする設定ではありません。
- D誤り。accept_redirectsはICMPリダイレクトを受け入れて経路を更新するかどうかの設定で、パケットの転送を有効にするものではありません。