Пытаюсь пересылать только мои события auditd по системному журналу, но я не знаю, какое средство использовать. Я не хочу отправлять все на мой сервер системного журнала, так как это создаст избыточность при ведении журнала. Я установил подключаемый модуль системного журнала audispd в активный режим и, насколько я понимаю, должен заставить auditd использовать системный журнал для регистрации событий. Теперь все, что мне нужно сделать, это настроить правильное средство для пересылки событий auditd на мой сервер регистрации.
Пожалуйста, дайте мне знать, если я ошибаюсь в том, как это должно быть сделано. * Пробую на коробке CentOS 7
Аудит настроек плагина системного журнала
Плагин Audisp отправляет данные auditd в системный журнал по умолчанию в user
объект. Однако вы можете это изменить.
cat /etc/audisp/plugins.d/syslog.conf
# This file controls the configuration of the syslog plugin.
# It simply takes events and writes them to syslog. The
# arguments provided can be the default priority that you
# want the events written with. And optionally, you can give
# a second argument indicating the facility that you want events
# logged to. Valid options are LOG_LOCAL0 through 7, LOG_AUTH,
# LOG_AUTHPRIV, LOG_DAEMON, LOG_SYSLOG, and LOG_USER.
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO
format = string
Ключ там быть Valid options are LOG_LOCAL0 through 7
так что вы можете настроить это под свои нужды. В моей системе это настройки по умолчанию, указанные выше, и я получаю сообщения auditd в user
журналы объекта.
Я использую эту конфигурацию потому, что au-remote
плагин был ненадежным и сбрасывал много сообщений. В результате он также наводняет мои системные журналы ошибками. Я также хотел хранить перенаправленные журналы аудита отдельно на сервере агрегации.
Сначала настройте syslog
плагин:
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO LOG_LOCAL6
Обратите внимание, что есть два аргумента в пользу args
, то priority
и facility
. В LOG_INFO
приоритет означает отправку всех сообщений, которые info
или более серьезный. Объект в основном rsyslog
канал, в который диспетчер аудита должен направлять сообщения. Это может быть любой из допустимых вариантов, перечисленных в документации для syslog
плагин. Я просто использую LOG_LOCAL6
потому что он не используется другими приложениями в моей системе, и я хочу хранить журналы аудита отдельно.
редактировать /etc/audisp/plugins.d/au-remote.conf
отключить au-remote
плагин:
active = no
В документация для плагина syslog рекомендует следующее:
Если вы объединяете несколько машин, вам следует отредактировать auditd.conf, чтобы установить для name_format что-то значимое, а для log_format - enriched. Таким образом вы можете определить, откуда произошло событие, и локально разрешить имя пользователя и группы, прежде чем оно будет отправлено с машины.
Итак, я использовал эти настройки:
NAME_FORMAT = HOSTNAME
LOG_FORMAT = ENRICHED
Журналы аудита уже записываются локально в /etc/audit
, поэтому нет необходимости редактировать /etc/rsyslog.conf
, и скажите ему написать local6
сообщения диспетчера аудита в файл. Вам просто нужно убедиться, что у вас настроен rsyslog для пересылки, и сообщения будут отправляться на сервер агрегации.
если ты только хотите, чтобы сообщения аудита пересылались, выполните в /etc/rsyslog.conf
и перезапустите rsyslog.service
:
local6.* @@logs.example.com:514
Перезапустите демон аудита, чтобы применить настройки (не используйте systemctl restart
):
service restart auditd
Затем на сервере агрегирования журналов отредактируйте /etc/rsyslog.conf
для записи входящих сообщений в специальный файл:
local6* /var/log/auditd-forwarded
Наконец, добавьте этот журнал в расписание ротации журналов в /etc/logrotate.d/syslog
(на сервере агрегации):
/var/log/spooler
/var/log/auditd-forwarded
{
missingok
Примечание: При желании вы можете поставить logrotate
конфигурация в собственном файле.
Это было подтверждено для работы на CentOS 7.
Я был сбит с толку насчет ключа и значения в этом файле, поэтому вот рабочая конфигурация для меня: - (используемая система: Ubuntu 16.04) /etc/audisp/plugins.d/syslog.conf
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_LOCAL6 #send log to local6 facility
Отредактируйте конфигурацию rsyslog, чтобы сохранить журнал auditd
/etc/rsyslog.d/50-default.conf
local6.* @@192.168.8.147:6161 #send local6 log to central log server listening on tcp port 6161
# To save local6 to file
local6.* /tmp/auditd.log