手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 auditd の基本設定 – 監査ログと変更追跡の土台を作る

関連する記事

Ubuntu 26.04 でサーバーを運用する場合、障害ログだけでなく、誰がどの管理操作を行ったか、重要ファイルがいつ変更されたかを追えることが重要です。auditd は、カーネルの audit 機能を使って、システムイベントを監査ログとして記録します。

この記事では、auditd の導入、監査ルールの配置、auditctlausearchaureport による確認、sudo や SSH、重要ファイル変更の追跡をまとめます。

この記事で扱うこと
  • auditd のインストールと起動確認
  • 監査ルールの配置と読み込み
  • auditctlausearchaureport の基本
  • sudo、SSH、重要ファイル変更の追跡
  • ログ容量と再起動後の確認
対象 OSUbuntu 26.04 Server
パッケージauditdaudispd-plugins
サービスauditd.service
主なルール/etc/audit/rules.d/*.rules
主なログ/var/log/audit/audit.log

auditd で決めること

監査ログは、増やせばよいものではありません。何を追跡するか、ログ容量をどう扱うか、調査時にどのキーで検索するかを先に決めます。

  • sudo、SSH、重要設定ファイルなど追跡対象を決める
  • ルールには検索しやすい key を付ける
  • ログ容量とローテーションを確認する
  • 再起動後もルールが読み込まれることを確認する
  • 通常ログと監査ログの役割を分ける

auditd をインストールする

auditd と関連ツールをインストールし、サービス状態を確認します。

sudo apt update
sudo apt install -y auditd audispd-plugins
sudo systemctl enable --now auditd.service
systemctl status auditd.service --no-pager
sudo auditctl -s

監査ログを確認する

監査ログは通常 /var/log/audit/audit.log に出力されます。まずログの存在と、現在読み込まれているルールを確認します。

sudo ls -l /var/log/audit/
sudo tail -n 20 /var/log/audit/audit.log
sudo auditctl -l
sudo aureport --summary

基本ルールを配置する

重要ファイルと管理操作を追跡する基本ルールを配置します。ここでは sudoers、SSH 設定、passwd/group、shadow、sudo 実行を追跡対象にします。

sudo tee /etc/audit/rules.d/10-server-basic.rules >/dev/null <<'EOF'
-w /etc/sudoers -p wa -k sudoers_change
-w /etc/sudoers.d/ -p wa -k sudoers_change
-w /etc/ssh/sshd_config -p wa -k sshd_config_change
-w /etc/ssh/sshd_config.d/ -p wa -k sshd_config_change
-w /etc/passwd -p wa -k identity_change
-w /etc/group -p wa -k identity_change
-w /etc/shadow -p wa -k identity_change
-a always,exit -F arch=b64 -S execve -F euid=0 -k privileged_exec
EOF
sudo augenrules --load
sudo auditctl -l

検索キーで確認する

ルールに付けた key を使うと、監査ログから目的のイベントを検索しやすくなります。sudoers、SSH 設定、ユーザー情報、特権実行を分けて確認します。

sudo ausearch -k sudoers_change
sudo ausearch -k sshd_config_change
sudo ausearch -k identity_change
sudo ausearch -k privileged_exec
sudo aureport --key --summary

変更イベントを試す

ルールが機能しているかを確認するため、管理対象ファイルへの読み書きではなく、状態確認に近い操作から始めます。実際の変更を伴う検証は、検証環境で行います。

sudo visudo -c
sudo sshd -t
sudo ausearch -k sudoers_change -ts recent
sudo ausearch -k sshd_config_change -ts recent

ログ容量を確認する

監査ログは増え続けるため、ログ容量と停止時の挙動を確認します。厳格な環境では、監査ログが書けない状態をどう扱うかも運用設計に含めます。

sudo grep -E '^(max_log_file|num_logs|space_left|admin_space_left|disk_full_action|disk_error_action)' /etc/audit/auditd.conf
sudo du -sh /var/log/audit
sudo aureport --summary
sudo aureport --login --summary

再起動後に確認する

/etc/audit/rules.d/ に配置したルールは、再起動後にも読み込まれる必要があります。OS 再起動後は、サービス状態、ルール一覧、ログ出力を確認します。

systemctl status auditd.service --no-pager
sudo auditctl -s
sudo auditctl -l
sudo ausearch -k privileged_exec -ts boot

調査時に使うコマンド

監査ログを調べる時は、時刻、key、ユーザー、コマンドを組み合わせて絞り込みます。通常の journal と合わせて見ると、操作とサービス側の反応をつなげやすくなります。

sudo ausearch -ts today -k privileged_exec
sudo ausearch -ua myadmin -ts today
sudo aureport --user --summary
sudo aureport --executable --summary
journalctl --since today --no-pager

公開前の確認ポイント

  • auditd.service が起動している
  • auditctl -s で audit が有効である
  • auditctl -l で意図したルールが読み込まれている
  • ルールに検索用 key が付いている
  • ausearchaureport で検索できる
  • ログ容量とローテーションを確認している
  • 再起動後もルールが残ることを確認している

まとめ

Ubuntu 26.04 の auditd は、通常ログでは追いにくい管理操作や重要ファイル変更を監査ログとして残すための仕組みです。sudo、SSH、ユーザー情報、特権実行など、追跡対象を決めてからルールを作ると運用しやすくなります。

監査ログは記録するだけでは不十分です。auditctl でルールを確認し、ausearchaureport で検索できるところまで確認しておくと、障害時や変更調査で使えるログになります。

関連する記事
Ubuntu 26.04 auditd の基本設定 – 監査ログと変更追跡の土台を作る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る