Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
audit: backlog limit exceeded, audit messages dropped Linux / DevOps

audit: backlog limit exceeded — Решение сбоя службы аудита Linux

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Сообщение «audit: backlog limit exceeded, audit messages dropped» генерируется подсистемой аудита безопасности ядра Linux (Linux Audit Subsystem / KAUID). При генерации событий безопасности (SELinux denials, системные вызовы execve, модификации файлов) ядро складывает события во внутреннюю очередь (Netlink Queue) для передачи демону auditd. Если очередь переполняется (превышен audit_backlog_limit), а политика audit_failure установлена в режим 1 (printk) или 2 (panic), ядро начинает терять события безопасности или полностью зависает.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
backlog_limitInteger (Default: 64/8192)Максимальное количество сообщений в очереди ядра до передачи в auditd.
audit_backlog_wait_timeMilliseconds (Default: 60000)Время ожидания освобождения очереди; при 60s вызывает полный фриз процессов.
audit_panic0 / 1 / 2Поведение ядра при сбое аудита (0=ignore, 1=printk, 2=kernel panic).

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Проверка текущего статуса подсистемы аудита

# Просмотр параметров и заполненности очереди audit:
sudo auditctl -s

# Обратите внимание на строки: 'backlog', 'backlog_limit', 'lost'.
# Если 'lost' растет, ядро сбрасывает события аудита!

Сценарий 2: Горячее увеличение размера очереди backlog и сброс ожидания

# Увеличение лимита очереди до 32768 сообщений:
sudo auditctl -b 32768

# Отключение задержки ожидания (предотвращает зависание системных вызовов fork/exec):
sudo auditctl --backlog_wait_time 0

Сценарий 3: Закрепление параметров в audit.rules и параметрах загрузки GRUB

Отредактируйте конфигурацию /etc/audit/rules.d/audit.rules:

# В начале файла правил:
-D
-b 32768
--backlog_wait_time 0
-f 1

# Перезапустите службу аудита:
sudo augenrules --load
sudo systemctl restart auditd

Для защиты системы на этапе ранней инициализации добавьте параметр в /etc/default/grub:

GRUB_CMDLINE_LINUX="audit=1 audit_backlog_limit=32768 audit_backlog_wait_time=0"
sudo update-grub
Сервер зависает под нагрузкой из-за переполнения auditd?
ITSTM выполнит оптимизацию правил аудита (исключение шумных cron/k8s событий), настройку SIEM-интеграций и обеспечение соответствия стандартам ГОСТ/PCI-DSS.
Практический опыт инженера: При интеграции серверов с SIEM-системами (Wazuh, Splunk) никогда не используйте auditd в режиме прямого логирования файлов. Используйте auditd plugin audispd-plugins для потоковой передачи событий по Unix сокетам.

Частые вопросы (FAQ)

Почему при переполнении audit backlog зависают обычные команды (ls, ps, ssh)?

Если параметр backlog_wait_time не равен 0, ядро при каждом системном вызове блокирует вызвавший процесс в состоянии ожидания (Uninterruptible Sleep), пока демон auditd не освободит место в очереди.

Как найти правила аудита, генерирующие максимальный объем мусорных логов?

Выполните команду sudo aureport -s --summary. Она покажет распределение событий по типам системных вызовов и поможет отключить избыточный аудит.

Что означает флаг -f 2 в правилах audit.rules?

Флаг -f 2 задает критический режим: если система аудита выходит из строя или очередь переполняется, ядро немедленно уходит в Kernel Panic для предотвращения несанкционированных действий без логирования.

Как исключить шумные события контейнеров из auditd?

Добавьте фильтр в правила /etc/audit/rules.d/audit.rules: -a never,exclude -F msgtype=CWD (исключение смены рабочих каталогов) или фильтруйте по UID служебных демонов.