ユーザーを削除しようとしたときに、auditdによって生成されたログのスナップショットを以下に示します。ログにホスト名とアドレスがありません:
type=DEL_USER msg=audit(1404811391.243:4407153): user pid=5772 uid=0 auid=513 ses=185589 msg='op=deleting user entries id=532 exe="/usr/sbin/userdel" hostname=? addr=? terminal=pts/1 res=success'
私の監査人は、そのような管理アクティビティが実行されたときに、ホスト名とアドレスがログに記録されることを望んでいます。また、日付/タイムスタンプの形式が適切ではありません。提案してください。
Auditd.confファイルを貼り付けています
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 = 4
disp_qos = lossy
dispatcher = /sbin/audispd
name_format = none
##name = mydomain
max_log_file = 5
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
これは、日時形式変換のクイックフィックスです http://www.linuxquestions.org/questions/linux-software-2/how-can-i-read-the-audit-time-stamp-msg% 3Daudit-1213186256-105-20663-a-648547
そのままの名前引数を使用する要因であるホスト名の欠如について(適切に構成されていない場合のデフォルトはnone)-参照 http://man7.org/linux/man-pages/man5/auditd .conf.5.html これをname_format=hostname
に置き換えると、この問題は解消されます。
おそらくもっと完全な答え:
これらの監査メッセージのホスト名とaddrの値は、さまざまなshadow-utilsパッケージ(userdelを含む)がlibaudit audit_log_user_message()またはaudit_log_acct_message()ルーチンを呼び出すときに設定されます。
ソース(shadow-4.1.4.2)から、shadow-utilのログインユーティリティがホスト名(およびtty)を設定する唯一のユーティリティであるように見えます。他のすべてのユーティリティ(userdelを含む)は、ホスト名、addr、ttyをNULLに設定します。
詳細については、アドレスが指定されていないホスト名が指定されている場合、libauditルーチンはホストのアドレス(addr)の解決を試み、関連する端末(tty)の解決も試みます。端末の解決が成功したことがわかります。
提案されているように、/ etc/audit/auditd.confのname_formatを「hostname」または「fqdn」のいずれかに設定すると、ノードパラメータがすべての監査ログに表示されます。したがって、完全修飾ドメイン名が「hosta.subdom.maindom」であり、name_format = 'fqdn'と設定すると、上記の監査メッセージが発生すると、次のように表示されます。
node=hosta.subdom.maindom type=DEL_USER msg=audit(1404811391.243:4407153): user pid=5772 uid=0 auid=513 ses=185589 msg='op=deleting user entries id=532 exe="/usr/sbin/userdel" hostname=? addr=? terminal=pts/1 res=success'
これから、このログが記録されたfqdnが得られ、addrを推定できます。
別の可能な解決策は、auditdログを標準のsyslogロガーに転送することです。これを行うには、audispd syslogプラグインを構成できます。 debianマシンでは/etc/audispd/plugins.d/syslogの下にあるはずです
root @ debian:/ etc#cat /etc/audisp/plugins.d/syslog.conf #このファイルは、 #syslogプラグインの設定を制御します。それは単にイベントを受け取り、それらをsyslogに書き込みます。 #それらをsyslogに書き込みます。 type =組み込み args = LOG_INFO format = string