Сервер помнит всё: аудит действий в Linux
Введение
Представьте ситуацию. На сервере работало несколько администраторов. Утром оказывается, что:
-
пропал важный файл;
-
изменился конфигурационный файл;
-
перестал запускаться сервис;
-
появились неизвестные пользователи;
-
кто-то выполнил опасную команду.
Первый вопрос, который возникает:
Кто это сделал?
К сожалению, стандартные журналы Linux далеко не всегда позволяют быстро найти ответ. Поэтому на серверах часто используют аудит действий пользователей. Это позволяет фиксировать:
-
выполняемые команды;
-
время запуска;
-
пользователя;
-
изменения файлов;
-
попытки повышения привилегий;
-
использование sudo.
В этой статье рассмотрим два популярных инструмента:
-
auditd - встроенная система аудита Linux;
-
tlog - запись пользовательских терминальных сессий.
Зачем нужен аудит действий пользователей
Чаще всего аудит используется для:
-
расследования инцидентов;
-
контроля работы администраторов;
-
поиска причин ошибок;
-
выполнения требований информационной безопасности;
-
анализа подозрительной активности.
Например, если кто-то выполнил:
rm -rf /var/www/site
или:
systemctl stop nginx
вы сможете узнать:
-
кто это сделал;
-
когда это произошло;
-
с какого пользователя была выполнена команда.
Работа с auditd
Что такое auditd
auditd - это встроенная подсистема аудита Linux. Она работает на уровне ядра и способна регистрировать:
-
запуск программ;
-
изменения файлов;
-
использование системных вызовов;
-
попытки доступа к файлам;
-
изменение учётных записей;
-
использование sudo.
Фактически auditd может превратить Linux в систему "видеонаблюдения" за действиями пользователей.
Установка auditd
Debian и Ubuntu:
apt update
apt install auditd audispd-plugins
RHEL:
yum install audit
Проверяем состояние:
systemctl status auditd
Запуск:
systemctl enable --now auditd

