Инструменты мониторинга серверов: Grafana, Prometheus и Netdata
Настройка стека Prometheus + Grafana, Netdata, node_exporter, правила оповещений, создание дашбордов и мониторинг метрик сервера.
Установка CrowdSec, настройка bouncer, обнаружение атак, блокировка IP, дашборд, управление коллекциями и сценариями.
CrowdSec — это движок безопасности с открытым исходным кодом на основе сообщества. Он обнаруживает атаки через анализ логов и обеспечивает проактивную защиту благодаря разведке угроз, которой делится сообщество. Его можно рассматривать как современную и масштабируемую альтернативу Fail2ban.
Основные возможности:
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
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:
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
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
sudo apt install crowdsec-firewall-bouncer-iptables -y
mode: iptables
update_frequency: 10s
api_url: http://localhost:8080/
api_key: ВАШ_API_KEY
deny_action: DROP
deny_log: true
sudo apt install crowdsec-nginx-bouncer -y
sudo cscli bouncers add nginx-bouncer
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
sudo cscli console enroll ВАШ_ENROLLMENT_KEY
sudo systemctl restart crowdsec
Дашборд: https://app.crowdsec.net
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
name: custom/whitelist
description: "Доверенные IP"
whitelist:
reason: "Доверенные IP-адреса"
ip:
- "192.168.1.0/24"
- "10.0.0.0/8"
sudo cscli metrics
curl http://localhost:6060/metrics
sudo apt update
sudo apt upgrade crowdsec crowdsec-firewall-bouncer-iptables
sudo cscli hub update
sudo cscli hub upgrade
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-адреса, которые ещё не атаковали ваш сервер, благодаря глобальному обмену разведкой угроз.
CrowdSec делится разведкой угроз сообщества — IP атакующих, обнаруженные другими пользователями, автоматически блокируются и на вашем сервере. Fail2ban выполняет только локальный анализ логов. CrowdSec имеет более современную, API-ориентированную и масштабируемую архитектуру.
Проверьте, что bouncer установлен и работает: 'sudo cscli bouncers list'. Убедитесь в правильности API-ключа. Проверьте, что CrowdSec может читать лог-файлы. Просмотрите метрики: 'sudo cscli metrics'.
Удалите IP из списка блокировки: 'sudo cscli decisions delete --ip ВАШ_IP'. Для постоянного решения добавьте в белый список и перезагрузите: 'sudo systemctl reload crowdsec'.
Создайте бесплатный аккаунт на https://app.crowdsec.net. Получите ключ регистрации. Выполните 'sudo cscli console enroll ВАШ_КЛЮЧ'. Подтвердите сервер в Console.
Подключите логи Docker-контейнеров как volumes. Добавьте определения volumes вроде '/var/log/nginx:/var/log/nginx:ro'. Установите соответствующую коллекцию. Определите источник логов в acquis.yaml.
Обновите конфигурацию белого списка. Настройте параметры сценариев (увеличьте capacity и leakspeed). Просмотрите алерты: 'sudo cscli alerts list'. Создайте пользовательские сценарии с более специфичными правилами.
Настройка стека Prometheus + Grafana, Netdata, node_exporter, правила оповещений, создание дашбордов и мониторинг метрик сервера.
Squid forward proxy, HAProxy балансировщик нагрузки, SSL-терминация, правила ACL, кэширование, проверки состояния и высокая доступность.
Установка Nginx Proxy Manager через Docker, автоматическое обновление SSL-сертификатов, настройка proxy host, списки доступа, редиректы, потоки и пользовательские locations.