Я использую несколько систем на основе RHEL, которые используют функцию аудита в ядре 2.6 для отслеживания активности пользователей, и мне нужно, чтобы эти журналы отправлялись на централизованные серверы SYSLOG для мониторинга и корреляции событий. Кто-нибудь знает, как этого добиться?
Самый безопасный и правильный метод - использовать audispd плагин syslog и / или audisp-remote.
Чтобы быстро заставить его работать вы можете редактировать /etc/audisp/plugins.d/syslog.conf. RHEL включает это по умолчанию, хотя и отключено. Вам нужно изменить только одну строку, чтобы включить его, активный = да.
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO
format = string
Но по умолчанию это не очень безопасно; syslog - это небезопасный протокол в своей основе, незашифрованный, не прошедший проверку подлинности и полностью ненадежный в исходной спецификации UDP. Он также хранит много информации в небезопасных файлах. Система аудита Linux обрабатывает более конфиденциальную информацию, чем обычно отправляется в системный журнал, поэтому она разделена. audisp-remote также обеспечивает аутентификацию и шифрование Kerberos, поэтому он хорошо работает в качестве безопасного транспорта. Используя audisp-remote, вы отправляете сообщения аудита с помощью audispd на удаленный сервер audisp, работающий на вашем центральном сервере системного журнала. После этого audisp-remote будет использовать подключаемый модуль audispd syslog для передачи их в dameon syslog.
Но есть и другие способы! rsyslog очень надежен! rsyslog также предлагает шифрование Kerberos и TLS. Просто убедитесь, что он настроен безопасно.
Изменить: 17.11.14
Этот ответ все еще может работать, но в 2014 году с помощью плагина Audisp это лучший ответ.
Если вы используете стандартный сервер системного журнала ksyslogd, я не знаю, как это сделать. Но есть отличные инструкции, как сделать это с помощью rsyslog на их Вики. ( http://wiki.rsyslog.com/index.php/Centralizing_the_audit_log )
Резюмирую:
На отправляющем клиенте (rsyslog.conf
):
#
auditd audit.log
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor
Обратите внимание, что imfile
модуль должен быть загружен ранее в конфигурации rsyslog. За это отвечает строка:
$ModLoad imfile
Так что проверьте, есть ли он у вас rsyslog.conf
файл. Если его там нет, добавьте его под ### MODULES ###
раздел для включения этого модуля; в противном случае указанная выше конфигурация для ведения журнала auditd не будет работать.
На принимающем сервере (rsyslog.conf
):
$template HostAudit, "/var/log/rsyslog/%HOSTNAME%/audit_log" local6.*
Перезапустите службу (service rsyslog restart
) на обоих хостах, и вы должны начать получать auditd
Сообщения.
Вы можете войти непосредственно в системный журнал, используя audisp, это часть пакета аудита. В Debian (я еще не пробовал в других дистрибутивах) отредактируйте:
/etc/audisp/plugins.d/syslog.conf
и установить active=yes
.