Назад | Перейти на главную страницу

Отправка журналов аудита на сервер SYSLOG

Я использую несколько систем на основе 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.