Назад | Перейти на главную страницу

Получение аудита для записи исходного пользователя

Этот вопрос связан с моим предыдущим вопросом: Регистрируйте все команды, выполняемые администраторами на производственных серверах

Политика компании заключается в том, что администраторы могут входить на серверы с помощью личного имени пользователя, а затем запускать 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.

В качестве примера, вот запись лота, которую я создал с помощью следующей методологии:

  1. Добавьте правило: -a always,exit -S sethostname -S setdomainname -k system-locale
  2. Войдите в систему с моей учетной записью и запустите корневую оболочку, выполнив su -
  3. Выполните команду: 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>

выдача всех команд, введенных пользователем, даже при выдаче себя за другую учетную запись.