Все материалыЛикбезКак обеспечить защищаемость ресурса от DDoS-атак? Задача №3

Как обеспечить защищаемость ресурса от DDoS-атак? Задача №3

17 сентября 2020

На прошлой неделе мы обсудили, как предоставить как можно больше информации DDoS-защитнику.

Перейдем к следующей задаче по повышению защищаемости онлайн-ресурсов от DDoS — обеспечение понятных возможностей фильтрации атаки.

Многие клиенты глубоко заблуждаются, полагая, что подключение сервиса anti-DDoS навсегда избавит их от забот по обеспечению защиты от атак на интернет-ресурс.

Давайте представим ситуацию

Есть интернет-сервис, который работает посредством UDP, никакой процедуры подключения к нему, по сути, нет — последовательность пакетов, которые должен пройти хост при подключении, не определена. Производительность сервиса при этом мала, и если начнется атака, он точно «захлебнется».

Ну и вопрос, что называется, «на засыпку»: как DDoS-защитник сможет такой сервис обезопасить? Возможности отфильтровать пакеты по какой-либо сигнатуре нет, поскольку сигнатуры в данном случае могут быть произвольные. Адреса источников пакетов также могут быть любые, поэтому и по ним ограничить поток невозможно. Да, конечно, можно использовать стандартные методы проверки — они позволят защитить сервис от атак стандартных типов. Но что если злоумышленник воспользуется необычным, например, каким-то собственным способом атаки, разработанным специально для этого сервиса?

Что же делать

О подобных аспектах необходимо думать заблаговременно, еще на стадии разработки сервиса. В частности, нужно обеспечить защитнику возможность отсекать взаимодействие с ботами. В первую очередь эта возможность должна предоставляться на уровне протокола. Отметим, что реализовать ее с TCP гораздо проще, чем с UDP. Если же по каким-то причинам необходимо использовать именно UDP, то нужно, по крайней мере, предоставить защитнику документацию по этому сервису, в которой подробно описаны процедуры установки соединения и аутентификации. Некоторые популярные протоколы на основе UDP (например, SIP, SAMP, TeamSpeak) можно отфильтровать достаточно легко, в том числе благодаря тому, что для них имеются подробные описания. Если протокол, на котором основан сервис, не содержит механизмов фильтрации, то защитить такой сервис оказывается очень непросто.

Фиксируем рекомендации

  • По возможности используйте TCP.
  • Если вынуждены использовать UDP, продумайте, как вы будете отличать легитимного клиента от нелегитимного.
  • Убедитесь, что DDoS-защитник знает, как фильтровать атаку и имеет метод фильтрации.

Помните, что само по себе подключение сервиса защиты — не панацея, особенно если сервис работает на основе UDP.