CentOS / RHELで 'autrace'を使用してLinuxプロセスを監査する方法


この記事はLinux監査に関する私たちの継続的なシリーズです。最後の3つの記事では、Linuxシステム( CentOS RHEL )を監査する方法、ausearchを使って監査ログを問い合わせる、生成する方法を説明しました。 aureportユーティリティを使用してレポートします。

この記事では、 autrace ユーティリティを使用して特定のプロセスを監査する方法について説明します。ここでは、プロセスが行うシステム呼び出しを追跡することによってプロセスを分析します。

autrace は、 strace と同じように、終了するまでプログラムを実行するコマンドラインユーティリティです。プロセスを追跡するための監査ルールを追加し、監査情報を /var/www/audit/audit.log ファイルに保存します。これが機能するためには(つまり、選択したプログラムを実行する前に)、まず既存のすべての監査ルールを削除する必要があります。

autrace を使用するための構文を以下に示します。これは1つのオプション -r のみを受け付けます。

# autrace -r program program-args

# autrace program -r program-args

監査ルールがある場合は、 autrace に次のエラーが表示されます。

# autrace /usr/bin/df

まず、次のコマンドですべての監査済みルールを削除します。

# auditctl -D

次に、ターゲットプログラムで自動トレースを実行します。この例では、ファイルシステムの使用状況を示すdfコマンドの実行をトレースしています。

# autrace /usr/bin/df -h

上のスクリーンショットから、次のようにusearchユーティリティを使用して、監査ログファイルからトレースに関連するすべてのログエントリを見つけることができます。

# ausearch -i -p 2678

どこでオプション:

  • -i – enables interpreting of numeric values into text.
  • -p – passes the process ID to be searched.

トレースの詳細に関するレポートを生成するには、このように ausearch aureport のコマンドラインを作成します。

# ausearch -p 2678 --raw | aureport -i -f

どこで:

  • --raw – tells ausearch to deliver raw input to aureport.
  • -f – enables reporting about files and af_unix sockets.
  • -i – allows interpreting of numeric values into text.

そして以下のコマンドを使用して、我々は集められたシステムコールをdfプロセスのリソース使用量を分析するために必要とされるものに限定しています。

# autrace -r /usr/bin/df -h

あなたが過去1週間にプログラムをオートレースしたと仮定します。監査ログにダンプされている情報がたくさんあることを意味します。今日のレコードのみのレポートを作成するには、 -ts ausearchフラグを使用して検索の開始日時を指定します。

# ausearch -ts today -p 2678 --raw | aureport -i -f

それでおしまい!こうすれば、自動トレースツールを使用して特定のLinuxプロセスを追跡および監査できます。詳細については、manページを確認してください。

また、これらの関連する便利なガイドを読むこともできます。

  1. Sysdig – A Powerful System Monitoring and Troubleshooting Tool for Linux
  2. BCC – Dynamic Tracing Tools for Linux Performance Monitoring, Networking and More
  3. 30 Useful ‘ps Command’ Examples for Linux Process Monitoring
  4. CPUTool – Limit and Control CPU Utilization of Any Process in Linux
  5. Find Top Running Processes by Highest Memory and CPU Usage in Linux

それは今のところすべてです!あなたは下からのコメントを通してこの記事についての質問をするか、または意見を共有することができます。次回の記事では、特定のユーザーのCentOS/RHELに対するTTY入力の監査用にPAM(Pluggable Authentication Module)を設定する方法について説明します。