以下のサイトがすごくまとまっている。
第7章 システム監査 - Red Hat Customer Portal
Auditを使用することで、システム上のファイルやディレクトリの読込/書込情報を追跡し、監視ログを出力することができる。
またそれに付随するログ検索ツール(ausearch)とレポート出力ツール(aureport)を使用できる。
セキュアなシステムでは、このような原因究明につながる対策を行うことは非常に重要。
Audit以下のような用途で使用できる。
・ファイルアクセスの監視。ファイルやディレクトリがアクセス、修正、実行されたか、またファイル属性の変更も追跡可能
・システムコールの監視
・ユーザーが実行したコマンドの記録
・セキュリティイベントの記録(ex: 失敗したログイン試行)
インストール
$ sudo apt-get install auditd
設定
設定ファイルの場所は「/etc/audit/auditd.conf」
例)
# # This file controls the configuration of the audit daemon # log_file = /var/log/audit/audit.log log_format = RAW log_group = root priority_boost = 4 flush = INCREMENTAL freq = 20 num_logs = 10 disp_qos = lossy dispatcher = /sbin/audispd name_format = NONE ##name = hostname max_log_file = 30 max_log_file_action = ROTATE space_left = 75 space_left_action = SYSLOG action_mail_acct = root admin_space_left = 50 admin_space_left_action = SUSPEND disk_full_action = SUSPEND disk_error_action = SUSPEND ##tcp_listen_port = tcp_listen_queue = 5 tcp_max_per_addr = 1 ##tcp_client_ports = 1024-65535 tcp_client_max_idle = 0 enable_krb5 = no krb5_principal = auditd ##krb5_key_file = /etc/audit/audit.key
ルール定義
7.5. Audit ルールの定義 - Red Hat Customer Portal
ルール定義をすることで、どのイベントの記録をとるかを設定する。
ルール定義の方法はauditctlで動的に設定変更もできるが、
永続化するならルールファイルに記述する方が良い。
ルール定義ファイルの場所:「/etc/audit/audit.rules」
現在設定されているルールの確認
$ auditctl -l No rules
初期設定時は何もルールが設定されていないので、No rulesとなる。
ルールの書式は以下。
-w path_to_file -p permissions -k key_name
- w: 監視するファイルもしくはディレクトリを指定
- p: 監視アクション許可 r – 読込, w – 書込, x – 実行, a – ファイル属性の変更.
- k: ログ内でルールを識別するために割り当てる任意の文字列。監視ルールが提要されるとこの文字列がログ内に表示される。
設定例)/etc/passwd への書き込みアクセスと属性変更を passwd_changes というキーをログに記録する例
/etc/audit/audit.rules
-w /etc/passwd -p wa -k passwd_changes
設定後は、auditdの再起動
$ service auditd restart
再起動後、/etc/passwdファイルを編集すると、以下のようなログが/var/log/audit/audit.logが出力されていることがわかる。
type=CONFIG_CHANGE msg=audit(1479097266.018:224): auid=500 ses=2 op="updated_rules" path="/etc/passwd" key="passwd_changes" list=4 res=1 type=CONFIG_CHANGE msg=audit(1479097266.018:225): auid=500 ses=2 op="updated_rules" path="/etc/passwd" key="passwd_changes" list=4 res=1
設定例は「/usr/share/doc/auditd/examples」の場所にあるので参考にすると良いだろう。
自分の場合は、以下の4つの設定例があった。
・capp.rules.gz・・・Controlled Access Protection Profile (CAPP)
・lspp.rules.gz・・・Labeled Security Protection Profile (LSPP)
・nispom.rules.gz・・・NISPOM (National Industrial Security Program Operating Manual)
・stig.rules.gz・・・セキュリティ技術実装ガイド (STIG: Security Technical Implementation Guide)
ログ検索ツールの使い方
以下のサイトが詳しい。
7.7. Audit ログファイルの検索 - Red Hat Customer Portal
レポートツールの使い方
以下のサイトが詳しい。
7.8. Audit レポートの作成 - Red Hat Customer Portal
[参考]
第7章 システム監査 - Red Hat Customer Portal
How To Use the Linux Auditing System on CentOS 7 | DigitalOcean
auditについてインストールと簡単な利用方法のメモ。 - Qiita
auditdでLinuxのファイル改竄検知を行う - Qiita
Learn Linux System Auditing with Auditd Tool on CentOS/RHEL