Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Сбор логов средствами rsyslog  (Прочитано 2015 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн skytrain

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Сбор логов средствами rsyslog
« : 24 Июля 2015, 09:24:25 »
Доброго времени суток.
Собственно вопрос... кто как собирает логи?

Предлагаю обсудить....

Как альтернативу статье отсюда http://wiki.rsyslog.com/index.php/Centralizing_the_audit_log
И как дополнение к этой https://xakep.ru/2011/03/30/54897/
Измените в файле /etc/audit/auditd.conf
log_group = syslogИначе не будет читаться файл лога аудита.

Предлагаю

На клиенте создайте файл /etc/rsyslog.d/40-log.conf
$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity *                         # тут, по моему, вместо звездочки можно писать debug
$InputFileFacility local6
$InputRunFileMonitor
$InputFilePollInterval 5
#$InputFilePersistStateInterval 1

*.*                        @@192.168.3.11:514
:pri-text, contains, "local6.debug" ~                      # Убиваем записи лога аудита, что-бы не забивало syslog

На сервере логов создайте файл
/etc/rsyslog.d/40-logsrv.conf   
$template ImtcpAuth, "/var/log/rsyslog/%HOSTNAME%/auth.log"
$template ImtcpSyslog, "/var/log/rsyslog/%HOSTNAME%/syslog"
$template HostAudit, "/var/log/rsyslog/%HOSTNAME%/audit.log"
$template NetKern, "/var/log/rsyslog/%HOSTNAME%/kern.log"
$template NetMail, "/var/log/rsyslog/%HOSTNAME%/mail.log"
$template NetS2, "/var/log/rsyslog/%HOSTNAME%/%pri-text%.S2.log"     # Это для корректности ВИНДОВОГО evtsys, я по оптимизации его логов не спец
$template NetUser, "/var/log/rsyslog/%HOSTNAME%/user.log"

if ( $inputname contains "imtcp" ) and ( $syslogfacility-text contains "auth" ) then ?ImtcpAuth
#if ( $inputname contains 'imtcp' ) and not ( $syslogfacility-text contains 'auth' ) and not ( $syslogfacility-text contains 'local3' ) then ?ImtcpSyslog
if ( $inputname contains 'imtcp' ) and ( $syslogfacility-text contains 'kern' )  then ?NetKern
if ( $inputname contains 'imtcp' ) and ( $syslogfacility-text contains 'mail' )  then ?NetMail
if ( $inputname contains 'imtcp' ) and ( $syslogfacility-text contains 'user' )  then ?NetUser
if ( $inputname contains "imudp" ) then ?NetS2

*.*;auth,authpriv.none;local6.!=debug          ?ImtcpSyslog
local6.*                          ?HostAudit                             

:msg, contains, "audit_log"  ~      # Убиваем записи лога аудита, что-бы не забивало syslog.... Тут не обязательно, просто что-б было
:inputname, contains, "imtcp" ~    # Убиваем записи лога аудита, что-бы не забивало syslog
:inputname, contains, "imudp" ~     # Убиваем записи лога evtsys. Для тех кто не собирает логи винды - это не обязательно.

Если у кого есть желание дополнить, то будет круто

У меня не получилось заставить работать эту строчку
if ( $inputname contains 'imtcp' ) and not ( $syslogfacility-text contains 'auth' ) and not ( $syslogfacility-text contains 'local3' ) then ?ImtcpSyslogВместо нее неуниверсальная
*.*;auth,authpriv.none;local6.!=debug          ?ImtcpSyslog
« Последнее редактирование: 24 Июля 2015, 18:47:04 от skytrain »
Не пытайся убежать от себя и от пули. Умрешь уставшим...

Оффлайн strangeman

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Сбор логов средствами rsyslog
« Ответ #1 : 09 Февраля 2016, 07:11:10 »
Понекропостю чуть-чуть. Не проще ли вместо строчек

:msg, contains, "audit_log"  ~      # Убиваем записи лога аудита, что-бы не забивало syslog.... Тут не обязательно, просто что-б было
:inputname, contains, "imtcp" ~    # Убиваем записи лога аудита, что-бы не забивало syslog
:inputname, contains, "imudp" ~     # Убиваем записи лога evtsys. Для тех кто не собирает логи винды - это не обязательно.

использовать слово stop в правилах выше? Ну, если мы не хотим, чтобы imtcp попадало куда-нибудь еще кроме отдельных файлов, мы пишем, например

if ( $inputname contains 'imtcp' ) and ( $syslogfacility-text contains 'kern' )  then
{ ?NetKern
stop }

вместо if ( $inputname contains 'imtcp' ) and ( $syslogfacility-text contains 'kern' )  then ?NetKern

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.