Использование 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: Настройка и оптимизация фаервола Linux логи записывает в журналы /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 теперь CentOS Stream 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. Создадим файл /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 }
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах