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 マニュアル ページの構文は次のとおりですが、これは実際にはドキュメント上の間違いです。この形式を使用すると、実行するプログラムは内部オプションの 1 つを使用していると想定するため、エラーが発生するか、オプションで有効になっているデフォルトのアクションが実行されます。
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
それでおしまい!この方法では、autrace ツールを使用して特定の Linux プロセスをトレースおよび監査できます。詳細については、マニュアル ページを確認してください。
次の関連する便利なガイドも読むことができます。
- Sysdig – Linux 用の強力なシステム監視およびトラブルシューティング ツール
- BCC – Linux パフォーマンス監視、ネットワーキングなどのための動的トレース ツール
- Linux プロセス監視に役立つ 30 の「ps コマンド」の例
- CPUTool – Linux のあらゆるプロセスの CPU 使用率を制限および制御
- Linux での最高のメモリと CPU 使用率による上位実行プロセスの検索
それは今のところすべてです!この記事について質問したり、下のコメントから意見を共有したりできます。次回の記事では、CentOS/RHEL で指定されたユーザーの TTY 入力を監査するために PAM (Pluggable Authentication Module) を構成する方法について説明します。