LinuCレベル3 セキュリティスペシャリスト システム保護と監査 問10
システム保護と監査/Linux システムのセキュリティ監査auditdで、監査ログが max_log_file で指定した大きさに達したとき、古いログを一切削除せずにローテーションを続けさせたい。/etc/audit/auditd.conf の max_log_file_action に設定する値として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「システム保護と監査」に対応。実際の試験問題ではありません)
- AROTATE
- BSUSPEND
- CKEEP_LOGS
- DSYSLOG
正解:C
解説
auditd.conf の max_log_file はログファイル1つあたりの上限(単位はMiB)で、上限に達したときの動作を max_log_file_action で指定します。値には IGNORE、SYSLOG、EXEC、SUSPEND、ROTATE、KEEP_LOGS があります。ROTATE は num_logs で指定した世代数を超えると最も古いログを上書きしますが、KEEP_LOGS は num_logs の制限を使わずにローテーションを続けるため、監査ログが消えません。そのぶんディスクを使い続けるので、space_left_action や admin_space_left_action による容量不足時の動作もあわせて設計する必要があります。
選択肢ごとの解説
- A誤り。ROTATE はローテーションを行いますが、num_logs で指定した世代数を超えると古いログが上書きされて失われます。
- B誤り。SUSPEND は上限に達した時点でauditdがログファイルへの書き込みを停止する設定で、以降の監査イベントが記録されなくなります。
- C正しい。KEEP_LOGS は ROTATE と同様にローテーションしますが num_logs の制限を使わないため、古いログが削除・上書きされません。
- D誤り。SYSLOG は上限に達したことをsyslogへ警告として出力するだけで、ローテーションは行いません。