DevOps20 дек 202510 мин чтения

Инструменты безопасности серверов: CrowdSec, Fail2Ban, Grafana

Инструменты безопасности серверов: CrowdSec, Fail2Ban, Grafana

Алексей Смердов

Full-stack разработчик

Введение

Безопасность серверов — критически важный аспект любого веб-проекта. В этой статье мы расскажем, какие инструменты мы используем для защиты инфраструктуры наших клиентов: CrowdSec, Fail2Ban, Grafana и Podman.

CrowdSec: Коллективная защита

CrowdSec — это современная система обнаружения вторжений (IDS) с открытым исходным кодом. Главная особенность — коллективный интеллект: когда один участник сети обнаруживает угрозу, информация об атакующем IP распространяется всем пользователям.

Преимущества CrowdSec

  • Коллективный блоклист — защита от известных злоумышленников
  • Низкое потребление ресурсов — написан на Go
  • Гибкие сценарии — легко настраиваемые правила обнаружения
  • Интеграция с любыми сервисами — nginx, Apache, SSH и другие
  • Бесплатный — open source с опциональной платной консолью

Что CrowdSec может обнаружить

  • Brute-force атаки на SSH и веб-формы
  • Сканирование уязвимостей
  • Попытки SQL-инъекций
  • Атаки на WordPress и другие CMS
  • DDoS-атаки на уровне приложения

Fail2Ban: Проверенная классика

Fail2Ban — это утилита для защиты Linux-серверов от brute-force атак. Она мониторит логи и банит IP-адреса, которые проявляют подозрительную активность.

Как работает Fail2Ban

  • Анализирует лог-файлы в реальном времени
  • Находит паттерны неудачных попыток входа
  • Добавляет правила iptables для блокировки
  • Автоматически разбанивает после истечения срока

Типичные jails (правила)

  • sshd — защита SSH от подбора паролей
  • nginx-http-auth — защита basic auth
  • nginx-botsearch — блокировка сканеров
  • postfix — защита почтового сервера

Fail2Ban vs CrowdSec

Мы используем оба инструмента вместе. Fail2Ban — локальная защита, CrowdSec — глобальный интеллект. Вместе они обеспечивают многоуровневую безопасность.

Grafana: Мониторинг всего

Grafana — это платформа визуализации метрик и логов. Мы используем её для мониторинга всей инфраструктуры.

Что мы мониторим

  • Нагрузка на сервер — CPU, RAM, диск, сеть
  • Доступность сервисов — uptime, время ответа
  • Количество запросов — RPS, ошибки 4xx/5xx
  • Безопасность — заблокированные IP, попытки взлома
  • Бизнес-метрики — регистрации, заказы, конверсии

Связка с другими инструментами

  • Prometheus — сбор метрик
  • Loki — агрегация логов
  • AlertManager — оповещения в Telegram/Slack

Почему Grafana

  • Красивые дашборды из коробки
  • Гибкая система алертов
  • Поддержка множества источников данных
  • Open source и self-hosted
  • Огромное комьюнити и готовые дашборды

Podman: Безопасный деплой контейнеров

Podman — это замена Docker без демона. Главное преимущество — rootless-режим, который значительно повышает безопасность.

Преимущества Podman над Docker

  • Rootless — контейнеры работают без root-привилегий
  • Daemonless — нет постоянно запущенного демона
  • Совместимость с Docker — те же команды и образы
  • Systemd-интеграция — генерация unit-файлов
  • Pod-концепция — группировка контейнеров как в Kubernetes

Безопасность Podman

В rootless-режиме даже если злоумышленник выйдет из контейнера, у него не будет root-доступа к хосту. Это критически важно для продакшена.

Как мы используем Podman

  • Деплой приложений через podman-compose
  • Генерация systemd-сервисов для автозапуска
  • Изоляция сервисов друг от друга
  • Автоматические обновления образов

Наш стек безопасности

Вот как выглядит типовая настройка сервера для клиента:

  • Firewall — UFW или firewalld с минимумом открытых портов
  • CrowdSec — коллективная защита от известных угроз
  • Fail2Ban — локальная защита от brute-force
  • Podman — изоляция приложений в контейнерах
  • Grafana + Prometheus — мониторинг и алерты
  • Регулярные бэкапы — ежедневные снапшоты

Рекомендации по безопасности

Базовые правила, которые мы соблюдаем:

  • Отключение root-логина по SSH
  • Использование SSH-ключей вместо паролей
  • Регулярное обновление системы
  • Принцип минимальных привилегий
  • Мониторинг и алерты на подозрительную активность
  • Регулярный аудит конфигураций

Заключение

Безопасность — это процесс, а не продукт. Комбинация CrowdSec, Fail2Ban, Grafana и Podman даёт надёжную защиту при минимальных затратах. Все эти инструменты бесплатны и с открытым исходным кодом.

Хотите настроить безопасную инфраструктуру для вашего проекта? Мы поможем выбрать оптимальный стек и настроить мониторинг под ваши задачи.

Бесплатный расчёт за 30 минут

Расскажите о задаче — пришлём смету и план в письменном виде. Без обязательств. Если после разговора решите не работать — расстаёмся друзьями.

Получить расчёт