Настройка ротации журналов событий службы аудита и службы 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