CDN против DDoS-атак: в каких случаях это действительно работает
Мы привыкли воспринимать 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-провайдера
От этого выбора во многом зависит функциональность и безопасность услуги. Задайте себе или потенциальному провайдеру следующие вопросы:
- Сколько точек присутствия? Изучите карту CDN-серверов провайдера. Оцените, насколько будет реалистичен сценарий перераспределения трафика на ближайший PoPs.
- Какие есть дополнительные услуги для повышения безопасности? Хорошо, если у того же провайдера можно приобрести услугу, которая повысит безопасность вашей инфраструктуры, — например, защита от DDoS-атак на уровне приложения (L7).
- Сколько лет компания на рынке? Лучше выбрать поставщика услуг с хорошей репутацией и пулом клиентов.
- Есть ли поддержка SSL-сертификатов для пользовательских доменных имен? Обычно CDN-провайдер выдает технический домен (в Selectel по умолчанию это *.selcdn.net). Зачастую с дефолтным доменом неудобно — нужно будет следить, чтобы в ряде путей приложения был прописан именно технический домен. Удобнее заменить его на пользовательский и поставить там домен своего сайта. Некоторые провайдеры предлагают такую фичу только в премиум-подписках, но в Selectel это доступно каждому пользователю.
Добавим, что СDN от Selectel поддерживает не только клиентские SSL-сертификаты, но и бесплатные сертификаты Let«s Encrypt с автообновлением. Активировать их можно сразу в панели управления или с помощью API. Это бесплатно.
Выделим главное
- CDN действительно может повысить доступность и безопасность вашего сайта за счет архитектуры распределенных серверов. Хороший CDN справится с атаками на уровне L3-L4.
- Если через CDN вы передаете интерактивный контент, есть риск атак HTTP-запросами.
- Чтобы обезопасить себя полностью, стоит добавить к CDN защиту веб-приложения.
- Не менее важно — обратиться к правильному провайдеру. Выбирайте по числу точек присутствия, технологическому портфелю и репутации на рынке.