Auditd: различия между версиями

Материал из sysadm
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
  
 
Сервис auditd  предназначен для аудита, можно логировать вызовы ядра, обращения к файлам и др.
 
Сервис auditd  предназначен для аудита, можно логировать вызовы ядра, обращения к файлам и др.
 +
 +
'''Режимы enable'''
 +
<pre>
 +
# проверка статуса
 +
auditctl -s
 +
# enable 0 - аудит выключен
 +
# enable 1 - адуит включен
 +
# enable 2 - аудит включен, изменение правил заблокировано, для переключения обратно в enable 1 придется перегрузить сервер
 +
 +
# переключение режимов enable
 +
auditctl -e {0 | 1 | 2}
 +
 +
# в режиме enable 2, команда смены режима не может в онлайне сменить режим, выдает ошибку доступа,
 +
# но на уровне конфигурации изменение происходит и после перезагрузки, включится заданный режим
 +
 +
# в режиме enable 2, правила аудита нельзя изменить даже перезагрузкой сервиса auditd
 +
</pre>
  
 
'''Предупреждение !''' сервис может повесить систему при некорректной настройке.
 
'''Предупреждение !''' сервис может повесить систему при некорректной настройке.

Текущая версия на 15:43, 21 ноября 2024

Сервис auditd предназначен для аудита, можно логировать вызовы ядра, обращения к файлам и др.

Режимы enable

# проверка статуса
auditctl -s
# enable 0 - аудит выключен
# enable 1 - адуит включен
# enable 2 - аудит включен, изменение правил заблокировано, для переключения обратно в enable 1 придется перегрузить сервер

# переключение режимов enable
auditctl -e {0 | 1 | 2}

# в режиме enable 2, команда смены режима не может в онлайне сменить режим, выдает ошибку доступа,
# но на уровне конфигурации изменение происходит и после перезагрузки, включится заданный режим

# в режиме enable 2, правила аудита нельзя изменить даже перезагрузкой сервиса auditd

Предупреждение ! сервис может повесить систему при некорректной настройке.

Важные параметры /etc/audit/rules.d/audit.rules

-f { 0 | 1 | 2 }
# определяет действие в случае критических событий (ошибки передачи данных в пользовательское пространство сервиса аудита, превышение backlog limit, переполнение памяти в ядре, превышение rate limit)
# подробнее man auditctl
  0 - silent 
  1 - printk
  2 - panic

-b 8192
# максимальное количество не обработанных буферов backlog, для загруженных систем рекомендуется увеличивать (по умолчанию в ядре 64 буфера)

Очередь с задержкой сохраняется в памяти, поэтому увеличение предела задержки увеличит потребление памяти по мере роста очереди. Обычно размер каждого сообщения составляет чуть менее 9000 байт. Вы не хотите, чтобы предел задержки был слишком низким, но вы также не хотите устанавливать безумно высокое значение, которое может съесть значительную часть вашей системной памяти.

Важные параметры /etc/audit/audit.conf

# подробнее man auditd.conf

flush =  { none | incremental | incremental_async | data | sync }
# режим сброса на диск записей аудита
#   none              - ничего не предпринимать для гарантии сброса записей на диск (нужно проверить, возможно совсем перестанет писать аудит)
#   incremental       - сбрасывать на диск записи аудита блоками. Количество записей в блоке определяется параметром freq.
#   incremental_async - тоже что incremental, только данные сбрасываются асинхронно
#   data              - tells the audit daemon to keep the data portion of the  disk file  sync'd at all times.
#   sync              - tells the audit daemon to keep both the data and meta-data fully sync'd with every write to disk

freq = 500
# используется при flush = { incremental | incremental_async }
# определяет количество записей, которые будут сбрасываться на диск за один раз

# Ошибка: dispatch err (pipe full) event lost
disp_qos = { lossy | lossless }
  This  option controls whether you want blocking/lossless or non-blocking/lossy communication between the audit daemon and the dispatcher. There is a 128k buf‐
  fer between the audit daemon and dispatcher. This is good enough for most uses. If lossy is chosen, incoming events going to the dispatcher are discarded when
  this  queue  is full. (Events are still written to disk if log_format is not nolog.) Otherwise the auditd daemon will wait for the queue to have an empty spot
  before logging to disk. The risk is that while the daemon is waiting for network IO, an event is not being recorded to disk. Valid values are: lossy and loss‐
  less. Lossy is the default value.

Ссылки по теме