Безопасность серверов

Аудит безопасности Linux: auditd, входы и контроль действий

Как настроить auditd и штатные журналы Linux для контроля входов, изменений файлов и привилегированных действий, а затем искать события.

16 минут
абстрактная иллюстрация журналов аудита Linux и контроля действий
Чтобы настроить проверяемый аудит Linux, включите и проверьте auditd, выберите события по рискам конкретного сервера, сохраните правила в постоянной конфигурации и заранее задайте правила хранения журналов. auditd дополняет журналы аутентификации, systemd-journald и логи приложений: для входа и последующих действий обычно нужно сопоставлять несколько источников. Начните с одного безопасного тестового файла, убедитесь, что событие находится по ключу, и только затем расширяйте набор правил.

Какие журналы нужны для аудита безопасности Linux

Linux Audit Framework получает от ядра структурированные события аудита по активным правилам. Служба auditd записывает их обычно в /var/log/audit/audit.log. Это источник для контроля доступа к выбранным файлам, системных вызовов и запусков процессов, но не универсальная запись всего, что делал администратор.

Источники образуют [аудиторский след](/baza-znaniy/glossariy/audit-trail) вместе: один журнал не заменяет остальные.

ИсточникЧто обычно содержитКогда смотреть
Linux Audit / auditdСтруктурированные события ядра: доступ к объектам по правилам, execve, изменения атрибутов, часть событий PAMНужно установить, какой процесс и от чьей исходной сессии выполнил контролируемое действие
systemd-journaldСообщения systemd и служб, включая sshd при журнальном выводе в journalНужны оперативная диагностика служб, сообщения SSH, PAM и системы
Журнал аутентификацииУспешные и неудачные попытки входа, сообщения PAM и sudo, если их пишет syslogНужно проверить входы SSH, локальные входы и ошибки аутентификации
Журналы приложенийДействия внутри СУБД, веб-приложения, панели управления или иной службыНужен контекст операции, которого нет на уровне ОС
wtmp, btmp, lastlogУчёт завершённых входов, неудачных входов и последнего входа пользователяНужна быстрая сводка по сессиям, а не полный контекст события

Зависимость от дистрибутива и версии

Имена пакетов, systemd-unit, расположение журналов, поддерживаемые поля и действия auditd.conf различаются между Debian/Ubuntu, RHEL-совместимыми системами и их версиями. В типичной конфигурации пакет называется auditd, unit — auditd.service, а постоянные фрагменты правил лежат в /etc/audit/rules.d/. Перед изменением сверяйте синтаксис с руководствами auditctl(8), audit.rules(7), auditd.conf(5), ausearch(8) и документацией своего дистрибутива.

Определите события до настройки auditd

Правило аудита должно отвечать на конкретный вопрос: «кто изменил конфигурацию приложения», «кто запускал привилегированную программу», «кто менял учётные записи». У каждого правила укажите цель, владельца, критичные объекты, ожидаемый поток событий и срок хранения. Это помогает отделить полезные записи от шума и поддерживать конфигурационное соответствие.

  • Для обычного сервера обычно начинают с критичных конфигураций конкретной роли: например, каталога конфигурации приложения, файлов учётных записей и настроек удалённого доступа.
  • Для серверов с административными входами полезен контроль запусков процессов с эффективным UID 0, но только после оценки объёма.
  • Для расследования входов сохраняют события auditd, сообщения SSH/PAM и данные о сессиях.
  • Не добавляйте наблюдение за всем /etc, /usr, /var или всеми системными вызовами без сценария: это может резко увеличить поток записей, нагрузку и время поиска.

Широкие правила сначала проверяют на одном хосте

Правила для execve и рекурсивное наблюдение за системными каталогами могут создавать большой объём событий. Сначала измерьте поток на одном сервере в обычный и пиковый период, проверьте свободное место и поиск по ключу. Затем документируйте принятое правило и переносите его на остальные однотипные хосты.

Проверьте службу auditd и активные правила

Первичная проверка Linux Audit

Команды подходят для систем с systemd и установленными утилитами audit userspace. Выполняйте их с правами root или через sudo.

  1. 1
    Проверьте наличие утилит и пакета
    В Debian/Ubuntu проверьте пакет через dpkg -l auditd; в RHEL-совместимых системах — rpm -q audit и при необходимости rpm -q audit-libs. Если пакет отсутствует, установите пакет, предусмотренный репозиторием и документацией своего выпуска. После установки должны быть доступны как минимум auditctl, ausearch и aureport.
  2. 2
    Проверьте состояние службы
    Выполните systemctl status auditd. Ожидаемый результат — состояние active (running). Способ включения и запуска сверяйте с документацией выпуска. В Debian/Ubuntu с systemd обычно применяют systemctl enable --now auditd. В RHEL-совместимых системах для автозапуска используют systemctl enable auditd, а для непосредственного запуска документация auditd предписывает service auditd start. После запуска повторите проверку. На системах без systemd используйте штатный менеджер служб своего дистрибутива.
  3. 3
    Посмотрите состояние ядра и загруженные правила
    Выполните auditctl -s и auditctl -l. Первая команда показывает состояние подсистемы, включая режим включения аудита; вторая — правила, активные в ядре сейчас. Пустой список не доказывает ошибку службы, но означает, что специальных правил контроля объектов не загружено.
  4. 4
    Проверьте постоянную конфигурацию
    Посмотрите файлы *.rules в /etc/audit/rules.d/ и итоговый /etc/audit/audit.rules, если он используется вашим выпуском. В конфигурациях с augenrules фрагменты обычно объединяются в итоговый файл при загрузке. Правило, видимое только в auditctl -l и отсутствующее в постоянных файлах, исчезнет после перезагрузки или штатной перезагрузки правил.
`-s` выводит состояние Linux Audit, `-l` — активные правила ядра. Сохраните этот вывод до изменений: он нужен для сравнения и диагностики.
sudo auditctl -s && sudo auditctl -l
Показывает постоянные фрагменты и, если он существует, итоговый файл правил. Не редактируйте сгенерированный `/etc/audit/audit.rules`, если в системе принят механизм `augenrules`: изменяйте исходный файл в `rules.d`.
sudo find /etc/audit/rules.d -maxdepth 1 -type f -name '*.rules' -print 2>/dev/null; sudo test -r /etc/audit/audit.rules && sudo sed -n '1,220p' /etc/audit/audit.rules

Добавьте постоянное правило auditd для файла или каталога

Для современных правил контроля файлов предпочтителен syscall-формат с path для одного файла или dir для каталога. Поле perm=wa означает запись и изменение атрибутов; не добавляйте r, если чтение не является сценарием контроля, поскольку оно часто создаёт лишние события. Ключ -k задаёт понятную метку, по которой затем ищут записи.

/etc/audit/rules.d/30-local-file-watch.rules
# Тестовый файл: создайте его до загрузки правила.
-a always,exit -F arch=b64 -F path=/etc/audit-test.conf -F perm=wa -k audit-test-file

# Пример для существующего каталога конфигурации конкретного приложения.
# Замените путь и ключ на свои. Правило действует рекурсивно ниже каталога,
# но не переходит на вложенную смонтированную файловую систему.
# -a always,exit -F arch=b64 -F dir=/etc/myapp -F perm=wa -k myapp-config-change

arch=b64 соответствует 64-битным системным вызовам. Если хост запускает 32-битные приложения, добавляют эквивалентное правило с arch=b32 после проверки поддержки архитектуры. Старый watch-синтаксис -w путь -p wa -k ключ может встречаться в готовых политиках, но документация audit userspace рекомендует syscall-правила с path или dir как более производительный вариант.

Проверьте правило на безопасном тестовом файле

  1. 1
    Создайте тестовый объект
    Создайте /etc/audit-test.conf с безвредным содержимым, например sudo sh -c 'printf "# audit test\n" > /etc/audit-test.conf'. Этот файл не должен использоваться службой или содержать секреты.
  2. 2
    Сохраните правило в rules.d
    Создайте файл /etc/audit/rules.d/30-local-file-watch.rules с первым правилом из примера. Выберите уникальный ключ audit-test-file: он станет устойчивым условием поиска.
  3. 3
    Загрузите постоянный набор правил
    На системах с augenrules выполните sudo augenrules --load. Если дистрибутив использует другой штатный механизм, примените его. Затем выполните sudo auditctl -l и убедитесь, что правило с путём и ключом активно. Ошибка загрузки требует проверки синтаксиса, порядка файлов и сообщений службы, а не временного отключения аудита.
  4. 4
    Вызовите контролируемое изменение
    Измените тестовый файл: sudo sh -c 'printf "changed\n" >> /etc/audit-test.conf'. После команды найдите событие по ключу. Ожидаемый результат — одна или несколько связанных записей с путём файла и ключом правила.
  5. 5
    Убедитесь в постоянстве
    После плановой перезагрузки либо штатной загрузки набора снова проверьте auditctl -l. Если правило пропало, оно было загружено только временно через auditctl или не попало в механизм постоянной конфигурации.
Типичный способ собрать и загрузить правила из `/etc/audit/rules.d/`. Команда применима только там, где установлен и используется `augenrules`; после неё список должен содержать добавленное правило.
sudo augenrules --load && sudo auditctl -l

Контроль запусков привилегированных команд

Для контроля запусков от имени привилегированной учётной записи можно аудитировать системный вызов execve, когда эффективный UID процесса равен 0. Условие auid>=1000 обычно исключает системные учётные записи, а auid!=unset — процессы без исходной пользовательской сессии. Границу UID выбирают по локальной политике, а не копируют без проверки.

/etc/audit/rules.d/40-privileged-exec.rules
# Запуски программ с EUID 0 из пользовательских сессий.
-a always,exit -F arch=b64 -S execve -F euid=0 -F auid>=1000 -F auid!=unset -k privileged-exec

# Добавьте аналог с arch=b32, только если на хосте допустимы 32-битные приложения.
# -a always,exit -F arch=b32 -S execve -F euid=0 -F auid>=1000 -F auid!=unset -k privileged-exec

auditd не записывает все действия root

Это правило фиксирует запуск исполняемых файлов через execve, а не полную историю командной оболочки. Shell builtins, действия через уже открытый файловый дескриптор, операции внутри долгоживущего процесса и обходные пути могут не дать ожидаемой записи. При компрометации с высокими привилегиями атакующий также может пытаться менять аудит или заполнить хранилище. Поэтому события execve сопоставляют с sudo, PAM, journald и журналами приложений.

Как читать и искать события через ausearch и aureport

Одно действие обычно состоит из нескольких записей с общим идентификатором события. Поля имеют разный смысл: AUID — login UID, назначенный при входе и наследуемый процессами сессии; для процессов вне пользовательского входа он может быть unset. UID — реальный UID процесса; EUID — эффективный UID, участвующий во многих проверках доступа, но не заменяющий FSUID, capabilities и другие механизмы полномочий; ses — идентификатор сессии аудита; exe — путь к исполняемому файлу; key — метка сработавшего правила аудита.

Например, пользователь ivan входит по SSH и запускает sudo vi /etc/audit-test.conf. У процесса редактора EUID обычно будет 0, поскольку права получены через sudo, но AUID останется UID ivan. Именно AUID связывает действие с исходной пользовательской сессией; поиск только по UID или EUID может дать другой ответ.

`-i` просит утилиту интерпретировать числовые UID и другие значения в читаемый вид. Доступные форматы времени и состав отчётов зависят от версии audit userspace.

ЗадачаКомандаЧто проверить
Найти изменения тестового файлаsudo ausearch -k audit-test-file -iКлюч, путь, время, AUID/EUID и результат
Ограничить поиск периодомsudo ausearch -k audit-test-file -ts today -iСобытия с начала текущего дня; для точного интервала используйте дату и время в формате, принятом ausearch вашей версии
Найти действия исходного пользователяsudo ausearch -ul ivan -ts today -iAUID, или login UID: пользователь, от имени которого была открыта исходная сессия
Найти запуск конкретного файлаsudo ausearch -x /usr/bin/sudo -ts today -iПоле exe; путь должен совпадать с записанным в событии
Найти неуспешные событияsudo ausearch -sv no -ts today -iЗаписи с неуспешным результатом; причина зависит от типа события
Получить сводку аутентификацииsudo aureport --auth --failed -iСводный отчёт по неудачным событиям аутентификации, попавшим в Linux Audit
Посмотреть сводку входовsudo aureport --login -iСобытия входа и сессий, если они передаются в Linux Audit
Ищет события с ключом `audit-test-file` от начала текущего дня и преобразует идентификаторы в читаемый вид. Если записей нет, сначала убедитесь, что правило активно, изменение произошло после его загрузки и путь совпадает с правилом.
sudo ausearch -k audit-test-file -ts today -i

Для анализа привилегированных запусков используйте ключ: sudo ausearch -k privileged-exec -ts today -i. В найденном событии сопоставьте AUID, EUID, ses, exe, путь и результат. aureport удобен для сводки, но исходные записи ausearch важнее, когда нужно понять контекст одной операции.

Где проверить входы SSH и локальные сессии Linux

Для входов SSH используйте несколько источников. В Debian и Ubuntu сообщения аутентификации часто находятся в /var/log/auth.log; в RHEL-совместимых системах — в /var/log/secure. Это зависит от rsyslog, journald и конфигурации PAM/sshd: файл может отсутствовать, а сообщения могут храниться только в journal или быть перенаправлены в другое место.

Показывает сообщения обоих распространённых unit SSH с начала дня; отсутствующий unit не мешает получить записи второго. Ищите `Accepted`, `Failed`, `Invalid user`, ошибки PAM и адрес источника.
sudo journalctl -u sshd.service -u ssh.service --since today
Показывает последние сообщения SSH, sudo и сессий из типичных файловых журналов. Отсутствие файла не означает отсутствия событий: проверьте journald и настройки syslog.
sudo grep -E 'sshd|sudo|session' /var/log/auth.log /var/log/secure 2>/dev/null | tail -n 200

Срок хранения зависит от ротации файлов, лимитов journald, настройки logrotate и политики хранения.

КомандаНазначениеОграничение
lastСписок учтённых успешных входов из wtmpНе показывает все детали аутентификации и зависит от сохранности/ротации wtmp
sudo lastbСписок неудачных входов из btmp, если файл ведётсяЧасто требует root; наличие записей зависит от PAM и настроек
lastlogПоследний зарегистрированный вход каждого пользователяЭто не история входов; современные системы могут иметь иной механизм хранения или ограниченную актуальность данных
who или wТекущие интерактивные сессииНе заменяет историю и не показывает завершённые подключения
aureport --login -iСессии, зарегистрированные Linux AuditЗависит от интеграции PAM и политики аудита

Настройте хранение и ротацию журнала auditd

Проверьте /etc/audit/auditd.conf до добавления шумных правил. Существенные параметры обычно включают log_file, log_file_mode, max_log_file, num_logs, max_log_file_action, пороги свободного места space_left и admin_space_left, а также действия space_left_action, admin_space_left_action, disk_full_action и disk_error_action. Допустимые значения действий зависят от версии auditd и политики дистрибутива.

  • max_log_file задаёт максимальный размер отдельного файла журнала в мегабайтах, а num_logs — количество файлов, сохраняемых при ротации.
  • max_log_file_action = ROTATE обычно используется для ротации файлов; вариант keep_logs сохраняет файлы и требует особенно тщательного контроля места.
  • Пороги space_left и admin_space_left задают раннее и критическое предупреждение о свободном месте. Реакцией могут быть журналирование, уведомление, выполнение программы, приостановка аудита, переход в однопользовательский режим или остановка системы — выбирайте только предусмотренные вашей версией действия.
  • Действие при полном диске — компромисс между сохранением аудита и доступностью сервиса. Решение должно быть утверждено владельцем сервера: остановка или однопользовательский режим может вызвать простой, а игнорирование события — потерю наблюдаемости.
  • Ограничьте доступ к каталогу и файлам аудита: обычно читать их должны только root и уполномоченная группа. Проверьте владельца и режимы прав после ротации.
Выводит ключевые параметры auditd и свободное место в файловых системах журналов. Если `/var/log/audit` не отдельный раздел, используйте показатель для `/var/log` или корневой файловой системы.
sudo grep -E '^(log_file|log_file_mode|max_log_file|num_logs|max_log_file_action|space_left|space_left_action|admin_space_left|admin_space_left_action|disk_full_action|disk_error_action)' /etc/audit/auditd.conf; sudo df -h /var/log /var/log/audit 2>/dev/null

Локальный журнал не равен долговременному хранению

При max_log_file_action = ROTATE старые файлы удаляются после достижения настроенного количества ротаций. При KEEP_LOGS они сохраняются, но локальный объём не ограничивается автоматически и хранилище может заполниться. Требуемый срок хранения рассчитывают по реальному потоку событий, размеру хранилища и обязательствам организации. Внешнее защищённое хранение и корреляция событий безопасности рассматриваются отдельно в статье «Централизованный сбор журналов безопасности: события, корреляция и оповещения».

Когда включать immutable rules

Режим -e 2 — это неизменяемое правило аудита: после его применения активные правила нельзя изменить до перезагрузки. Его размещают последней строкой постоянного набора правил, например в завершающем файле с лексикографически поздним именем. Это повышает устойчивость конфигурации, но не заменяет защиту привилегированных учётных записей и внешнее хранение журналов.

/etc/audit/rules.d/99-finalize.rules
# Добавляйте только после проверки всех остальных правил.
-e 2

Сначала проверка, затем immutable

После -e 2 нельзя штатно добавить, удалить или перезагрузить активное правило до следующей перезагрузки. До включения проверьте синтаксис, загрузку, события по ключам, свободное место и аварийную процедуру. Если постоянный файл с -e 2 уже загружается при старте, для будущего изменения удалите эту строку из постоянной конфигурации, перезагрузите сервер и только после этого примените новый набор правил.

Диагностика auditd service failed, immutable rules и заполнения диска

Проблема

auditd не запускается или имеет состояние failed

Возможные причины

  • Ошибка синтаксиса или порядка правил
  • Недоступен каталог журнала, неверны права либо закончилось место
  • Несовместимый параметр `auditd.conf` или проблема пакета/службы
  • Активный immutable-режим не позволяет перезагрузить правила

Решение

Сначала сохраните текст ошибки и выполните systemctl status auditd --no-pager и journalctl -u auditd -b --no-pager. Затем проверьте свободное место командой df -h, права и доступность каталога журнала, синтаксис недавно изменённых файлов rules.d, а также вывод auditctl -s. Исправьте конкретную причину в постоянной конфигурации и повторите штатную загрузку. Не отключайте auditd как способ устранения ошибки.

Как избежать

Изменяйте правила по одному, проверяйте их на тестовом хосте, контролируйте место до расширения аудита и сохраняйте известный рабочий набор конфигурации.

Проблема

Журнал auditd заполняет диск

Возможные причины

  • Слишком широкое правило или неожиданный поток событий
  • Недостаточная ротация либо чрезмерно долгий локальный срок хранения
  • Неудачная реакция на переполнение или неработающая ротация

Решение

Определите, какие ключи и типы событий создают поток, через ausearch и размер файлов журнала. Не удаляйте журналы до фиксации ситуации и проверки требований хранения. Затем сузьте чрезмерно широкое правило, скорректируйте утверждённые параметры ротации и выделите достаточное место. Проверьте, что выбранные действия при порогах свободного места действительно поддерживаются установленной версией auditd.

Как избежать

Измеряйте объём событий перед массовым развёртыванием, настраивайте предупреждение раньше полного диска и отдельно планируйте [централизованное журналирование](/baza-znaniy/glossariy/centralized-logging), если локальный срок хранения недостаточен.

Проблема

Правила стали immutable и не изменяются

Возможные причины

  • В активный набор загружено завершающее правило `-e 2`

Решение

Проверьте постоянные файлы на строку -e 2, подготовьте исправленный набор без этой строки и запланируйте перезагрузку. До перезагрузки активную неизменяемую конфигурацию менять нельзя. После старта убедитесь, что правила загружены без immutable, внесите и проверьте нужные изменения, а затем возвращайте -e 2 последним правилом.

Как избежать

Включайте immutable только после тестирования полного набора и фиксируйте процедуру изменения правил, включая окно перезагрузки.

Границы auditd и Lynis

Lynis можно запускать локально командой sudo lynis audit system, если инструмент установлен и его использование одобрено для хоста. Он проверяет конфигурацию и формирует рекомендации, но не подтверждает факт компрометации и не заменяет поиск по журналам. Результаты Lynis рассматривайте как гипотезы для проверки в рамках hardening Linux-сервера и управления уязвимостями сервера.

Если есть признаки взлома

Не очищайте журналы, не перезагружайте сервер и не удаляйте подозрительные файлы только ради восстановления работы: такие действия могут изменить или уничтожить данные. Порядок изоляции, фиксации артефактов и дальнейших действий описан в статье «Сервер взломали: изоляция, сбор артефактов и первые действия при инциденте».

Термины в статье

Linux Audit Framework — подсистема аудита Linux, регистрирующая заданные события ядра и ОС в структурированных записях для расследований, контроля доступа и соответствия требованиям.
Lynis — инструмент аудита защищённости Unix-подобных систем, проверяющий настройки ОС и служб по набору тестов и выдающий рекомендации по усилению конфигурации.
auditd — служба Linux Audit, принимающая от ядра сообщения аудита, в том числе отобранные по правилам, и записывающая их в журнал для расследований, анализа доступа и проверки соответствия.
Аудиторский след — упорядоченный по времени набор записей о действиях и изменениях, позволяющий установить, кто, когда, над чем и с каким результатом выполнил операцию, а также откуда поступил запрос.
Журнал аудита — защищаемая совокупность записей о значимых действиях и изменениях с указанием времени, субъекта, объекта, результата и контекста для расследования и контроля.
Журнал аутентификации — набор записей о попытках подтверждения личности, их результатах и данных, необходимых для расследования и контроля доступа.
Инцидент информационной безопасности — выявленное или обоснованно подозреваемое событие, нарушающее политику защиты либо создающее угрозу конфиденциальности, целостности или доступности.
Конфигурационное соответствие — степень, в которой фактические параметры ИТ-объекта отвечают утверждённой политике, шаблону или базовой линии.
Корреляция событий безопасности — анализ связанных записей из одного или нескольких источников для выявления общей цепочки действий, аномалии или признаков инцидента.
Неизменяемое правило аудита — управляющая настройка Linux Audit, блокирующая изменение активной конфигурации аудита до перезагрузки системы.
Правило аудита — элемент конфигурации системы аудита, определяющий, какие события или операции подлежат регистрации и при каких условиях.
Привилегированная учётная запись — учётная запись с правами управления системами, данными или политиками доступа, превышающими полномочия обычного пользователя.
Событие аудита — действие, попытка действия или изменение состояния, регистрируемое системой согласно политике аудита для последующей проверки.
Событие безопасности — наблюдаемое действие или изменение состояния системы либо сети, значимое для защиты; оно может быть штатным, связанным с ошибкой или подозрительным.
Централизованное журналирование — сбор и хранение журналов разных систем в общем сервисе для унифицированного поиска, контроля целостности и анализа.

Вопросы по теме

Все вопросы и ответы

Где искать записи о входах SSH, если нет auth.log?

Проверьте journalctl и альтернативный файловый журнал. В Debian и Ubuntu сообщения часто находятся в /var/log/auth.log, а в RHEL-совместимых системах — в /var/log/secure. Если файлового журнала нет, события могут храниться только в systemd-journald: используйте journalctl -u sshd.service -u ssh.service --since today и ищите Accepted, Failed, Invalid user, сообщения PAM и адрес источника.

Как проверить активные сессии Linux?

Используйте who или w: они показывают текущие интерактивные сессии пользователей. Эти команды подходят для оперативной проверки того, кто подключён сейчас, но не заменяют историю входов. Для завершённых успешных сессий используйте last, а для анализа аутентификации и SSH дополнительно проверяйте журналы PAM, SSH, journald и события Linux Audit.

Как посмотреть неудачные входы Linux?

Начните с sudo lastb, если система ведёт файл btmp: команда показывает учтённые неудачные входы. Для контекста проверьте сообщения SSH и PAM в /var/log/auth.log, /var/log/secure или journald. Если события аутентификации передаются в Linux Audit, используйте sudo aureport --auth --failed -i; наличие результатов зависит от настройки PAM и политики аудита.

Чем last отличается от lastlog в Linux?

last показывает список учтённых успешных входов из wtmp, то есть историю сессий в пределах сохранённых данных. lastlog выводит только последний зарегистрированный вход каждого пользователя и не является историей подключений. Данные обеих команд зависят от сохранности и ротации файлов; на современных системах механизм хранения может отличаться или иметь ограниченную актуальность.

Что будет, если журнал auditd заполнит диск?

Зависит от параметров auditd.conf и политики сервера. При нехватке места auditd может журналировать событие, отправлять уведомление, запускать программу, приостанавливать аудит, переводить систему в однопользовательский режим или останавливать её — если такие действия поддерживает версия. Остановка и однопользовательский режим могут вызвать простой, а игнорирование проблемы приведёт к потере наблюдаемости.

Как долго хранятся логи auditd?

Фиксированного срока нет: он зависит от потока событий, доступного места, требований организации и настроек ротации. Параметры max_log_file и num_logs ограничивают размер и число файлов, а при max_log_file_action = ROTATE старые журналы удаляются после достижения лимита. Режим KEEP_LOGS сохраняет файлы, но может заполнить локальное хранилище.