Использование syslog
syslog - стандарт отправки сообщений о происходящих в системе событиях (логов), использующийся в компьютерных сетях, работающих по протоколу IP. Настройка syslog производится через файл syslog.conf. syslog использует порт UDP 514.
Протокол syslog прост: отправитель посылает короткое текстовое сообщение, размером меньше 1024 байт получателю сообщения. Получатель при этом носит имя «syslogd», «syslog daemon», либо же, «syslog server». Сообщения могут отправляться как по UDP, так и по TCP. Как правило, такое сообщение отсылается в открытом виде. Тем не менее, используя специальные средства (такие, как Stunnel, sslio или sslwrap), возможно шифрование сообщений и отправка их по SSL сертификаты для для сайта, почты/TLS. Syslog используется для удобства администрирования и обеспечения информационной безопасности. Он реализован под множество платформ и используется в множестве устройств. Поэтому, использование syslog позволяет обеспечить сбор информации с разных мест и хранение её в едином репозитории.
- Командный интерфейс к syslog — logger
# logger -p local0.notice -t HOSTIDM -f /dev/idmc
- По умолчанию syslogd сбрасывает на диск (sync) файлы журналов всякий раз после записи в них системного сообщения. Вы можете отключить сброс, поставив перед именем файла в файле /etc/syslog.conf знак "минус". Например:
*.info;mail.none;authpriv.none -/var/log/messages
В случае аварии системы, сообщение о возникшей проблеме, скорее всего, не будет записано на диск.
Примеры настроек syslog.conf
Файл syslog.conf служит для настройки протокола Использование syslog. После любых изменений в конфигурационном файле демон syslogd должен быть перезапущен, например так
/etc/rc.d/syslogd restart
Как показывает практика, оптимальней новые записи добавлять в начало файла.
Настройка syslog для iptables
- Вариант №1. Настройка syslog. Тестировалась на ОС: Хостинг VPS/VDS на Ubuntu 10.04.1 LTS
По умолчанию Правила iptables логи записывает в журналы /var/log/messages, /var/log/syslog, и /var/log/kern.log. Настроим протоколирование iptables в отдельный файл iptables.log. Уровень протоколирования выбран –log-level INFO
Алгоритм изменений syslog:
- указываем сообщения ядра уровня INFO записывать в дополнительный файл: kern.info /var/log/iptables.log
- вывод в файлы syslog, kern.log блокируем: kern.!=info
# touch /var/log/iptables.log # nano /etc/rsyslog.d/50-default.conf kern.info /var/log/iptables.log auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none;\ kern.!=info -/var/log/syslog #cron.* /var/log/cron.log daemon.* -/var/log/daemon.log kern.*;kern.!=info -/var/log/kern.log ... *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none;kern.!=info -/var/log/messages ... # service rsyslog restart
- Вариант №2. Настройка syslog. Тестировалась на ОС: CentOS 6.6 Final
Для удобства введем общий префикс IPT: для правил iptables. По этому префиксу демон syslog будет определять что эта искомая строка и запишет согласно правилу в нужный нам файл iptables.log.
$IPT -A FORWARD -m limit --limit 3/m --limit-burst 5 -j LOG --log-level INFO --log-prefix "IPT: " $IPT -A INPUT -m limit --limit 3/m --limit-burst 5 -j LOG --log-level INFO --log-prefix "IPT: IN_ETH0: "
Создадим правила в /etc/rsyslog.d/iptables.conf
- iptables.conf
:msg, contains, "IPT: " -/var/log/iptables.log & ~
Где параметр & ~ говорит о том что дальнейшую обработку записи производить не надо, следовательно она не попадет в другие файлы логов "IPT: " — log-prefix — критерий с которого начинается запись лога, чтобы rsyslog смог ее отловить и перенаправить в нужный файл. Его можно сделать разным для каждого правила, но если правило не одно, то удобнее иметь общий префикс для всех правил. /var/log/iptables.log — файл в который писать лог. rsyslogd Property-Based Filters
service rsyslog restart
- Настройка ротации логов iptables с помощью Описание и примеры настройки logrotate в Linux. Создадим файл /etc/logrotate.d/iptables.
- iptables
/var/log/iptables.log { rotate 10 daily missingok notifempty compress delaycompress sharedscripts postrotate reload rsyslog >/dev/null 2>&1 || true # for Debian invoke-rc.d rsyslog reload > /dev/null # for RHEL service rsyslog reload > /dev/null # for CentOS endscript }
Крупнейшая в Европе школа английского языка
Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!
skyeng.ru
Онлайн школа английского языка
Английский по скайпу от 680р за урок, без заучивания правил. Эффективно! Удобно! Выгодно! Начните обучение прямо сейчас.
melene.ru
Школа английского языка по Skype
Персональные занятия по разумным ценам. Бесплатные ресурсы для студентов: разговорные клубы, блог, вебинары, книги, тест на определение уровня английского. Пробный урок бесплатно!
englex.ru