Сайт представляет собой простой грошовый аукцион сайт.
Сайт работает на:
В любой момент времени:
] Можно с уверенностью сказать, что пользователю следует:
На основании вышеизложенного, что бы вы рекомендовали для остановки любых атак типа «отказ в обслуживании»?
Пока что, когда дело доходит до отказа из службы, мне известно следующее:
Что бы вы порекомендовали и почему? Или, возможно, необходима комбинация?
С кешированием я уже использую MemCache, но, возможно, я могу включить кеширование на уровне веб-сервера? Цель состоит в том, чтобы снизить нагрузку на сервер до абсолютного минимума, что означает, что даже пользователи, повторно запрашивающие изображения или файлы css, должны быть остановлены?
В идеале я хочу, чтобы пользователь, который нарушает набор правил, которые я создаю, получил 403 запрещенный ответ, который должен иметь специальную страницу, объясняющую ему, почему он временно заблокирован. Это также означает, что если пользователь нарушает эти правила, он не должен быть заблокирован навсегда, а должен быть заблокирован на 10 минут.
Кроме того, одна из моих самых больших проблем - это блокировка по IP.Технически я мог бы создать блок на уровне PHP, но если несколько пользователей имеют одинаковый IP-адрес, как в случае с университетским или офисным блоком, как я могу предотвратить блокировку группы, если один парень нарушает правила? Верно и обратное: что, если одному парню удастся получить тысячи IP-адресов и ударить по серверу так сильно, как он может ... как мне это обнаружить?
Любые советы о том, как это сделать, были бы очень признательны!
Я бы предложил использовать ModSecurity:
Вот пример его использования для защиты DOS:
http://blog.cherouvim.com/simple-dos-protection-with-mod_security/
Я настоятельно рекомендую вам установить в тестовой среде и сначала протестировать, так как иногда в зависимости от приложения у вас будут ложноположительные совпадения в котором вам может потребоваться настроить правила.