1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

auditdでの監査情報検索(CentOS7)

Posted at

環境

# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

1. auditd.conf の設定内容

/etc/audit/auditd.confにauditdの設定内容があります。

/etc/audit/auditd.conf
#
# This file controls the configuration of the audit daemon
#

local_events = yes
write_logs = yes
log_file = /var/log/audit/audit.log
log_group = root
log_format = RAW
flush = INCREMENTAL_ASYNC
freq = 50
max_log_file = 8
num_logs = 5
priority_boost = 4
disp_qos = lossy
dispatcher = /sbin/audispd
name_format = NONE
##name = mydomain
max_log_file_action = ROTATE
space_left = 75
space_left_action = SYSLOG
verify_email = yes
action_mail_acct = root
admin_space_left = 50
admin_space_left_action = SUSPEND
disk_full_action = SUSPEND
disk_error_action = SUSPEND
use_libwrap = yes
##tcp_listen_port = 60
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
distribute_network = no
設定 内容
local_events 監査イベントの記録(yes:記録、no:記録しない)
write_logs イベントのログファイル書き込み(yes:記録、no:記録しない)
log_file ログファイル出力場所
log_group ログファイル書き込み権限
log_format ログファイル形式(raw:出力,nolog:破棄)
flush ディスク書き込み形式(none:ディスク書込無し,incremantal:freq頻度で書込(同期)、incremantal_async:freq頻度で書込(非同期)、data:ディスク書込常時同期、sysc:完全同期)
freq Flush行頻度 但しflush = INCREMENTAL_ASYNCの場合のみ
max_log_file 最大容量(MB)
num_logs ファイルローテート保持数(2未満でローテート無し) 但しmax_log_file_action = ROTATEの場合のみ
priority_boost プロセス処理優先度(4:デフォルト、0:変更なし)
disp_qos 監査イベントキューの超過時処理(lossy:監査イベント破棄、lossless:キュー回復まで待機)
dispatcher 監査用プロセスの場所、アプリケーションに標準入力を渡す動作を行う
name_format コンピュータ名の記入方法(none:記入無し、hostname:gethostnameコマンドに同じ、fqd:名前解決によるFQDN、numeric:IPアドレス、user:nameオプションと同じ値)
name name_formatに使用する値 但しname_format = USERの場合のみ
max_log_file_action 最大容量到達時のアクションを指定
space_left ログ出力用のディスク空き容量の定義(MB or %)
space_left_action ログ出力用のディスク空き容量不足時のアクションを指定(オプションは別表)
verify_email 通報先メールアドレスの検証を行う(yes:検証する、no:検証しない) 但しaction_mail_acctパラメータの前に記入する
action_mail_acct 通報先メールアドレス
admin_space_left システム管理用のディスク容量空き容量の定義(MB or %)
admin_space_left_action システム管理用のディスク容量空き容量の不足時のアクションを指定(オプションは別表)
disk_full_action ディスクフル発生時のアクションを指定(オプションは別表)
disk_error_action ディスクエラー/ログ書き込みエラー発生時のアクションを指定(オプションは別表)
use_libwrap tcp_wrappersの使用有無(yes:使用、no:不使用)
##tcp_listen_port リモートからの監査に使用するTCPポート
tcp_listen_queue リモートからの監査に使用するキュー数
tcp_max_per_addr リモートからの監査の同時接続数
tcp_client_ports リモートからの監査に使用するクライアントTCPポート
tcp_client_max_idle リモートからの監査における通信アイドル時間(0で無監視)
enable_krb5 (非推奨)kerberos認証を有効にする
krb5_principal プリンシパル(監査主体)のチェック方法を指定
krb5_key_file プリンシパル(監査主体)のキーの場所を指定 但しkrb5_principal = auditdの場合のみ
distribute_network ネットワーク発信イベントの記録(yes:記録、no:記録しない)

アクションは以下から指定します。
ignore:動作無し
syslog:通報
email:SYSLOG及びMAIL通報
suspend:監査ログ書込中止
single:シングルユーザモード発動
halt:システム停止

2. ausearchでの検索

ausearchコマンドを利用することでauditdの内容を可読できるようになります。

オプション 効果
-i、--interpret テキスト変換
-m , --message [イベント] イベントタイプを指定
-ts , --start [時刻] イベント開始時を指定
-te , --end [時刻] イベント終了時を指定
--session [セッションID] ログインセッションIDを指定
-sv、--success [yes/no] イベントの成功/失敗を指定
-ua , --uid-all [ユーザ名] ユーザ名を指定
-ui、--uid [ユーザID] ユーザIDを指定
-ga , --gid-al [グループ名] グループ名を指定
-ga , --gid-al [グループID] グループIDを指定
-w , --word [テキスト] イベント内の任意テキストを指定
-v, --version バージョンを表示

時間は以下でも指定可能です。
nowrecentthis-hourboottodayyesterdaythis-weekweek-agothis-monththis-year
recentは10分間



イベントタイプ 内容
SERVICE_START サービスの開始時にトリガーされます。
SERVICE_STOP サービスが停止したときにトリガーされます。
SYSTEM_BOOT システムの起動時にトリガーされます。
LOGIN システムログイン時にトリガーされます。
USER_LOGIN ユーザーのログイン時にトリガーされます。
USER_LOGOUT ユーザーがログアウトするときにトリガーされます。



2.1 今年以降のシステム起動を表示

# ausearch -i -m SYSTEM_BOOT -ts "this-year"

----
type=SYSTEM_BOOT msg=audit(2024年09月24日 13:17:57.930:7) : pid=727 uid=root auid=unset ses=unset msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success'
----
type=SYSTEM_BOOT msg=audit(2024年10月03日 22:01:14.866:7) : pid=729 uid=root auid=unset ses=unset msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success'
----
type=SYSTEM_BOOT msg=audit(2024年10月07日 08:50:17.668:7) : pid=728 uid=root auid=unset ses=unset msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success'
# ausearch -i -m SYSTEM_BOOT -ts "this-year" | cut -f 1-3 -d " " | grep -v "\-\-\-\-"

type=SYSTEM_BOOT msg=audit(2024年09月24日 13:17:57.930:7)
type=SYSTEM_BOOT msg=audit(2024年10月03日 22:01:14.866:7)
type=SYSTEM_BOOT msg=audit(2024年10月07日 08:50:17.668:7)

2.2 今日以降のシステムログインイベントを表示

# ausearch -i -m LOGIN -ts "today"

----
type=LOGIN msg=audit(2024年11月04日 21:06:42.157:647) : pid=6660 uid=root old-auid=unset auid=root tty=(none) old-ses=4294967295 ses=63 res=yes
----
type=LOGIN msg=audit(2024年11月04日 22:01:01.467:657) : pid=6739 uid=root old-auid=unset auid=root tty=(none) old-ses=4294967295 ses=64 res=yes
----
type=LOGIN msg=audit(2024年11月04日 22:30:41.438:681) : pid=6778 uid=root old-auid=unset auid=user01 tty=(none) old-ses=4294967295 ses=65 res=yes
# ausearch -i -m LOGIN -ts "today" | cut -f 1-3,6,8 -d " " |grep -v "\-\-\-\-"

type=LOGIN msg=audit(2024年11月04日 21:06:42.157:647) uid=root auid=root
type=LOGIN msg=audit(2024年11月04日 22:01:01.467:657) uid=root auid=root
type=LOGIN msg=audit(2024年11月04日 22:30:41.438:681) uid=root auid=user01

2.3 指定時間のユーザログインイベントを表示

# ausearch -i -m USER_LOGIN -ua user01 -ts "2024年11月04日" "01:00" -te "2024年11月05日" "01:00"

----
type=USER_LOGIN msg=audit(2024年11月04日 22:30:41.517:687) : pid=6778 uid=root auid=user01 ses=65 msg='op=login id=user01 exe=/usr/sbin/sshd hostname=192.168.142.1 addr=192.168.142.1 terminal=/dev/pts/1 res=success'
----
type=USER_LOGIN msg=audit(2024年11月04日 22:44:30.806:721) : pid=6854 uid=root auid=user01 ses=66 msg='op=login id=user01 exe=/usr/sbin/sshd hostname=192.168.142.1 addr=192.168.142.1 terminal=/dev/pts/1 res=success'
----
type=USER_LOGIN msg=audit(2024年11月04日 22:45:00.838:749) : pid=6896 uid=root auid=user01 ses=67 msg='op=login id=user01 exe=/usr/sbin/sshd hostname=192.168.142.1 addr=192.168.142.1 terminal=/dev/pts/1 res=success'
# ausearch -i -m USER_LOGIN -ua user01 -ts "2024年11月04日" "01:00" -te "2024年11月05日" "01:00" | cut -f 1-3,7,13 -d " " | grep -v "\-\-\-\-"

type=USER_LOGIN msg=audit(2024年11月04日 22:30:41.517:687) auid=user01 addr=192.168.142.1
type=USER_LOGIN msg=audit(2024年11月04日 22:44:30.806:721) auid=user01 addr=192.168.142.1
type=USER_LOGIN msg=audit(2024年11月04日 22:45:00.838:749) auid=user01 addr=192.168.142.1

2.4 プロセスchronydの起動イベントを表示

# ausearch -i -m SERVICE_START | grep "chronyd"

type=SERVICE_START msg=audit(2024年09月24日 13:17:58.224:17) : pid=1 uid=root auid=unset ses=unset msg='unit=chronyd comm=systemd exe=/usr/lib/systemd/systemd hostname=? addr=? terminal=? res=success'
type=SERVICE_START msg=audit(2024年10月03日 22:01:15.279:26) : pid=1 uid=root auid=unset ses=unset msg='unit=chronyd comm=systemd exe=/usr/lib/systemd/systemd hostname=? addr=? terminal=? res=success'
type=SERVICE_START msg=audit(2024年10月07日 08:50:17.905:17) : pid=1 uid=root auid=unset ses=unset msg='unit=chronyd comm=systemd exe=/usr/lib/systemd/systemd hostname=? addr=? terminal=? res=success'

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?