Перейти к основному содержимому
Вернуться в категорию

Установка CrowdSec: Движок безопасности на основе сообщества

Установка CrowdSec, настройка bouncer, обнаружение атак, блокировка IP, дашборд, управление коллекциями и сценариями.

Время чтения: 15 мин Мониторинг
crowdsecбезопасностьidsобнаружение атакfirewalldockerсообщество

Содержание

Установка CrowdSec: Движок безопасности на основе сообщества

CrowdSec — это движок безопасности с открытым исходным кодом на основе сообщества. Он обнаруживает атаки через анализ логов и обеспечивает проактивную защиту благодаря разведке угроз, которой делится сообщество. Его можно рассматривать как современную и масштабируемую альтернативу Fail2ban.

Что такое CrowdSec?

Основные возможности:

  • Анализ логов: Анализ системных логов в реальном времени
  • Разведка сообщества: Глобальная база данных угроз
  • Система Bouncer: Блокировка на разных уровнях (firewall, Nginx, Cloudflare)
  • На основе сценариев: Сценарии атак на YAML
  • Коллекции: Готовые пакеты правил безопасности
  • Дашборд: Веб-панель управления
  • На основе API: Интеграция через REST API

Установка

Установка через пакетный менеджер

hljs bash
curl -s https://install.crowdsec.net | sudo sh
sudo apt install crowdsec -y
sudo apt install crowdsec-firewall-bouncer-iptables -y
sudo systemctl status crowdsec

Установка через Docker

hljs yaml
version: '3.8'
services:
  crowdsec:
    image: crowdsecurity/crowdsec:latest
    container_name: crowdsec
    restart: unless-stopped
    ports:
      - "8080:8080"
      - "6060:6060"
    volumes:
      - crowdsec_config:/etc/crowdsec
      - crowdsec_data:/var/lib/crowdsec/data
      - /var/log:/var/log:ro
    environment:
      - COLLECTIONS=crowdsecurity/linux crowdsecurity/nginx crowdsecurity/sshd

volumes:
  crowdsec_config:
  crowdsec_data:

Базовая настройка

Управление коллекциями

hljs bash
sudo cscli collections list
sudo cscli collections install crowdsecurity/linux
sudo cscli collections install crowdsecurity/nginx
sudo cscli collections install crowdsecurity/sshd
sudo cscli hub update
sudo cscli hub upgrade

Управление сценариями

hljs bash
sudo cscli scenarios list
sudo cscli scenarios install crowdsecurity/ssh-bf
sudo cscli scenarios install crowdsecurity/http-bad-user-agent
sudo cscli scenarios install crowdsecurity/http-probing

Настройка Bouncer

Firewall Bouncer

hljs bash
sudo apt install crowdsec-firewall-bouncer-iptables -y
hljs yaml
mode: iptables
update_frequency: 10s
api_url: http://localhost:8080/
api_key: ВАШ_API_KEY
deny_action: DROP
deny_log: true

Nginx Bouncer

hljs bash
sudo apt install crowdsec-nginx-bouncer -y
sudo cscli bouncers add nginx-bouncer

Управление решениями

hljs bash
sudo cscli decisions list
sudo cscli decisions add --ip 1.2.3.4 --reason "Ручная блокировка" --type ban --duration 24h
sudo cscli decisions add --range 1.2.3.0/24 --reason "Блокировка подсети" --type ban
sudo cscli decisions delete --ip 1.2.3.4
sudo cscli decisions delete --all

CrowdSec Console (Дашборд)

hljs bash
sudo cscli console enroll ВАШ_ENROLLMENT_KEY
sudo systemctl restart crowdsec

Дашборд: https://app.crowdsec.net

Пользовательский сценарий

hljs yaml
type: leaky
name: custom/brute-force
description: "Пользовательское обнаружение brute force"
filter: "evt.Meta.log_type == 'ssh_failed-auth'"
groupby: evt.Meta.source_ip
capacity: 5
leakspeed: 10m
blackholeduration: 4h
labels:
  service: ssh
  type: brute_force
  remediation: true

Настройка белого списка

hljs yaml
name: custom/whitelist
description: "Доверенные IP"
whitelist:
  reason: "Доверенные IP-адреса"
  ip:
    - "192.168.1.0/24"
    - "10.0.0.0/8"

Метрики Prometheus

hljs bash
sudo cscli metrics
curl http://localhost:6060/metrics

Обновление

hljs bash
sudo apt update
sudo apt upgrade crowdsec crowdsec-firewall-bouncer-iptables
sudo cscli hub update
sudo cscli hub upgrade

Логи и отладка

hljs bash
sudo tail -f /var/log/crowdsec.log
sudo tail -f /var/log/crowdsec-firewall-bouncer.log
sudo cscli explain --file /var/log/auth.log --type syslog

Установив CrowdSec на серверах REXE, вы получите защиту на основе сообщества. В отличие от Fail2ban, CrowdSec может проактивно блокировать IP-адреса, которые ещё не атаковали ваш сервер, благодаря глобальному обмену разведкой угроз.