Linuxのセキュリティ対策の一環として、システム監査は非常に重要です。特に機密性の高い環境では、どのファイルがアクセスされたのか、どんな操作が行われたのかを記録する「監査ログ」は、問題発生時の原因追跡に欠かせません。
Linuxではauditd
というデーモンが監査機能を担っており、監査ルールの管理にはauditctl
コマンドが使われます。この記事では、その中でも監査ルールの確認に使う「auditctl -l
」について詳しく解説します。初学者の方にもわかりやすく、実行例や注意点も交えて紹介していきます。
auditctl
は、Linuxの監査システム「auditd」で使用されるコマンドラインツールです。
auditdはカーネルレベルでの操作を監視し、ログとして記録する機能を提供します。auditctl
はその監査ルールの追加、削除、確認などを行うためのツールで、主に以下のような操作が可能です。
auditctl -a
、auditctl -w
など)auditctl -d
)auditctl -s
)auditctl -l
)このうち-l
は、現在設定されている監査ルールを一覧で表示するオプションで、運用中のサーバのセキュリティ設定状況を把握するのに役立ちます。
監査ルールを表示するための基本的な構文は以下のとおりです。
sudo auditctl -l
このコマンドを実行することで、現在カーネルにロードされている監査ルールの一覧が表示されます。出力されるルールは、auditctl -a
やauditctl -w
で追加されたものです。
$ sudo auditctl -l
-w /etc/passwd -p wa -k passwd_watch
-w /etc/shadow -p wa -k shadow_watch
この出力結果では、/etc/passwd
と/etc/shadow
という重要ファイルに対して、書き込み(w)および属性変更(a)が監査対象となっていることがわかります。-k
で指定されたキーワードは、後でログを検索する際に便利です。
auditctl -l の出力は、一見するとわかりづらいかもしれません。ここでは各オプションの意味を解説します。
-w
: ウォッチ対象のファイルやディレクトリを指定-p
: 監視するパーミッション(r=read, w=write, x=execute, a=attribute change)-k
: 任意のキー。ログ検索時に使用可能(ausearchコマンドと連携)例えば以下のルール:
-w /var/log/secure -p wa -k log_watch
は、/var/log/secure
に対して書き込みや属性変更が発生したときに、監査ログに記録するルールです。log_watch
というキーワードで後からausearchでログを簡単に検索できます。
監査ルールが正しく設定されているかどうかを確認することで、意図しないファイルアクセスの検出や、ログ取得漏れを防げます。特に外部からの指摘に備える「構成監査」では、auditctl -l
でルールが意図通りかを目視で確認することが推奨されます。
何らかの異常が発生した際、監査ログが取得されているかの確認は非常に重要です。ログがない場合、そもそも監査ルールが設定されていなかった可能性もあるため、auditctl -l
で即座にチェックすることができます。
重要な注意点として、auditctl
で設定した監査ルールは、Linuxの再起動後に失われてしまいます。
そのため、設定を永続化させたい場合は、/etc/audit/rules.d/
配下にルールファイルを作成する必要があります。
/etc/audit/rules.d/watch-passwd.rules
-w /etc/passwd -p wa -k passwd_watch
sudo augenrules --load
sudo auditctl -l
このように設定すれば、再起動後も監査ルールが維持されます。
実際に監査ルールで設定されたイベントが発生した場合、そのログはausearch
コマンドで確認できます。
例えば以下のように検索可能です:
sudo ausearch -k passwd_watch
-k
で指定したキーワードに該当するイベントログが表示され、auditctl -l
で確認したルールとの対応がすぐにわかります。
auditctl -l
コマンドは、Linuxシステムの監査ルールを素早く確認できる便利なツールです。監査ログを活用したセキュリティ運用や問題調査を行ううえで、ルールの可視化は欠かせません。
auditctl -l
-w
, -p
, -k
の意味を把握/etc/audit/rules.d/
にルールを保存ausearch
と組み合わせて、実際のログを確認可能日々の運用管理やセキュリティ強化に、ぜひauditctl -l
を活用してください。