Как можно защитить сервер от DDoS атак, которые вызывают перегрузку процессора из-за запросов к MySQL?

Как можно защититься от атаки, уровень нагрузки на сервер которой доходит до 100% из-за большого количества странных запросов, включая редиректы и запросы к maradb? Сервер базы данных находится в контейнере Docker, и перезагрузка сервера не решает проблему, так как новые запросы поступают сразу же после перезагрузки. Является ли это ddos-атакой, и что можно предпринять для ее предотвращения?
Изображение к вопросу
Изображение к вопросу
  • 27 января 2024 г. 17:58
Ответы на вопрос 2
Защита сервера от DDoS-атак, особенно тех, которые приводят к высокой нагрузке на процессор из-за запросов к базе данных (в вашем случае к MySQL или MariaDB), включает в себя несколько стратегий и инструментов. Ниже представлены шаги, которые можно предпринять:

1. **Балансировка нагрузки**: Распределение трафика на несколько серверов может помочь абсорбировать всплески трафика, тем самым предотвращая перегрузку одного сервера.

2. **Фильтрация трафика**: Применение фильтров и правил на граничных маршрутизаторах или брандмауэрах для блокировки подозрительного или аномального трафика.

3. **Rate Limiting и QoS**: Ограничение количества запросов на основе IP-адреса, сессии или пользователя. Это может быть реализовано с помощью программного обеспечения балансировки нагрузки или специализированных сетевых устройств.

4. **Предотвращение SQL-инъекций**: Поскольку вы упомянули, что атаки включают большое количество странных запросов к базе данных, важно использовать подготовленные выражения и ORM для предотвращения инъекций SQL, которые могут использоваться для запуска вредоносных запросов.

5. **Защита на уровне приложения**: Внедрение WAF (Web Application Firewall) может защитить вас от различных веб-атак, включая DDoS, путем фильтрации и мониторинга HTTP-трафика перед тем, как он достигнет вашего сервера.

6. **Географические или поведенческие блокировки**: Если атаки идут из определенных географических регионов или имеют определенный поведенческий паттерн, можно заблокировать трафик с данных источников.

7. **Анализ логов и мониторинг**: Постоянное логирование и мониторинг запросов могут помочь быстрее определить и изолировать аномальные паттерны трафика.

8. **Использование облачных сервисов DDoS-защиты**: Облачные сервисы, такие как Cloudflare, AWS Shield, Google Cloud Armor или Akamai, могут предложить масштабную защиту от DDoS-атак.

9. **Резервное копирование и восстановление**: Убедитесь, что у вас есть актуальные резервные копии данных, чтобы вы могли быстро восстановить систему в случае успешной атаки.

10. **Аутентификация и авторизация**: Усиление политик аутентификации и авторизации, чтобы ограничить доступ к важным ресурсам только проверенным пользователям.

11. **Отключение неиспользуемых сервисов**: Отключение всех ненужных сервисов и портов, чтобы снизить количество потенциальных точек входа для атак.

Если вы сталкиваетесь с постоянными DDoS-атаками и простые меры не помогают, рекомендуется обратиться за помощью к профессионалам в сфере к
1) fail2ban 
2) Временно повесить заглушку "на сайте идут технические работы, все пучком"
3) Ждите, через некоторое время ботнет целиком поместиться в банлист и нагрузка упадет

Про адекватные решения по типу подключить Cloudflare вы скорее всего и сами знаете.
Похожие вопросы