Почему мы заменили fail2ban на CrowdSec и как это поможет при DDoS-атаках
Проблема
- Корпоративный сайт крупной фармацевтической компании, подвергшийся слабой, но распределенной DDoS-атаке.
- Платная защита от DDoS не подключена, ввиду редкого возникновения подобных ситуаций.
- Штатный сервис fail2ban с нагрузкой не справляется.
Цель
- Подобрать более производительное open-source решение.
- Заменить fail2ban на сервере, произвести необходимые настройки.
Решение
-
01 Выбрали CrowdSec:
- По заявлению разработчиков сервис в 60 раз быстрее fail2ban (за счет того, что сервис написан на Go, а не на Python).
- У сервиса есть свой, регулярно обновляемый разработчиками community ip-blacklist, чего нет у fail2ban.
- Конфигурации сервиса пишутся на yaml, что более привычно т.к. используется в конфигурациях kubernetes, docker-compose, ansible и другого современного ПО.
- Имеется хаб с конфигурациями пользователей, что сильно расширяет возможности использование сервиса.
- Имеется API.
- Для парсинга логов использует формат grok patterns, аналогичный используемому нами сервису Graylog.
- 02 Написали свою конфигурацию, под используемое на сервере окружение.
- 03 Установили CrowdSec на сервер.
- 04 На основе имеющихся данных о DDoS-атаке настроили индивидуальную политику блокировки ip-адресов.
Требуется поддержка для
веб-сайта? Напишите нам!
веб-сайта? Напишите нам!
Итог
Нагрузка на процессор и диски уменьшилась, ситуация с доступностью сайта нормализовалась.
Мы получили в использование новый сервис, производительнее предыдущего и не уступающий ему по функционалу.