Назад | Перейти на главную страницу

Одновременные запросы к сайту с JS вызывают скачок ЦП

кто-то делает много запросов к определенной странице моего сайта, на которой есть JS. Впоследствии это увеличивает нагрузку на процессор до 100+, если я не перезапускаю apache.

Что пробовал: - Уменьшить тайм-аут KeepAlive - Установлен mod_evasive (похоже, не работает из-за MaxChildProcesses, в основном он установлен и заносит IP-адреса в черный список, но я все еще могу выполнить обновление 20 раз, и он ничего не блокирует) - Установлен DDOS DEFLATE (без пользы, CSF лучше) - Настроен CSF для защиты порта 80 и запрета IP-адресов с более чем 50 подключениями (многие ложные срабатывания по-прежнему не предотвращают скачок ЦП) - Установлен limitipconn только для того, чтобы узнать, что он вообще не работает с apache 2 - Включены файлы cookie синхронизации и уменьшено количество различных tcp timeouts - Оптимизирован сайт, чтобы сделать его менее уязвимым для DDOS-атак.

На самом деле ничего не работает, и они все равно могут вывести мой сервер из строя, когда захотят.

Любые идеи?

Спасибо Оливер

Я не совсем уверен, что здесь Javascript отвечает за то, что вы видите. Javascript обрабатывается полностью на стороне клиента, для сервера нет ничего разного между обслуживанием Javascript и обслуживанием простого текста.

При этом у меня есть несколько предложений: 1) Полностью отказаться от CSF. Он включает модуль conntrack iptables, который можно использовать для DDOS вашего сайта. (У Conntrack есть таблица, в которой хранится информация о любых текущих соединениях. Когда эта таблица заполняется, ваш сервер перестает принимать новые соединения). Используйте некоторые простые правила iptables и избегайте сопоставления состояний

2) Поставьте перед Apache что-нибудь более подходящее для обработки атак. Nginx и HAProxy - хороший выбор. Они побеждают целые классы атак, просто находясь там.

3) Выясните, что приводит к сбою вашего сервера. Это входящая полоса пропускания? Может быть, у вас есть одна страница, которая очень ресурсоемка для обслуживания (не Javascript, как я уже сказал, это не имеет значения для сервера)? Что-то поглощает всех рабочих Apache? На самом деле, не зная источника ваших проблем, очень сложно от них защититься.