CentOS/RHEL で「ausearch」ツールを使用して監査ログをクエリする方法
前回の記事では、auditd ユーティリティを使用して RHEL または CentOS システムを監査する方法を説明しました。監査システム (auditd) は包括的なログ システムであり、そのために syslog は使用しません。また、カーネル監査システムを管理し、ログ ファイル内の情報を検索してレポートを作成するためのツールセットも付属しています。
このチュートリアルでは、ausearch ツールを使用して、RHEL および CentOS ベースの Linux ディストリビューション上のauditd ログ ファイルからデータを取得する方法を説明します。
こちらもお読みください: Linux 用の 4 つの優れたオープンソース ログ監視および管理ツール
前述したように、監査システムにはユーザースペース監査デーモン (auditd) があり、事前設定されたルールに基づいてカーネルとセキュリティ関連の情報を収集します。ログ ファイルにエントリを生成します。
オーサーチとは何ですか?
ausearch は、イベントや、イベント識別子、キー識別子、CPU アーキテクチャ、コマンド名、ホスト名、グループ名、グループ ID などのさまざまな検索基準に基づいて監査デーモン ログ ファイルを検索するために使用されるシンプルなコマンド ライン ツールです。 、システムコール、メッセージなど。標準入力からの生データも受け入れます。
デフォルトでは、ausearch は /var/log/audit/audit.log ファイルをクエリします。このファイルは他のテキスト ファイルと同様に表示できます。
cat /var/log/audit/audit.log
OR
cat /var/log/audit/audit.log | less
上のスクリーンショットから、ログ ファイルから大量のデータが得られ、関心のある特定の情報を取得することが困難であることがわかります。
したがって、次の構文を使用して、より強力かつ効率的な方法で情報を検索できるausearch が必要です。
ausearch [options]
Auditd ログ ファイルで実行中のプロセス ログを確認する
-p
フラグは、プロセス ID を渡すために使用されます。
ausearch -p 2317
Auditd ログ ファイルで失敗したログイン試行を確認する
ここでは、-m
オプションを使用して特定のメッセージを識別し、-sv
オプションを使用して成功値を定義する必要があります。
ausearch -m USER_LOGIN -sv no
Auditd ログ ファイルでユーザー アクティビティを検索する
-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
Auditd ログでユーザー アカウント、グループ、ロールへの変更を見つける
ユーザーアカウント、グループ、ロールに関するすべてのシステム変更を確認したい場合。以下のコマンドのように、さまざまなカンマ区切りのメッセージ タイプを指定します (カンマ区切りのリストに注意し、カンマと次の項目の間にスペースを入れないでください)。
ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE -i
キー値を使用した Auditd ログ ファイルの検索
/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 ausearch
Linux システムの監査とログ管理の詳細については、次の関連記事を参照してください。
- Petiti – Linux システム管理者用のオープンソース ログ分析ツール
- RHEL/CentOS 7/6 上の「Log.io」ツールを使用してサーバーのログをリアルタイムで監視する
- Linux で Logrotate を使用してログ ローテーションを設定および管理する方法
- lnav – Linux ターミナルから Apache ログを監視および分析する
このチュートリアルでは、ausearch を使用して RHEL および CentOS 上の Auditd ログ ファイルからデータを取得する方法について説明しました。ご質問やご意見がございましたら、コメント欄を使用してご連絡ください。
次回の記事では、RHEL/CentOS/Fedora のaureportを使用して監査ログ ファイルからレポートを作成する方法について説明します。