過去問ドリル

LinuCレベル3 セキュリティスペシャリスト システム保護と監査 問33

システム保護と監査/パケットフィルタリングの実装

nftablesを使い、LAN(192.168.1.0/24)からインターネットへ出ていく通信の送信元アドレスを、外部インターフェース eth0 のアドレスに書き換えたい。natテーブルのpostroutingチェインにルールを追加するコマンドとして適切なものはどれか。

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

正解:A

解説

nftablesでソースNATを行うには、natタイプのチェインのpostroutingフックにmasqueradeを設定します。masqueradeは、パケットが出ていくインターフェースのアドレスに送信元を動的に書き換える動作です。masqueradeはnatタイプのチェインでのみ使用でき、filterタイプのチェインには記述できません。また、ソースNATは経路決定後(postrouting)に行うもので、preroutingフックはデスティネーションNAT(DNAT)用です。

選択肢ごとの解説

  • A正しい。ip natテーブルのpostroutingチェインに、出力インターフェースがeth0で送信元が192.168.1.0/24のパケットに対してmasqueradeを適用するルールを追加します。
  • B誤り。masqueradeはNATの動作であり、filterタイプのチェインには記述できません。filterのforwardチェインはパケットの転送可否を判定するためのものです。
  • C誤り。preroutingフックは受信したパケットの宛先を書き換えるデスティネーションNAT(DNAT)に使います。送信元の書き換え(ソースNAT)にはpostroutingフックを使います。
  • D誤り。dnatは宛先アドレスを書き換えるデスティネーションNATの動作であり、送信元アドレスの書き換え(ソースNAT)にはmasqueradeやsnatを使います。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く