На этот вопрос уже есть ответ:
кто-то делает много запросов к определенной странице моего сайта, на которой есть JS. Впоследствии это увеличивает нагрузку на процессор до 100+, если я не перезапускаю apache.
Что я пробовал: - Уменьшить тайм-аут KeepAlive - Установлен mod_evasive (похоже, не работает из-за MaxChildProcesses, в основном он установлен и заносит IP-адреса в черный список, но я все еще могу обновить 20 раз, и он ничего не заблокирует) - Установлен DDOS DEFLATE (бесполезно, CSF лучше) - Настроен CSF для защиты порта 80 и запрета IP-адресов с более чем 50 подключениями (много ложных срабатываний все еще не не предотвращает скачок ЦП) - Установил limitipconn только для того, чтобы узнать, что он вообще не работает с apache 2 - Включил файлы cookie синхронизации и уменьшил различные тайм-ауты tcp - Оптимизировал site, чтобы сделать его менее уязвимым для DDOS-атак
На самом деле ничего не работает, и они все равно могут вывести мой сервер из строя, когда захотят.
Есть идеи?
Спасибо Оливер
Я не совсем уверен, что здесь Javascript отвечает за то, что вы видите. Javascript обрабатывается полностью на стороне клиента, для сервера нет ничего разного между обслуживанием Javascript и обслуживанием простого текста.
При этом у меня есть несколько предложений: 1) Полностью откажитесь от CSF. Он включает модуль conntrack iptables, который в основном можно использовать для DDOS вашего сайта. (У Conntrack есть таблица, в которой хранится информация о любых текущих соединениях. Когда эта таблица заполняется, ваш сервер перестает принимать новые соединения). Используйте некоторые простые правила iptables и избегайте сопоставления состояний
2) Поставьте что-нибудь более подходящее для обработки атак перед Apache. Nginx и HAProxy - хороший выбор. Они побеждают целые классы атак, просто находясь там.
3) Выясните, что приводит к сбою вашего сервера. Это входящая полоса пропускания? Может быть, у вас есть одна страница, которая очень ресурсоемка для обслуживания (не Javascript, как я уже сказал, это не имеет значения для сервера)? Что-то поглощает всех рабочих Apache? На самом деле, не зная источника ваших проблем, очень сложно от них защититься.