Categories: linux

auditctl -lコマンドの使い方徹底解説!Linuxの監査ルールを確認する方法

Linuxのセキュリティ対策の一環として、システム監査は非常に重要です。特に機密性の高い環境では、どのファイルがアクセスされたのか、どんな操作が行われたのかを記録する「監査ログ」は、問題発生時の原因追跡に欠かせません。
Linuxではauditdというデーモンが監査機能を担っており、監査ルールの管理にはauditctlコマンドが使われます。この記事では、その中でも監査ルールの確認に使う「auditctl -l」について詳しく解説します。初学者の方にもわかりやすく、実行例や注意点も交えて紹介していきます。


auditctlとは?Linux監査の要

auditctlは、Linuxの監査システム「auditd」で使用されるコマンドラインツールです。
auditdはカーネルレベルでの操作を監視し、ログとして記録する機能を提供します。auditctlはその監査ルールの追加、削除、確認などを行うためのツールで、主に以下のような操作が可能です。

  • 監査ルールの追加(auditctl -aauditctl -wなど)
  • 監査ルールの削除(auditctl -d
  • 監査ステータスの確認(auditctl -s
  • 監査ルールの表示(auditctl -l

このうち-lは、現在設定されている監査ルールを一覧で表示するオプションで、運用中のサーバのセキュリティ設定状況を把握するのに役立ちます。


auditctl -lの基本的な使い方

監査ルールを表示するための基本的な構文は以下のとおりです。

sudo auditctl -l

このコマンドを実行することで、現在カーネルにロードされている監査ルールの一覧が表示されます。出力されるルールは、auditctl -aauditctl -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の活用場面

1. セキュリティ点検や構成監査時

監査ルールが正しく設定されているかどうかを確認することで、意図しないファイルアクセスの検出や、ログ取得漏れを防げます。特に外部からの指摘に備える「構成監査」では、auditctl -lでルールが意図通りかを目視で確認することが推奨されます。

2. トラブル調査の初動確認

何らかの異常が発生した際、監査ログが取得されているかの確認は非常に重要です。ログがない場合、そもそも監査ルールが設定されていなかった可能性もあるため、auditctl -lで即座にチェックすることができます。


永続化の注意点:auditctlで設定したルールは再起動で消える

重要な注意点として、auditctlで設定した監査ルールは、Linuxの再起動後に失われてしまいます。
そのため、設定を永続化させたい場合は、/etc/audit/rules.d/配下にルールファイルを作成する必要があります。

永続化の手順

  1. ルールをファイルとして保存
    例:/etc/audit/rules.d/watch-passwd.rules
-w /etc/passwd -p wa -k passwd_watch
  1. ルールを適用するには以下を実行
sudo augenrules --load
  1. 監査ルールを確認
sudo auditctl -l

このように設定すれば、再起動後も監査ルールが維持されます。


auditctl -lで確認したルールをausearchで検索する

実際に監査ルールで設定されたイベントが発生した場合、そのログはausearchコマンドで確認できます。

例えば以下のように検索可能です:

sudo ausearch -k passwd_watch

-kで指定したキーワードに該当するイベントログが表示され、auditctl -lで確認したルールとの対応がすぐにわかります。


まとめ:auditctl -lはセキュリティチェックの第一歩

auditctl -lコマンドは、Linuxシステムの監査ルールを素早く確認できる便利なツールです。監査ログを活用したセキュリティ運用や問題調査を行ううえで、ルールの可視化は欠かせません。

  • 現在のルールを確認したいときはauditctl -l
  • 出力された内容を読み解くには、-w, -p, -kの意味を把握
  • 永続化には/etc/audit/rules.d/にルールを保存
  • ausearchと組み合わせて、実際のログを確認可能

日々の運用管理やセキュリティ強化に、ぜひauditctl -lを活用してください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。