
Инструменты безопасности серверов: 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 минут
Расскажите о задаче — пришлём смету и план в письменном виде. Без обязательств. Если после разговора решите не работать — расстаёмся друзьями.
Получить расчёт