Журнал усієї кореневої активності з оригінальним ім'ям користувача, котре / sudoed до root


11

Що є кращим методом для відстеження того, хто виконує функції root у журналах, коли вхід у систему root відключений (SSH), але користувачі можуть запускати sudo -iабо su -отримувати root? Я також хотів би дотримуватися кожної команди з оригінальним ім'ям користувача. RHEL 6 або будь-який rsyslog Linux тощо.

Відповіді:


7

Здається, найбільш перевірені методи перевірки:

http://blog.ptsecurity.com/2010/11/requirement-10-track-and-monitor-all.html

Аудит в основному перехоплює всі системні виклики та перевіряє їх на відповідність набору правил. Отже, у вашому /etc/audit/audit.rulesфайлі ви матимете щось на кшталт наступного:

# This file contains the auditctl rules that are loaded
# whenever the audit daemon is started via the initscripts.
# The rules are simply the parameters that would be passed
# to auditctl.

# First rule - delete all
-D

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320

# Feel free to add below this line. See auditctl man page
-a always,exit -F euid=0 -F perm=wxa -k ROOT_ACTION

Останнє правило - єдине правило, яке не використовується за замовчуванням.

Основний недолік такого підходу (і чому я знайшов це питання під час пошуку альтернатив) полягає в тому, що сировинні файли журналів є доволі виразними і корисні лише після запуску програми запитів у сирому файлі журналу: ausearch

Приклад запиту до цього правила:

ausearch -ts today -k ROOT_ACTION -f audit_me | aureport -i -f

Рішенням здорового глузду, ймовірно, буде створення крону, який запитає ваші необроблені журнали аудиту, а потім відправить їх у ваше рішення для реєстрації.


Якщо ви шукаєте щось, що замінює аудиторію, і відповідає кореляції вихідних подій для вас, перегляньте: github.com/slackhq/go-audit
freb

3

У дистрибутивах Red Hat ти зазвичай використовуєш /var/log/secureжурнал, щоб визначити, хто входив або використовував sudoсистему Fedora / CentOS / RHEL.

Приклади

приклад судо
$ sudo -Es

результат журналу:

1 вересня 19:32:51 greeneggs sudo: saml: TTY = pts / 2; PWD = / home / saml; USER = корінь; КОМАНДА = / bin / bash

такий приклад
$ su -

результат журналу:

1 вересня 19:34:49 greeneggs su: pam_unix (su-l: сесія): сеанс відкритий для root користувача користувачем saml (uid = 1000)


3

Якщо у вас є співпрацюючі користувачі, ви можете налаштувати rooth для запису всіх типів кореневих користувачів у syslog.

http://linux.die.net/man/1/rootsh

rooth rpms доступні в EPEL.

Версія sudo на RHEL6 також здатна реєструвати stdout у файл для кожного сеансу судо. Загляньте на сторінку чоловіка sudo_plugins.

Жоден із цих підходів не є повністю захищеним від куль.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.