CentOS / RHELで 'ausearch'ツールを使用して監査ログを問い合わせる方法


前回の記事で、auditdユーティリティを使用してRHELまたはCentOSシステムを監査する方法を説明しました。監査システム( auditd )は包括的なログ記録システムであり、そのためsyslogを使用しません。また、カーネル監査システムを管理し、ログファイル内の情報からレポートを検索して生成するためのツールセットも付属しています。

このチュートリアルでは、RHELとCentOSベースのLinuxディストリビューションの auditd ログファイルからデータを取得するための ausearch ツールの使用方法について説明します。

前述したように、監査システムにはユーザースペース監査デーモン( auditd )があり、事前に設定されたルールに基づいてカーネルとログファイルにエントリを生成します。

ausearch は、イベントとイベント識別子、キー識別子、CPUアーキテクチャ、コマンド名、ホスト名、グループ名、またはグループIDなどのさまざまな検索条件に基づいて監査デーモンログファイルを検索するための単純なコマンドラインツールです、syscall、メッセージなど。また、標準入力からの生データも受け入れます。

デフォルトでは、 ausearch /var/log/audit/audit.log ファイルを照会します。このファイルは他のテキストファイルと同じように表示できます。

# cat /var/log/audit/audit.log
OR
# cat /var/log/audit/audit.log | less

上のスクリーンショットから、ログファイルから大量のデータを見ることができますそれは興味のある特定の情報を得ることを難しくします。

そのため、次の構文を使用してより強力で効率的な方法で情報を検索できる ausearch が必要です。

# ausearch [options]

-p フラグはプロセスIDを渡すために使用されます。

# ausearch -p 2317

ここでは、特定のメッセージを識別するために -m オプションを、成功値を定義するために -sv を使う必要があります。

# ausearch -m USER_LOGIN -sv no 

-ua ユーザー名を渡すために使用されます。

# ausearch -ua tecmint
OR
# ausearch -ua tecmint -i	# enable interpreting of numeric entities into text.

特定のユーザーが特定の期間に実行したアクションを照会するには、次のように開始日時に -ts 、終了日時を指定する -te を使用します。実際の時間形式の代わりに、現在、最近、今日、昨日、今週、今週、今月、今年、およびチェックポイントなどの単語を使用できます。

# ausearch -ua tecmint -ts yesterday -te now -i 

システム上の特定のユーザーによるアクションの検索に関するその他の例。

# ausearch -ua 1000 -ts this-week -i
# ausearch -ua tecmint -m USER_LOGIN -sv no -i

ユーザーアカウント、グループ、およびロールに関連するすべてのシステム変更を確認したい場合。以下のコマンドのように、さまざまなカンマ区切りのメッセージタイプを指定します(カンマ区切りのリストに注意し、カンマと次の項目の間にスペースを入れないでください)。

# ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE  -i

/etc/passwd ユーザーアカウントデータベースへのアクセスまたは変更の試みを記録する以下の監査ルールを検討してください。

# auditctl -w /etc/passwd -p rwa -k passwd_changes

それでは、上記のファイルを編集用に開いて閉じてみましょう。

# vi /etc/passwd

これについてログエントリが記録されたことがわかっているからといって、次のようにtailコマンドを使用してログファイルの最後の部分を表示することができます。

# tail /var/log/audit/audit.log

最近他のイベントがいくつか記録されている場合、特定の情報を見つけるのはそれほど難しいでしょうが、 ausearch を使用すると、指定したキー値で -k フラグを渡すことができます。 /etc/passwd ファイルへのアクセスまたは変更に関連するイベントに関するすべてのログメッセージを表示する監査ルール。

これにより、監査ルールの定義に加えられた構成変更も表示されます。

# ausearch -k passwd_changes | less

詳細および使用方法については、ausearchのmanページを参照してください。

# man ausearch

Linuxシステムの監査とログ管理の詳細については、以下の関連記事を読んでください。

  1. Petiti – An Open Source Log Analysis Tool for Linux SysAdmins
  2. Monitor Server Logs in Real-Time with “Log.io” Tool on RHEL/CentOS 7/6
  3. How to Setup and Manage Log Rotation Using Logrotate in Linux
  4. lnav – Watch and Analyze Apache Logs from a Linux Terminal

このチュートリアルでは、RHELとCentOSの監査ログファイルからデータを取得するための ausearch の使い方を説明しました。質問や意見がありましたら、コメント欄をご利用ください。

次回の記事では、RHEL/CentOS/Fedoraの aureport を使用して監査ログファイルからレポートを作成する方法について説明します。