過去問ドリル

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

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

Debian 12 で配布されている /etc/nftables.conf には、先頭付近に flush ruleset という行がある。この行の役割として適切なものはどれか。

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

正解:B

解説

nft -f はファイルの内容を1つのトランザクションとしてカーネルに適用します。ファイルに table や rule の定義しか書かれていないと、読み込み直すたびに既存のルールセットへ同じルールが追加されてしまいます。先頭の flush ruleset は、読み込みの最初に既存のルールセットをすべて消去し、ファイルの内容で全体を置き換えるための行です。同じトランザクション内で処理されるため、消去から再定義までの間に無防備な状態が外から見えることはありません。なお flush ruleset は、iptables-nft が作成したテーブルも含めてすべてのテーブルを削除します。

選択肢ごとの解説

  • A誤り。flush ruleset はファイルを読み込むたびに最初に実行される行です。サービス停止時の処理は nftables.service のユニットファイル側で定義されています。
  • B正しい。読み込みのたびに既存のルールセットを消去してからファイルの内容を適用するため、重複が起きず、ファイルの内容が常に全体の正となります。
  • C誤り。カウンターの値だけを0に戻すのは nft reset counters 等の操作です。flush ruleset はテーブルごとすべて削除します。
  • D誤り。flush ruleset はルールセット全体を消去するため、iptables-nft が作成したテーブルも含めて削除されます。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く