概要
auditctlは、Linux監査システムのルールを動的に管理します。これらのルールはカーネルレベルで定義され、特定のファイルアクセス、システムコール、ユーザーアクティビティなど、さまざまなイベントを記録するように設定できます。監査ログは主に/var/log/audit/audit.logファイルに保存されます。
主な機能
- 監査ルールの追加と削除
- 現在アクティブな監査ルールのリスト表示
- ファイルおよびディレクトリへのアクセス監視
- 特定のシステムコールの監視
- ユーザーおよびグループベースの監査ルールの設定
インストール
auditctlは、「audit」または「auditd」パッケージの一部として提供されます。ほとんどのLinuxディストリビューションではデフォルトでインストールされていないため、次のコマンドを使用してインストールできます。
Debian/Ubuntu
sudo apt update
sudo apt install auditd
DebianまたはUbuntuベースのシステムでauditctlをインストールします。
RHEL/CentOS/Fedora
sudo yum install audit
# または
sudo dnf install audit
RHEL、CentOS、またはFedoraベースのシステムでauditctlをインストールします。
インストール後、auditdサービスを開始および有効化する必要があります: `sudo systemctl enable auditd --now`
主なオプション
auditctlコマンドは、さまざまなオプションを使用して監査ルールを定義および管理します。
ルール管理
ルール定義
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`auditctl` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
auditctlを使用して監査ルールを設定するさまざまな例です。
現在の全監査ルールの表示
sudo auditctl -l
現在カーネルにロードされているすべての監査ルールを確認します。
/etc/passwd ファイルの変更監視
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
/etc/passwd ファイルに対するすべての書き込み(w)および属性変更(a)アクセスを監視し、「passwd_changes」キーを割り当てます。
/etc/shadow ファイルの読み取り試行監視
sudo auditctl -w /etc/shadow -p r -k shadow_read
/etc/shadow ファイルに対する読み取り(r)試行を監視し、「shadow_read」キーを割り当てます。
/var/log ディレクトリ内のファイル作成/削除監視
sudo auditctl -a always,exit -F dir=/var/log -F perm=wa -S creat,unlink -k log_dir_changes
/var/log ディレクトリ内でファイル作成(creat)および削除(unlink)システムコールを監視します。「log_dir_changes」キーを割り当てます。
特定のユーザー(UID)によるファイル削除試行監視
sudo auditctl -a always,exit -F arch=b64 -S unlink -F auid=1000 -k user_file_delete
UID 1000 のユーザーがファイルを削除(unlink)するシステムコールを監視します。64ビットシステムアーキテクチャを指定します。
全監査ルールの削除
sudo auditctl -D
現在ロードされているすべての監査ルールを削除します。(注意:慎重に使用してください。)
特定のキーを持つルールの削除
sudo auditctl -w /etc/passwd -p wa -k passwd_changes -d
「passwd_changes」キーを持つルールを削除します。ルールを追加したときと同じオプションを使用する必要があります。
ヒントと注意点
auditctlの使用に関する役立つヒントと注意すべき点です。
ルールの永続化
auditctlで追加されたルールは、システム再起動時に失われます。ルールを永続化するには、/etc/audit/rules.d/audit.rules ファイルにルールを追加し、「augenrules --load」または「systemctl restart auditd」コマンドで適用する必要があります。
- ルールファイル: /etc/audit/rules.d/audit.rules
- ルール適用: sudo augenrules --load
パフォーマンスへの影響
あまりにも多くの監査ルールを設定したり、広範囲なディレクトリを監視したりすると、システムパフォーマンスに影響を与える可能性があります。必要な最小限のルールのみを設定し、重要なパスに集中することをお勧めします。
ログファイルの確認
監査イベントは/var/log/audit/audit.logファイルに記録されます。このログを確認するには、ausearchおよびaureportコマンドを使用するのが効率的です。
アーキテクチャ指定 (-F arch=b64/b32)
システムコールを監視する際、64ビットシステムでは「-F arch=b64」を、32ビットシステムでは「-F arch=b32」を明示的に指定することをお勧めします。これは、システムコール番号がアーキテクチャごとに異なる場合があるためです。