Настройка ротации журналов событий службы аудита и службы kerberos на контроллере домена#
События службы kerberos
можно как перенаправить в системный журнал (по умолчанию в ОС Astra Linux SE 1.7.4 — /var/log/syslog
), так и записать их в свой собственный файл. Каким образом будет проводиться запись в журнал указано в файле конфигурации службы — /etc/krb5.conf
в секции logging
.
Утилита logrotate
— утилита, выполняющая ротацию и сжатие файлов журналов.
При правильной настройке этой утилиты для работы с файлом конкретного журнала, его размеры никогда не увеличатся до такой степени, что будут угрожать стабильности системы.
По умолчанию утилита logrotate
предустановлена в ОС Astra Linux 1.7 и выше. Она уже настроена для своевременной обработки журналов некоторых имеющихся в системе и используемых пользователями приложений, в том числе syslog
.
Конфигурация самой утилиты logrotate находится в следующем каталоге:
/etc/logrotate.conf
— основной файл конфигурации, который, как правило, содержит некоторые параметры, предустановленные автоматически, настройки для ряда базовых журналов, не принадлежащих системным пакетам и инструкциюinclude
для подключения конфигурации, хранящейся по адресу/etc/logrotate.d
;/etc/logrotate.d
— содержит файлы с конфигурацией. В этом каталоге утилитаlogrotate
считывает файлы конфигурации для различных журналов и системных пакетов, при этом каждый из таких файлов — конфигурация ротации соответствующего журнала; администратор при необходимости может добавить свои файлы конфигурации в этот каталог, и они также будут обработаны утилитойlogrotate
.
Также необходимо после настройки утилиты настроить режим запуска этой утилиты в планировщике задач операционной системы cron
. Подробную инструкцию по настройке планировщика, по диагностике возможных проблем и прочим возможностям можно посмотреть в справке операционной системе по утилите cron
.
Для службы kerberos
необходимо провести настройку утилиты logrotate
самостоятельно. Для настройки ротации журнала службы kerberos с помощью утилиты logrotate
необходимо выполнить следующие действия:
Создать файл
/etc/logrotate.d/kerberos
с правами «644», в который внести и сохранить следующую информацию:
/var/log/krb5kdc.log {
daily
rotate 5
minsize 1G
compress
missingok
notifempty}
Для применения изменений и запуска утилиты в текущий момент времени необходимо выполнить команду:
logrotate /etc/logrotate.conf
Для запуска утилиты
logrotate
по расписанию необходимо настроить планировщик операционной системы таким образом, чтобы он запускал утилиту не реже самого минимального интервала времени для ротации всех журналов, которые есть в конфигурационных файлов утилитыlogrotate
. В данном случае (рассматривается только один журнал службыkerberos
) это будет один раз в день, тогда необходимо выполнить следующую команду с правами пользователяroot
или другого привилегированного пользователя, который может запускать утилитуlogrotate
:
crontab -e
Для запуска утилиты logrotate
ежедневно в 0 часов 5 минут в появившемся в результате выполнения предыдущей команды файле необходимо ввести в пустой строке следующие данные, после чего сохранить файл (требуются соответствующие привилегии):
5 0 * * * /usr/sbin/logrotate /etc/logrotate.conf
После выполнения настройки (внесения изменений в файл crontab
) можно перезапустить сервис cron
с помощью команды:
systemctl restart cron
В первой строке файла конфигурации утилиты logrotate
указан путь к файлу, к которому будут применять различные директивы, которые перечислены ниже в этом конфигурационном файле. Указанные в примере директивы описывают следующее поведение утилиты:
daily
— ротацию выполнять один раз в сутки (для сервисов, которые записывают в свои журналы достаточно мало информации, можно использовать опцию monthly — один раз в месяц или weekly — один раз в неделю, а для сервисов, которые записывают в журналы много информации можно использовать опциюhourly
, которая говорит о том, что ротация будет выполняться один раз в час);rotate 5
— позволяет в автоматическом режиме хранить последние 5 журналов;minsize
— журнал будет ротироваться, когда его размер больше указанного, но не ранее, чем наступает соответствующий временной интервал ротации (hourly
,daily
,weekly
,monthly
,yearly
), для указания размеров файла журнала можно использовать прописные буквы «G» — гигабайт, «M» — мегабайт;compress
— используется для сжатия архивных журналов (стандартно используется утилита gzip);missingok
— не оставляет сообщение об ошибке в работе в системном журнале, если ротируемый журнал пуст;notifempty
— запрещает ротировать файл, если он пустой.
Дополнительную информацию о работе утилит logrotate
и cron
, а также обо всех допустимых параметрах настройки ротации журналов и способах запуска команд по расписанию можно посмотреть в справке операционной системы по данным утилитам.
После настройки ротации журнала службы kerberos
необходимо провести настройку журнала службы аудита. Настройка журнала службы аудита производится путем редактирования файла конфигурации /etc/audit/auditd.conf
. Этот файл содержит следующие параметры:
log_file
— файл, в котором будут храниться журналы подсистемы аудита;log_format
— формат, в котором будет сохранены журналы;freq
— максимальное число записей протокола аудита, которые могут храниться в буфере;flush
— режим синхронизации буфера с диском:- none
— ничего не делать,- incremental
— переносить данные из буфера на диск с частотой, указанной в значении параметраfreq
,- data
— синхронизировать немедленно,- sync
— синхронизировать как данные, так и метаданные файла при записи на диск;max_log_file
— максимальный размер файла лога в мегабайтах;max_log_file_action
— действие при превышении максимального размера файла лога;space_left
— минимум свободного пространства в мегабайтах, по достижении которого должно быть осуществлено действие, указанное в следующем параметре;space_left_admin
— указывает, что делать, когда на диске недостаточно свободного места:ignore
— ничего не делать;syslog
— отправлять в журналsyslog
;email
— отправлять уведомление по почте;suspend
— прекратить запись логов на диск;single
— перейти в однопользовательский режим;halt
— выключить машину;
disk_full_action
— действие, которое нужно осуществить при переполнении диска (этот параметр может принимать те же значения, что иspace_left_admin
).
В разделе приведена настройка журнала аудита, при которой все параметры, кроме max_log_file
, остаются неизменными. По аналогии с данным примером можно провести требуемые администратору изменения конфигурации журналирования событий аудита. После всех изменений файла конфигурации необходимо перезапустить сервис auditd
с помощью команды:
systemctl restart auditd