ウェブサイト検索

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


この記事はLinux監査に関する私たちの進行中のシリーズであり、最後の3つの記事では、Linuxシステム(CentOSおよびRHEL)の監査方法、ausearchを使用したauditdログのクエリ、およびaureportユーティリティを使用したレポートの生成について説明しました。

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

関連情報: シェルトレースを使用してシェルスクリプトのコマンドの実行を追跡する方法

オートレースとは何ですか?

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

autraceを使用するための構文は以下に示されており、1つのオプション-rのみを受け付け、これはプロセスのリソース使用量を評価するために必要なシステムコールに収集を制限します:

# autrace -r program program-args

注意: autraceのマニュアルページでは、以下の構文が示されていますが、これは実際には文書上の誤りです。この形式を使用すると、実行するプログラムはあなたがその内部オプションのいずれかを使用していると仮定し、エラーが発生するか、オプションによって有効にされたデフォルトアクションを実行することになります。

# autrace program -r program-args

監査ルールが存在する場合、autraceは次のエラーを表示します。

# autrace /usr/bin/df

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

# auditctl -D

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

# autrace /usr/bin/df -h

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

# ausearch -i -p 2678

オプションはどこですか?

  • -i は数値をテキストに解釈できるようにします.
  • -p は検索するプロセスIDを渡します。

トレース詳細に関するレポートを生成するには、以下のようにausearchとaureportのコマンドラインを構築することができます。

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

どこ :

  • --raw – ausearchに生の入力をaureportに渡すよう指示します。
  • -f – ファイルとaf_unixソケットについての報告を有効にします。
  • -i は数値をテキストに解釈することを許可します。

そして、下記のコマンドを使用することで、dfプロセスのリソース使用状況を分析するために必要なシステムコールに収集を制限しています。

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

先週1週間、プログラムの自動トレースを行ったと仮定すると、監査ログには多くの情報が記録されています。本日の記録のみのレポートを作成するには、-ts ausearchフラグを使用して検索の開始日時を指定します:

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

それです!この方法で特定のLinuxプロセスをautraceツールを使用して追跡および監査することができます。詳細についてはマニュアルページを確認してください。

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

  1. Sysdig - Linux用の強力なシステム監視およびトラブルシューティングツール
  2. BCC - Linuxパフォーマンスモニタリング、ネットワーキングなどのためのダイナミックトレースツール
  3. Linuxプロセス監視のための30の便利な「psコマンド」例
  4. CPUTool - Linuxにおける任意のプロセスのCPU利用率の制限と制御
  5. Linuxで最高のメモリとCPU使用率のトップ実行プロセスを見つける

今回はここまでです!この記事に関する質問や感想があれば、下のコメントからお知らせください。次の記事では、指定したユーザーのTTY入力の監査のためにPAM(プラガブル認証モジュール)を設定する方法について説明します。

関連記事: