Недавно я столкнулся с множеством ddos-атак 7 уровня на свой сайт. В частности, наводнение HTTP-запроса GET на странице индекса. (~ 20k r / s), мой сервер находится в OVH, поэтому он не перегружает канал, однако есть ли способ, используя iptables, я могу обнаруживать IP-адреса, которые делают чрезмерные запросы, и разрывать их соединения, чтобы избежать перегрузки моего веб-сервера? Или есть лучшее решение, чтобы все же фильтровать эти пакеты, не влияя отрицательно на законных клиентов.
Я использую apache на ubuntu 12.04.
Поскольку HTTP - это TCP, а TCP требует двунаправленной связи, исходные адреса атак фактически являются источниками атак.
Поскольку источники известны и не подделываются, вы можете ограничить скорость в iptables, чтобы значительно уменьшить объем запросов для каждого источника.
Если существует слишком много источников, чтобы можно было управлять нагрузкой таким образом, вам нужно будет найти что-то о запросах, чтобы иметь возможность классифицировать их как удаляемые, а затем ваш веб-сервер отбросит их. Идеи: