Техническое задание: Аудит, оптимизация и защита веб-сервера
Суть проблемы
На сервере размещено около 50 сайтов на WordPress, все домены используют Cloudflare. Сайты малопосещаемые (установлены «болванки»). Наблюдаются критические проблемы с производительностью:
- Периодическая загрузка процессора на 90-100%.
- Сильное замедление работы сайтов, периодические полные отказы.
- Появление ошибок 403 и 521 (Cloudflare).
- Скачкообразная нагрузка без явных причин.
Текущее состояние
Предыдущие попытки решения привели к неработоспособной конфигурации. Были предприняты действия, которые, вероятно, конфликтуют между собой:
- Блокировка IP-адресов по логам (в список попали подсети Cloudflare).
- Установка nginx в качестве прокси перед Apache.
- Включение/отключение WAF (межсетевого экрана для веб-приложений).
- Ручная блокировка различных запросов.
- Отключение автозапуска WP-Cron.
- Многочисленные правки в конфигурационных файлах nginx, Apache и брандмауэра.
Итог: Часть сайтов работает нестабильно, некоторые открываются «через раз», возможны одновременные падения всех сайтов. Конфигурация запутана, требуются диагностика и приведение в порядок.
Подозрения на атаки
Есть основания полагать, что проблемы связаны с brute-force атаками или DDoS, что подтверждается предоставленными скриншотами (логи, графики нагрузки).
Задачи для исполнителя
1. Диагностика и аудит
- Проанализировать текущую конфигурацию сервера, nginx, Apache, брандмауэра.
- Выявить конфликтующие и избыточные настройки.
- Определить истинные причины высокой нагрузки (атаки, некорректная работа скриптов, плохая оптимизация).
2. Исправление конфигурации
- Убрать неправильные блокировки IP-адресов (особенно подсетей Cloudflare, критичных для работы).
- Привести в порядок и оптимизировать связку nginx + Apache (или предложить иное архитектурное решение).
- Устранить конфликты в настройках.
3. Настройка защиты
- Настроить базовую защиту от нежелательных запросов (например, отключить или ограничить доступ к
xmlrpc.php, wp-login.php).
- Корректно настроить правила WAF и брандмауэра с учетом работы через Cloudflare.
- Реализовать лимиты на запросы (rate limiting) для защиты от брут-форса.
4. Восстановление функциональности
- Восстановить корректную работу WP-Cron для всех сайтов.
- Обеспечить стабильную и быструю работу всех 50 сайтов.
- Документировать внесенные изменения.
Требуемый результат
- Стабильный сервер без скачков нагрузки до 100%.
- Все сайты открываются быстро и без ошибок 403/521.
- Настроена эффективная защита от распространенных атак.
- Конфигурация очищена от лишних и конфликтующих правок.