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

Iptables блокирует DDoS-атаки уровня 7

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

Я использую apache на ubuntu 12.04.

Поскольку HTTP - это TCP, а TCP требует двунаправленной связи, исходные адреса атак фактически являются источниками атак.

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

Если существует слишком много источников, чтобы можно было управлять нагрузкой таким образом, вам нужно будет найти что-то о запросах, чтобы иметь возможность классифицировать их как удаляемые, а затем ваш веб-сервер отбросит их. Идеи:

  • Все запросы к одному и тому же конкретному ресурсу?
  • Нерегулярные заголовки (не запрашивают ли они сжатие? Отправляют HTTP / 1.0? Не отправляют файлы cookie, когда это делают обычные пользователи)
  • Тот же или предсказуемый пользовательский агент?