Видео ролики бесплатно онлайн

Смотреть аниме видео

Официальный сайт mkad14 24/7/365

Смотреть видео бесплатно

albibek 25.12.2009 13:56

SecurityЖурналирование событий. Часть 2.1 - sysklogd

В следующих частях мы с вами рассмотрим самые популярные на сегодняшний день syslog-серверы и выясним, что они умеют и как это всё настраивается. Писать о всех трёх сразху получается длинновато и сложно воспринимается, поэтому первым подопытным будет sysklogd, а за ним уже последуют syslog-ng и rsyslog.

Ещё раз напомню мантру из первой части для тех, кому лень было эту часть читать :):
Настройка любого syslog-сервера сводится к следующей задаче:
Определение действий над сообщением по критериям facility, severity, хосту-источнику(для приходящих по сети), собственно тексту сообщения, возможно, другим критериям...


Sysklogd
Sysklogd - один из самых старых и минималистичных syslog-серверов, пришедший в мир Linux из мира BSD. От BSD-версии незначительно отличается в настройке. По-умолчанию поставляется с Debian etch и lenny, про другие дистрибутивы сказать не смогу. В следующей версии Debian вместо него используется rsyslog. Логически разделён на 2 демона - sysklogd - собственно syslog-демон и klogd - демон, читающий сообщения ядра, поэтому будьте готовы увидеть в списке процессов 2 демона вместо одного.

Настройки его, как правило, хранятся в файле /etc/syslog.conf и задаются построчно. Срока имеет вид:

<критерий><;<критерий>;...> <действие>
Где <критерий> должен выглядеть как:

<facility><,facility,...>.<severity><,<severity>,...>

Проще говоря, можно задать несколько facility и/или severity, отделяя их запятой, и задать несколько критериев, отделяя их точкой-с-запятой.
Правила, заданные в каждой строке никак не зависят друг от друга. Поэтому если вы, например, сделаете одинаковый критерий для двух разных файлов, то вы получите 2 одинаковых файла.

Например:
mail.crit /var/log/mail.log
Будет означать "записывать все сообщения почтовой подсистемы начиная с crit и выше в файл /var/log/mail.log". Обратите внимание, что записываются не сообщения только с severity crit, а все сообщения с crit и выше, т.е. crit, alrt и emerg.
Кроме того:
Вместо facility и severity может стоять *, что будет означать любое facility/severity
Знак "=" перед severity ограничит сообщение только указанным критерием.
Знак "!" перед severity будет означать все severity ниже указанного.
Комбинация "!=" перед severity позволит исключить конкретное severity.


Примеры:
# Писать любые сообщения почтовой подсистемы в /var/log/mail.log
mail.* /var/log/mail.log

# Писать все критические сообщения (alert и emerg) в файл /var/log/alert.log
*.alert /var/log/alert.log

# То же самое
*.=alert;*.=emerg /var/log/alert.log

# Писать отладочную(debug) информацию в файл /var/log/debug.log
*.=debug /var/log/debug.log

# Писать отладочную(debug) информацию от ядра и системных демонов в /var/log/system_debug.log
kern,daemon.=debug /var/log/system_debug.log

# Писать отладочную(debug и info) информацию в файл /var/log/debug.log
*.!notice /var/log/debug.log

# Писать все сообщения в файл /var/log/all.log
*.* /var/log/all.log


Действие, производимое над сообщением определяется перед полем <действие> (без пробела). Указываю их в таблице:

Символ и параметрыДействие
/<остаток пути к файлу> Запись в файл. Файлом также может быть устройство, например /dev/null или /dev/console
-/<путь к файлу> Записывать в файл, но "сбрасывать" файл на диск при записи каждого сообщения.
|<путь к файлу> Запись в fifo (fifo нужно предварительно создать командой mkfifo)
@<имя сервера или IP> Отправка на удалённый сервер по UDP
* Отправка в консоли всем залогиненным пользователям
<имя пользователя><,имя пользователя,...> Отправка определённым залогиненным пользователям


Примеры:
# Писать все критические сообщения (alert и emerg) в спец-файл fifo
# Создать спец-файл командой mkfifo /var/log/pipe.fifo
*.alert |/var/log/pipe.fifo

# Отправлять информацию об аутентификации на сервер безопасности
auth.*;authpriv.* @security

# Оповещать всех пользователей о важных событиях
*.emerg *

# Оповещать рута и Васю Пупкина о менее важных событиях тоже
*.crit root,pupkin

# Напоследок реальный пример из Debian - вся перечисленная муть попадает в /var/log/messages
# none здесь означает случай, когда severity сообщения не указано (для локальных сообщений такое может быть)
# Слеш используется, если хочется разместить правило на несколькох строках
# Учтите, что без слеша каждая строка будет восприниматься раздельно!
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages


Тэги: sysklogd syslog безопасность журналирование настройка
+ 6 -
Похожие Поделиться

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн