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

Методы борьбы с DDoS-атаками


DDoS-атаки — один из самых распространенных инструментов для вывода целевого сервиса из строя. В основном из-за легкости и дешевизны проведения. Механика атаки — в отправлении большого количества запросов на серверы компании, чтобы снизить их производительность или полностью «положить».

Технически такое может произойти и без участия злоумышленников. Свежий пример — финальная распродажа товаров в IKEA. Веб-сервер просто не выдержал наплыва запросов. Хотя обращались к нему даже не боты, а живые пользователи, которые хотели купить последнюю плюшевую акулу.

Поскольку в основе DDoS-атак — привычная механика отправления запросов, от них нельзя защититься полностью. Вы же не будете массово блокировать TCP- или UDP-запросы? Поэтому все способы защиты от DDoS основаны на выявлении и фильтрации подозрительного трафика. Либо — и так работает CDN — на распределении трафика.

Первый подход — защита непосредственно сервера


Здесь мы выстраиваем своеобразный «power shield» для своей инфраструктуры с помощью различного ПО. Защищаем серверы путем сканирования сетевых узлов, настройки файрволов, мониторинга уязвимостей.

Но целью все еще является именно ваш сервер. А значит, если вы подобрали неправильную защиту или недооценили ресурсы злоумышленников, вредоносный трафик прорвет оборону. Сайт начнет зависать, ваши клиенты не получат доступ к сервису.

Второй подход — распределение трафика


С DDoS-атаками CDN способен справиться хотя бы за счет своей архитектуры. Так как технология представляет собой целую сеть серверов, она может использовать производительность и масштабируемость «точек присутствия», или PoPs (Points of Presence).

Еще одно преимущество CDN в том, что за ним можно скрыть исходный IP-адрес своего сайта. Если вы его еще нигде не скомпрометировали, злоумышленники просто не будут знать, куда отправить «подарок» в виде кучи запросов. К слову, даже если IP-адрес стал известен, это можно исправить. Ряд провайдеров, в том числе Selectel, могут предоставить новый IP-адрес.


Насколько хорошо работают на безопасность эти базовые фичи CDN, зависит от уровня провайдера. Крупные CDN-провайдеры, тот же Akamai, действительно могут справиться даже с массовой DDoS-атакой. А вот поставщики CDN, которые привлекают исключительно дешевизной, могут сами сломаться под атакой или временно отключить вас от CDN, чтобы не подвергать риску остальных клиентов.

Часто пользователи боятся не столько DDoS-атак, сколько «атак на деньги», когда злоумышленники много раз скачивают данные сайта компании с серверов CDN, искусственно раздувая чек за услугу. В таком случае у провайдеров, в том числе Selectel, есть функция загрузки данных по токену.

Когда CDN нужна дополнительная защита


Мы выяснили, что хороший CDN вполне может защитить сайт от DDoS-атак. Но здесь есть нюанс, что работает это скорее для GET-запросов и статического контента. Если у вас образовательная онлайн-платформа или онлайн-издание, где пользователи взаимодействуют только со статикой, это ваша история. CDN позволит сэкономить на дополнительной защите от DDoS — с «топорными» TCP- и UDP-атаками он справится.

Но может быть другая ситуация. Необходимо не только получать данные, но и передавать их от пользователей в сервис — вам нужно разрешить клиент-серверные запросы через CDN в обе стороны. Например, у вас интернет-магазин с доставкой по всему миру, и пользователь может не только прочитать карточку товара, но и добавить его в корзину. В данном случае формируется HTTP-запрос, который отправляется обратно на Origin, исходный сервер, через CDN. Узлы CDN никак не обрабатывают такие HTTP-запросы, они просто их беспрепятственно через себя пропускают. Здесь есть узкое место для массовой атаки HTTP-запросами.

Поэтому, если у вас веб-ресурс с интерактивным контентом, рекомендуем задуматься о дополнительной защите приложения. В Selectel можно подобрать доступную web-защиту от DDoS-GUARD или Qrator. Она станет дополнительным «экраном» от злонамеренных атак HTTP-трафиком между узлом CDN и исходным сервером.

Если вы интересуетесь темой CDN, вам могут быть полезны эти тексты:

Как работает сеть доставки контента. Обратитесь к этому тексту, если «плаваете» в теории.
Кому нужен CDN, а кому он будет вреден. О преимуществах технологии для бизнеса.

Как выбрать CDN-провайдера


От этого выбора во многом зависит функциональность и безопасность услуги. Задайте себе или потенциальному провайдеру следующие вопросы:
  1. Сколько точек присутствия? Изучите карту CDN-серверов провайдера. Оцените, насколько будет реалистичен сценарий перераспределения трафика на ближайший PoPs.
  2. Какие есть дополнительные услуги для повышения безопасности? Хорошо, если у того же провайдера можно приобрести услугу, которая повысит безопасность вашей инфраструктуры, — например, защита от DDoS-атак на уровне приложения (L7).
  3. Сколько лет компания на рынке? Лучше выбрать поставщика услуг с хорошей репутацией и пулом клиентов.
  4. Есть ли поддержка SSL-сертификатов для пользовательских доменных имен? Обычно CDN-провайдер выдает технический домен (в Selectel по умолчанию это *.selcdn.net). Зачастую с дефолтным доменом неудобно — нужно будет следить, чтобы в ряде путей приложения был прописан именно технический домен. Удобнее заменить его на пользовательский и поставить там домен своего сайта. Некоторые провайдеры предлагают такую фичу только в премиум-подписках, но в Selectel это доступно каждому пользователю.

Добавим, что СDN от Selectel поддерживает не только клиентские SSL-сертификаты, но и бесплатные сертификаты Let’s Encrypt с автообновлением. Активировать их можно сразу в панели управления или с помощью API. Это бесплатно.


Выделим главное


  1. CDN действительно может повысить доступность и безопасность вашего сайта за счет архитектуры распределенных серверов. Хороший CDN справится с атаками на уровне L3-L4.
  2. Если через CDN вы передаете интерактивный контент, есть риск атак HTTP-запросами.
  3. Чтобы обезопасить себя полностью, стоит добавить к CDN защиту веб-приложения.
  4. Не менее важно — обратиться к правильному провайдеру. Выбирайте по числу точек присутствия, технологическому портфелю и репутации на рынке.

Комментарии (2)


  1. VitalySh
    06.09.2022 16:00
    +10

    Посту всего 4 часа, 21 плюс, 461 просмотр, всего 3 закладки и 6 человек прошло опрос.

    Смотрим топ посты за сегодня:

    https://habr.com/ru/post/686566/ - 3,6 плюса и 3,1 закладок на 1к просмотров

    https://habr.com/ru/company/yandex/blog/686324/ - 10 плюсов и 4 закладки на 1к просмотров

    https://habr.com/ru/company/selectel/blog/685816/ - 3,2 плюса и 1,5 закладок на 1к просмотров

    https://habr.com/ru/company/belayaraduga/blog/686032/ - 23 плюса и 10 закладок на 1к просмотров

    и наш текущий пост - 45 плюсов и 6,5 закладок на 1к просмотров

    Статья ведь совершенно ни о чем - просто реклама облака, но сильно заплюсована, при этом слишком мало людей ответило на опрос и добавило статью в закладки. Не крутит ли Selectel плюсы часом?

    Интересно посмотреть график плюсования в зависимости от времени и наложить на него график просмотров. Готов поспорить, что плюсы выйдут на ровную полочку, а вот просмотры пойдут вверх. Но сделать у меня такой график сейчас возможности нет.


  1. Pavelex
    08.09.2022 01:55

    А ведь я надеялся что действительно нашел познавательную статью, увы и ах...