Мониторинг логов безопасности через Logwatch — как я себе упростила жизнь

ГлавнаяМониторинг логов безопасности через Logwatch — как я себе упростила жизнь

Содержание

Когда ты управляешь VPS, особенно если на нём крутится что-то важное — сайт, база данных, почтовик или VPN, — безопасность всегда где-то на заднем плане пульсирует тревожной строкой: “А вдруг что-то пошло не так?”. Я, честно говоря, не люблю сюрпризы в логах. Поэтому в какой-то момент села и настроила себе Logwatch — и с тех пор хоть чуть-чуть, но сплю спокойнее.


Что такое Logwatch и зачем он нужен

Если ты ещё не знакома с этим инструментом, то в двух словах: Logwatch — это утилита для мониторинга логов на Linux-сервере. Она берёт все важные системные сообщения за период (по умолчанию — сутки), анализирует их и формирует сводку на почту. Причём не просто голый дамп, а читаемый отчёт с разбивкой по категориям: SSH, sudo, PAM, cron, firewall и прочее.

Короче, Logwatch — это как дневник безопасности твоего сервера. Только он сам пишет и сам отправляет.


Установка Logwatch на Linux VPS

Я ставила на Ubuntu 22.04, но это работает и на Debian, и на CentOS. Установка элементарная:

sudo apt update sudo apt install logwatch -y

Если у тебя CentOS:

yum install logwatch -y

После этого можно запускать отчёт вручную:

sudo logwatch --detail High --mailto you@example.com --service All --range today

Но лучше настроить автоматическую отправку по cron.


Настройка ежедневных отчётов

Чтобы Logwatch не пылился, я прописала его в cron. Он и так цепляется за

/etc/cron.daily/00logwatch
, но я чуть подправила:

sudo nano /etc/cron.daily/00logwatch

И заменила строку примерно так:

/usr/sbin/logwatch --output mail --mailto your@email.com --detail medium

Можно указать

high
, если хочешь совсем уж подробный отчёт (спойлер: на busy-сервере можно залипнуть надолго).


Что показывает Logwatch

Вот только часть того, что приходит ко мне каждый день:

  • Попытки входа по SSH (включая неудачные);
  • Успешные sudo-команды и кто их запускал;
  • Статистика по fail2ban (если он есть);
  • Логи cron-заданий;
  • Сетевые события (через iptables, ufw, firewalld);
  • Проблемы с PAM, логины root’ом, попытки эскалации прав.

Это не SIEM и не аналитика уровня Splunk, но для личного VPS или сервера на клиента — с головой.


Примеры из жизни (и логи, которые спасли)

Однажды в 2 часа ночи Logwatch прислал отчёт, в котором было 47 неудачных попыток SSH-входа из Вьетнама. Я тогда только открыл порт после переноса сервиса — и сразу получил напоминание, почему fail2ban должен быть включён. Без Logwatch, возможно, я бы узнала об этом от клиента — когда у него бы что-то отвалилось.

В другой раз Logwatch показал, что мой скрипт резервного копирования в cron не отработал — ошибка доступа к папке. Я бы не заметила это недели две, пока бы не потребовался бэкап.


Советы из практики

  • Почтовик на сервере должен работать. Logwatch шлёт письма через
    sendmail
    или
    postfix
    . Без рабочего MTA — тишина.
  • Указывай только нужные сервисы. Зачем тебе
    rsync
    , если ты его не используешь? Упрощает отчёт.
  • Настрой fail2ban и auditd. Тогда Logwatch даст тебе ещё больше полезной информации.
  • Не ленись читать отчёты. Они реально помогают поймать баг или взлом до того, как станет больно.

Logwatch — это маленький, но очень полезный инструмент для linux log monitoring. Он не перегружает, не требует отдельного сервиса или агентской магии. Просто работает.

Если у тебя есть VPS, и ты хоть немного переживаешь за его безопасность — поставь Logwatch. Потратишь 10 минут, а сэкономишь — и нервы, и ночи без сна.