Этот вопрос связан с моим предыдущим вопросом: Регистрируйте все команды, выполняемые администраторами на производственных серверах
Политика компании заключается в том, что администраторы могут входить на серверы с помощью личного имени пользователя, а затем запускать sudo -i
стать root. При беге sudo -i
, sudo создаст переменную окружения с именем SUDO_USER
, который содержит исходное имя пользователя.
Возможно ли иметь auditd
включать эту переменную в журналы для каждой команды? Или функциональный эквивалент.
Это текущий набор правил для auditd
:
# First rule - delete all
-D
# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320
# Log any command run on this system
#-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve
Информация, которую вы запрашиваете, к счастью, уже включена в журналы. Конкретное поле, которое вы хотите найти, это aud
. На странице руководства для auditctl
:
auid The original ID the user logged in with. Its an abbreviation of audit uid. Sometimes its referred to as loginuid. Either the user account text or number may be used.
В качестве примера, вот запись лота, которую я создал с помощью следующей методологии:
-a always,exit -S sethostname -S setdomainname -k system-locale
su -
hostname audit-test.home.private
type = SYSCALL msg = audit (1358306046.744: 260): arch = c000003e syscall = 170 success = yes exit = 0 a0 = 2025010 a1 = 17 a2 = 7 a3 = 18 items = 0 ppid = 23922 pid = 26742 auid = 1000 uid = 0 gid = 0 euid = 0 suid = 0 fsuid = 0 egid = 0 sgid = 0 fsgid = 0 tty = pts4 ses = 16 comm = "hostname" exe = "/ usr / bin / hostname" subj = unlimited_u: Unlimited_r: Unlimited_t : s0-s0: c0.c1023 key = "локаль системы"
Итак, хотя да, сообщение журнала довольно подробное, мы можем ясно видеть auid=1000
в сообщении журнала, которое соответствует uid моей учетной записи.
Дополнительные сведения о приведенном выше примере, а также краткое описание auditd см. В этом сообщении в блоге на сайте IT безопасность блогер сообщества (я), творчески названный Краткое введение в аудит.
В ausearch
Команда, упомянутая fuero, является частью набора приложений, используемых для поиска и создания отчетов по этим довольно подробным журналам.
Как указано Вот:
С помощью
session required pam_loginuid.so
во всех конфигурационных файлах PAM, связанных с логином (не для su и sudo), позволит auditd
зарегистрируйте uid вызывающего пользователя в поле auid
.
Вы можете искать auditd
журналы для этого идентификатора с
ausearch -ua <uid>
выдача всех команд, введенных пользователем, даже при выдаче себя за другую учетную запись.