Глава 1. Журналы системы

Содержание

Syslog-NG
Инсталляция и конфигурирование syslog-NG
Анализ журналов системы
Автоматический анализ журналов с помощью Swatch
Отправка SMS-оповещений
Доступ к журналам системы через web-интерфейс
Интеграция Syslog-ng и MySQL
Доступ к системным журналам через Web
Целостность файлов журналов
Инсталляция и конфигурирование msyslog

Syslog-NG

Лабораторная работа посвящена инсталляции и конфигурированию демона системных журналов Syslog-NG

Инсталляция и конфигурирование syslog-NG

Проинсталлировать и сконфигурировать Syslog-NG и настроить систему на его использование в качестве демона системных журналов

  1. Инсталляция Syslog-NG

    Проинсталлируйте Syslog-NG принятым в операционной системе способом.

    # apt-get install syslog-ng
    

    # cd /usr/ports/security/syslog-ng
    # make install clean
    

  2. Изменение конфигурации Syslog-NG.

    Опции:

    options { long_hostnames(off); sync(0); };
    

    Источники:

    source src { unix-stream("/dev/log"); internal(); };
    source kernsrc { file("/proc/kmsg"); };
    

    Получатели:

    destination authlog { file("/var/log/auth.log"); };
    destination syslog { file("/var/log/syslog"); };
    destination cron { file("/var/log/cron.log"); };
    destination daemon { file("/var/log/daemon.log"); };
    destination kern { file("/var/log/kern.log"); };
    destination lpr { file("/var/log/lpr.log"); };
    destination user { file("/var/log/user.log"); };
    destination uucp { file("/var/log/uucp.log"); };
    destination ppp { file("/var/log/ppp.log"); };
    destination mail { file("/var/log/mail.log"); };
    
    destination mailinfo { file("/var/log/mail.info"); };
    destination mailwarn { file("/var/log/mail.warn"); };
    destination mailerr { file("/var/log/mail.err"); };
    destination local0 { file("/var/log/local0.log"); };
    destination local1 { file("/var/log/local1.log"); };
    destination all { file("/var/log/all.log"); };
    
    destination newscrit { file("/var/log/news/news.crit"); };
    destination newserr { file("/var/log/news/news.err"); };
    destination newsnotice { file("/var/log/news/news.notice"); };
    
    destination debug { file("/var/log/debug"); };
    destination messages { file("/var/log/messages"); };
    destination console { usertty("root"); };
    destination console_all { file("/dev/tty12"); };
    

    Фильтры:

    filter f_auth { facility(auth); };
    filter f_authpriv { facility(auth, authpriv); };
    filter f_syslog { not facility(authpriv, mail) and not match(ppp.*LCP); };
    filter f_cron { facility(cron); };
    filter f_daemon { facility(daemon); };
    filter f_kern { facility(kern); };
    filter f_lpr { facility(lpr); };
    filter f_mail { facility(mail) and not match (imapd); };
    filter f_user { facility(user); };
    filter f_uucp { facility(cron); };
    filter f_ppp { program(ppp); };
    filter f_news { facility(news); };
    filter f_debug { not facility(auth, authpriv, news, mail) and not match(ppp.*LCP); };
    filter f_messages { level(info..warn) 
    	and not facility(auth, authpriv, mail, news); };
    filter f_emergency { level(emerg); };
    
    filter f_info { level(info); };
    filter f_notice { level(notice); };
    filter f_warn { level(warn); };
    filter f_crit { level(crit); };
    filter f_err { level(err); };
    

    Объединение источников, фильтров и получателей:

    log { source(src); filter(f_authpriv); destination(authlog); };
    log { source(src); filter(f_syslog); destination(syslog); };
    log { source(src); filter(f_cron); destination(cron); };
    log { source(src); filter(f_daemon); destination(daemon); };
    log { source(kernsrc); filter(f_kern); destination(kern); };
    log { source(src); filter(f_lpr); destination(lpr); };
    log { source(src); filter(f_mail); destination(mail); };
    log { source(src); filter(f_user); destination(user); };
    log { source(src); filter(f_uucp); destination(uucp); };
    log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
    log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
    log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
    log { source(src); filter(f_news); filter(f_crit); destination(newscrit); };
    log { source(src); filter(f_news); filter(f_err); destination(newserr); };
    log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); };
    log { source(src); filter(f_debug); destination(debug); };
    log { source(src); filter(f_messages); destination(messages); };
    log { source(src); filter(f_emergency); destination(console); };
    log { source(src); filter(f_ppp); destination(ppp); };
    log { source(src); destination(console_all); };
    log { source(src); destination(all); };
    

  3. Выключение Syslog

    Совершите выключение Syslog как показано ниже:

    # /etc/rc.d/syslog stop
    # vi /etc/rc.conf
    

    > syslog_enable="NO"
    

  4. Запуск Syslog-NG

    Запустите Syslog-NG вот так:

    # /usr/local/etc/rc.d/syslog-ng.sh start
    

    # /etc/init.d/syslog-ng start
    

  5. Проверка

    Проверку работы демона системных журналов можно выполнить с помощью команды logger:

    # logger "Syslog-ng daemon test"
    

    Сообщение по умолчанию отправляются с приоритетом info от средства user.

    Для того чтобы проверить правильность маршрутизации системных сообщений с различными приоритетами, можно использовать небольшой скрипт.

    # vi /root/test-syslog.sh
    

    #!/bin/sh
    for f in auth authpriv cron daemon kern lpr mail \
    	mark news syslog user uucp local{0,1,2,3,4,5,6,7}
    do
    for p in debug info warn notice warning err crit alert emerg
    do
    logger -p $f.$p "Syslog testing. This message has facility $f, priority $p"
    done
    done
    

    Скрипт отправляет системные сообщения от имени всех возможных средств, во всём диапазоне приоритетов.

    Запустите его на исполнение,

    # sh /root/test-syslog.sh
    

    после чего просмотрите файлы журналов, и выясните куда попали какие сообщения. Убедитесь, что маршрутизация сообщений была выполнена верно.

© 2002-2005 Игорь Чубин
Учебный центр Сетевые Технологии, ug-ids, 2006-06-25
Слушатель отсутствует, ДЕМО-ВЕРСИЯ