過去問ドリル

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

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

nftablesで、特定の通信がどのテーブル・チェイン・ルールを順に評価されて最終的にどう処理されたかを追跡したい。方法として適切なものはどれか。

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

正解:D

解説

nftablesのパケットトレースは、ルールで meta nftrace set 1 を設定してパケットに印を付け、nft monitor trace でその評価の経過を表示する仕組みです。印が付いたパケットについて、どのテーブル・チェインのどのルールに一致し、最終的にどの判定(verdict)になったかが順に出力されます。印を付けるルールは、prerouting や output のように早い段階で評価されるチェインに置くのが一般的です。counter はルールごとに一致したパケット数とバイト数を集計する統計情報で、ルールが使われているかの確認に役立ちますが、個々のパケットの経路は分かりません。

選択肢ごとの解説

  • A誤り。--debug はnftコマンド自身の字句解析・構文解析・netlink通信等をデバッグするオプションで、パケットのルール評価は記録しません。
  • B誤り。counter はルールに一致したパケット数とバイト数の累計を示す統計情報で、個々のパケットがたどった順序は分かりません。
  • C誤り。log はそのルールに到達した時点のパケット情報を記録するだけで、その後どのルールで最終的に処理されたかまでは分かりません。
  • D正しい。nftrace の印を付けたパケットについて、nft monitor trace で評価されたルールと最終的な判定を順に確認できます。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く