Как убрать ддос атаку с компьютера
Говоря простым языком, DoS-атаки - это некоторый вид злонамеренной деятельности, ставящей своей целью довести компьютерную систему до такого состояния, когда она не сможет обслуживать правомерных пользователей или правильно выполнять возложенные на нее функции. К состоянию "отказ в обслуживании" обычно приводят ошибки в ПО (программном обеспечении) или чрезмерная нагрузка на сетевой канал или систему в целом. В результате чего ПО, либо вся операционная система машины, "падает" или же оказывается в "зацикленном" состоянии. А это грозит простоями, потерей посетителей/клиентов и убытками.
Анатомия DoS-атак
DoS-атаки подразделяются на локальные и удаленные. К локальным относятся различные эксплойты, форк-бомбы и программы, открывающие по миллиону файлов или запускающие некий циклический алгоритм, который сжирает память и процессорные ресурсы. На всем этом мы останавливаться не будем. А вот удаленные DoS-атаки рассмотрим подробнее. Они делятся на два вида:
- Удаленная эксплуатация ошибок в ПО с целью привести его в нерабочее состояние.
- Flood - посылка на адрес жертвы огромного количества бессмысленных (реже – осмысленных) пакетов. Целью флуда может быть канал связи или ресурсы машины. В первом случае поток пакетов занимает весь пропускной канал и не дает атакуемой машине возможность обрабатывать легальные запросы. Во втором - ресурсы машины захватываются с помощью многократного и очень частого обращения к какому-либо сервису, выполняющему сложную, ресурсоемкую операцию. Это может быть, например, длительное обращение к одному из активных компонентов (скрипту) web-сервера. Сервер тратит все ресурсы машины на обработку запросов атакующего, а пользователям приходится ждать.
В традиционном исполнении (один атакующий - одна жертва) сейчас остается эффективным только первый вид атак. Классический флуд бесполезен. Просто потому что при сегодняшней ширине канала серверов, уровне вычислительных мощностей и повсеместном использовании различных анти-DoS приемов в ПО (например, задержки при многократном выполнении одних и тех же действий одним клиентом), атакующий превращается в надоедливого комара, не способного нанести какой бы то ни было ущерб. Но если этих комаров наберутся сотни, тысячи или даже сотни тысяч, они легко положат сервер на лопатки. Толпа - страшная сила не только в жизни, но и в компьютерном мире. Распределенная атака типа "отказ в обслуживании" (DDoS), обычно осуществляемая с помощью множества зомбифицированных хостов, может отрезать от внешнего мира даже самый стойкий сервер, и единственная эффективная защита - организация распределенной системы серверов (но это по карману далеко не всем, привет Google).
Методы борьбы
Выхода из этой ситуации фактически нет, однако последствия DDoS-атак и их эффективность можно существенно снизить за счет правильной настройки маршрутизатора, брандмауэра и постоянного анализа аномалий в сетевом трафике. В следующей части статьи мы последовательно рассмотрим:
- способы распознавания начинающейся DDoS-атаки;
- методы борьбы с конкретными типами DDoS-атак;
- универсальные советы, которые помогут подготовиться к DoS-атаке и снизить ее эффективность.
В самом конце будет дан ответ на вопрос: что делать, когда началась DDoS-атака.
Борьба с flood-атаками
Методы борьбы с HTTP-флудом включают в себя тюнинг web-сервера и базы данных с целью снизить эффект от атаки, а также отсеивание DoS-ботов с помощью различных приемов. Во-первых, следует увеличить максимальное число коннектов к базе данных одновременно. Во-вторых, установить перед web-сервером Apache легкий и производительный nginx – он будет кэшировать запросы и отдавать статику. Это решение из списка "must have", которое не только снизит эффект DoS-атак, но и позволит серверу выдержать огромные нагрузки.
В случае необходимости можно задействовать nginx-модуль ngx_http_limit_req_module, ограничивающий количество одновременных подключений с одного адреса. Ресурсоемкие скрипты можно защитить от ботов с помощью задержек, кнопок "Нажми меня", выставления кукисов и других приемов, направленных на проверку "человечности".
Универсальные советы
Чтобы не попасть в безвыходное положение во время обрушения DDoS-шторма на системы, необходимо тщательным образом подготовить их к такой ситуации:
- Все сервера, имеющие прямой доступ во внешнюю сеть, должны быть подготовлены к простому и быстрому удаленному ребуту. Большим плюсом будет наличие второго, административного, сетевого интерфейса, через который можно получить доступ к серверу в случае забитости основного канала.
- ПО, используемое на сервере, всегда должно находиться в актуальном состоянии. Все дырки - пропатчены, обновления установлены (простой, как сапог, совет, которому многие не следуют). Это оградит тебя от DoS-атак, эксплуатирующих баги в сервисах.
- Все слушающие сетевые сервисы, предназначенные для административного использования, должны быть спрятаны брандмауэром ото всех, кто не должен иметь к ним доступ. Тогда атакующий не сможет использовать их для проведения DoS-атаки или брутфорса.
- На подходах к серверу (ближайшем маршрутизаторе) должна быть установлена система анализа трафика, которая позволит своевременно узнать о начинающейся атаке и вовремя принять меры по ее предотвращению.
Добавьте в /etc/sysctl.conf следующие строки:
Следует отметить, что все приемы, направлены на снижение эффективности DDoS-атак, ставящих своей целью израсходовать ресурсы машины. От флуда, забивающего канал мусором, защититься практически невозможно, и единственно правильный, но не всегда осуществимый способ борьбы заключается в том, чтобы "лишить атаку смысла". Если ты заимеешь в свое распоряжение действительно широкий канал, который легко пропустит трафик небольшого ботнета, считай, что от 90% атак твой сервер защищен. Есть более изощренный способ защиты. Он основан на организации распределенной вычислительной сети, включающей в себя множество дублирующих серверов, которые подключены к разным магистральным каналам. Когда вычислительные мощности или пропускная способность канала заканчиваются, все новые клиенты перенаправляются на другой сервер (или же постепенно "размазываются" по серверам по принципу round-robin). Это но очень стойкая структура, завалить которую практически нереально.
Другое более-менее эффективное решение заключается в покупке хардварных систем. Работая в связке, они могут подавить начинающуюся атаку, но, как и большинство других решений, основанных на обучении и анализе состояний, дают сбои.
Кажется, началось. Что делать?
Перед непосредственным началом атаки боты "разогреваются", постепенно наращивая поток пакетов на атакуемую машину. Важно поймать момент и начать активные действия. Поможет в этом постоянное наблюдение за маршрутизатором, подключенным к внешней сети (анализ графиков NetFlow). На сервере-жертве определить начало атаки можно подручными средствами.
Наличие SYN-флуда устанавливается легко - через подсчет числа "полуоткрытых" TCP-соединений:
В обычной ситуации их не должно быть совсем (или очень небольшое количество: максимум 1-3). Если это не так - ты атакован, срочно переходи к дропанью атакующих.
Значения, в несколько раз превышающие среднестатистические, дают основания задуматься. Далее следует просмотреть список IP-адресов, с которых идут запросы на подключение:
Однозначно идентифицировать DoS-атаку нельзя, можно лишь подтвердить свои догадки о наличии таковой, если один адрес повторяется в списке слишком много раз (да и то, это может говорить о посетителях, сидящих за NAT'ом). Дополнительным подтверждением будет анализ пакетов с помощью tcpdump:
Показателем служит большой поток однообразных (и не содержащих полезной информации) пакетов от разных IP, направленных на один порт/сервис (например, корень web-сервера или определенный cgi-скрипт).
Окончательно определившись, начинаем дропать неугодных по IP-адресам (будет гораздо больше эффекта, если ты сделаешь это на маршрутизаторе):
Или сразу по подсетям:
Во времена своего рассвета DoS-атаки были настоящей катастрофой для серверов и обычных рабочих станций. Web-сайт можно было легко завалить с помощью одного-единственного хоста, реализующего атаку типа Smurf. Рабочие станции с установленной ОС Windows падали, как доминошки, от атак типа Ping of Death, Land, WinNuke. Сегодня всего этого не стоит опасаться.
Кого атакуют?
По данным ЦБ, в 2016 году количество DDoS-атак на российские финансовые организации увеличилось почти вдвое. В ноябре DDoS-атаки были направлены на пять крупных российских банков. В конце прошлого года ЦБ сообщал о DDoS-атаках на финансовые организации, в том числе Центральный банк. «Целью атак было нарушение работы сервисов и, как следствие, подрыв доверия к этим организациям. Данные атаки были примечательны тем, что это было первое масштабное использование в России интернета вещей. В основном в атаке были задействованы интернет-видеокамеры и бытовые роутеры», — отмечали в службах безопасности крупных банков.
При этом DDoS-атаки существенного ущерба банкам не принесли – они неплохо защищены, поэтому такие атаки, хотя и доставляли неприятности, но не носили критический характер и не нарушили ни одного сервиса. Тем не менее, можно констатировать, что антибанковская активность хакеров значительно увеличилась.
В феврале 2017 года технические службы Минздрава России отразили самую масштабную за последние годы DDoS-атаку, которая в пиковом режиме достигала 4 миллионов запросов в минуту. Предпринимались и DDoS-атаки на государственные реестры, но они также были безуспешны и не привели к каким-либо изменениям данных.
Однако жертвами DDoS-атак становятся как многочисленные организации и компании, на обладающие столь мощной «обороной». В 2017 году ожидается рост ущерба от киберугроз – программ-вымогателей, DDoS и атак на устройства интернета вещей.
Устройства IoT приобретают все большую популярность в качестве инструментов для осуществления DDoS-атак. Знаменательным событием стала предпринятая в сентябре 2016 года DDoS-атака с помощью вредоносного кода Mirai. В ней в роли средств нападения выступили сотни тысяч камер и других устройств из систем видеонаблюдения.
Она была осуществлена против французского хостинг-провайдера OVH. Это была мощнейшая DDoS-атака – почти 1 Тбит/с. Хакеры с помощью ботнета задействовали 150 тыс. устройств IoT, в основном камеры видеонаблюдения. Атаки с использованием ботнета Mirai положили начало появлению множества ботнетов из устройств IoT. По мнению экспертов, в 2017 году IoT-ботнеты по-прежнему будут одной из главных угроз в киберпространстве.
По данным отчета «2016 Verizon data breach incident report» (DBIR), в прошлом году количество DDoS-атак заметно выросло. В мире больше всего страдает индустрия развлечений, профессиональные организации, сфера образования, ИТ, ритейл.
Примечательная тенденция DDoS-атак – расширения «списка жертв». Он включает теперь представителей практически всех отраслей. Кроме того, совершенствуются методы нападения.
По данным Nexusguard, в конце 2016 года заметно выросло число DDoS-атак смешанного типа — с использованием сразу нескольких уязвимостей. Чаще всего им подвергались финансовые и государственные организации. Основной мотив кибепреступников (70% случаев) – кража данных или угроза их уничтожения с целью выкупа. Реже – политические или социальные цели. Вот почему важна стратегия защиты. Она может подготовиться к атаке и минимизировать ее последствия, снизить финансовые и репутационные риски.
Последствия атак
Каковы последствия DDoS-атаки? Во время атаки жертва теряет клиентов из-за медленной работы или полной недоступности сайта, страдает репутация бизнеса. Сервис-провайдер может заблокировать IP-адрес жертвы, чтобы минимизировать ущерб для других клиентов. Чтобы все восстановить, потребуется время, а возможно и деньги.
По данным опроса компании HaltDos, DDoS-атаки рассматриваются половиной организаций как одна из самых серьезных киберугроз. Опасность DDoS даже выше, чем опасность несанкционированного доступа, вирусов, мошенничества и фишинга, не говоря о прочих угрозах.
Средние убытки от DDoS-атак оцениваются по миру в 50 тыс. долларов для небольших организаций и почти в 500 тыс. долларов для крупных предприятий. Устранение последствий DDoS-атаки потребует дополнительного рабочего времени сотрудников, отвлечения ресурсов с других проектов на обеспечение безопасности, разработки плана обновления ПО, модернизации оборудования и пр.
Репутация атакованной организации может пострадать не только из-за плохой работы сайта, но и из-за кражи персональных данных или финансовой информации.
По данным опроса компании HaltDos, количество DDoS-атак растет ежегодно на 200%, ежедневно в мире сообщают о 2 тыс. атаках такого типа. Стоимость организации DDoS-атаки недельной продолжительности – всего порядка 150 долларов, а потери жертвы в среднем превышают 40 тыс. долларов в час.
Типы DDoS-атак
Основные типы DDoS-атак: массированные атаки, атаки на протокольном уровне и атаки на уровне приложений. В любом случае цель состоит в том, чтобы вывести сайт из строя или же украсть данные. Другой вид киберпреступлений – угроза совершения DDoS-атаки для получения выкупа. Этим славятся такие хакерские группировки как Armada Collective, Lizard Squad, RedDoor и ezBTC.
Организация DDoS-атак заметно упростилась: сейчас есть широко доступные автоматизированные инструменты, практически не требующие от киберпреступников специальных знаний. Существуют и платные сервисы DDoS для анонимной атаки цели. Например, сервис vDOS предлагает свои услуги, не проверяя, является ли заказчик владельцем сайта, желающим протестировать его «под нагрузкой», или это делается с целью атаки.
Многовекторные атаки составляют порядка 27% от общего числа атак DDoS.
В случае массовой DDoS-атаки (volume based) используется большое количество запросов, нередко направляемых с легитимных IP-адресов, чтобы сайт «захлебнулся» в трафике. Цель таких атак – «забить» всю доступную полосу пропускания и перекрыть легитимный трафик.
В случае атаки на уровне протокола (например, UDP или ICMP) целью является исчерпание ресурсов системы. Для этого посылаются открытые запросы, например, запросы TCP/IP c поддельными IP, и в результате исчерпания сетевых ресурсов становится невозможной обработка легитимных запросов. Типичные представители — DDoS-атаки, известные в узких кругах как Smurf DDos, Ping of Death и SYN flood. Другой вид DDoS-атак протокольного уровня состоит в отправке большого числа фрагментированных пакетов, с которыми система не справляется.
DDoS-атаки Layer 7 – это отправка безобидных на вид запросов, которые выглядят как результат обычных действий пользователей. Обычно для их осуществления используют ботнеты и автоматизированные инструменты. Известные примеры — Slowloris, Apache Killer, Cross-site scripting, SQL-injection, Remote file injection.
В 2012–2014 годах большинство массированных DDoS-атак были атаками типа Stateless (без запоминания состояний и отслеживания сессий) – они использовали протокол UDP. В случае Stateless в одной сессии (например, открытие страницы) циркулирует много пакетов. Кто начал сессию (запросил страницу), Stateless-устройства, как правило, не знают.
Тот же метод работает для серверов NTP, устройств с поддержкой SSDP. Протокол NTP – едва ли не самый популярный метод: во второй половине 2016 года он использовался в 97,5% DDoS-атак.
Правило Best Current Practice (BCP) 38 рекомендует провайдерам конфигурировать шлюзы для предотвращения спуфинга – контролируется адрес отправителя, исходная сеть. Но такой практике следуют не все страны. Кроме того, атакующие обходят контроль BCP 38, переходя на атаки типа Stateful, на уровне TCP. По данным F5 Security Operations Center (SOC), в последние пять лет такие атаки доминируют. В 2016 году TCP-атак было вдвое больше, чем атак с использованием UDP.
К атакам Layer 7 прибегают в основном профессиональные хакеры. Принцип следующий: берется «тяжелый» URL (с файлом PDF или запросом к крупной БД) и повторяется десятки или сотни раз в секунду. Атаки Layer 7 имеют тяжелые последствия и трудно распознаются. Сейчас они составляют около 10% DDoS-атак.
Соотношение разных типов DDoS-атак по данным отчета Verizon Data Breach Investigations Report (DBIR) (2016 год).
Нередко DDoS-атаки приурочивают к периодам пикового трафика, например, к дням интернет-распродаж. Большие потоки персональных и финансовых данных в это время привлекают хакеров.
DDoS-атаки на DNS
Доменная система имен (Domain Name System, DNS) играет фундаментальную роль в производительности и доступности сайта. В конечном счете – в успехе вашего бизнеса. К сожалению, инфраструктура DNS часто становится целью DDoS-атак. Подавляя инфраструктуру DNS, злоумышленники могут нанести ущерб вашему сайту, репутации вашей компании и повлиять ее финансовые показатели. Чтобы противостоять современным угрозам, инфраструктура DNS должна быть весьма устойчивой и масштабируемой.
По существу DNS – распределенная база данных, которая, кроме всего прочего, ставит в соответствие удобные для чтения имена сайтов IP-адресам, что позволяет пользователю попасть на нужный сайт после ввода URL. Первое взаимодействие пользователя с сайтом начинается с DNS-запросов, отправляемых на сервер DNS с адресом интернет-домена вашего сайта. На их обработку может приходиться до 50% времени загрузки веб-страницы. Таким образом, снижение производительности DNS может приводить к уходу пользователей с сайта и потерям для бизнеса. Если ваш сервер DNS перестает отвечать в результате DDoS-атаки, то на сайт никто попасть не сможет.
DDoS-атаки трудно обнаружить, особенно вначале, когда трафик выглядит нормальным. Инфраструктура DNS может подвергаться различным типам DDoS-атак. Иногда это прямая атака на серверы DNS. В других случаях используют эксплойты, задействуя системы DNS для атаки на другие элементы ИТ-инфраструктуры или сервисы.
При атаках DNS Reflection цель подвергается массированным подложным ответам DNS. Для этого применяют бот-сети, заражая сотни и тысячи компьютеров. Каждый бот в такой сети генерирует несколько DNS-запросов, но в качестве IP источника использует один и тот же IP-адрес цели (спуфинг). DNS-сервис отвечает по этому IP-адресу.
Предположим, атакующий выдал 100 000 коротких запросов DNS по 50 байт (всего 5 Мбайт). Если каждый ответ содержит 1 Кбайт, то в сумме это уже 100 Мбайт. Отсюда и название – Amplification (усиление). Комбинация атак DNS Reflection и Amplification может иметь очень серьезные последствия.
Как защититься от DDoS-атак?
Как же защититься от DDoS-атак, какие шаги предпринять? Прежде всего, не стоит откладывать это «на потом». Какие-то меры следует принимать во внимание при конфигурировании сети, запуске серверов и развертывании ПО. И каждое последующее изменение не должно увеличивать уязвимость от DDoS-атак.
-
Безопасность программного кода. При написании ПО должны приниматься во внимание соображения безопасности. Рекомендуется следовать стандартам «безопасного кодирования» и тщательно тестировать программное обеспечение, чтобы избежать типовых ошибок и уязвимостей, таких как межсайтовые скрипты и SQL-инъекции.
Защита DNS
А как защитить инфраструктуру DNS от DDoS-атак? Обычные файрволы и IPS тут не помогут, они бессильны против комплексной DDoS-атаки на DNS. На самом деле брандмауэры и системы предотвращения вторжений сами являются уязвимыми для атак DDoS.
На выручку могут прийти облачные сервисы очистки трафика: он направляется в некий центр, где проверяется и перенаправляется обратно по назначению. Эти услуги полезны для TCP-трафика. Те, кто сами управляют своей инфраструктурой DNS, могут для ослабления последствий DDoS-атак принять следующие меры.
-
Мониторинг DNS-серверов на предмет подозрительной деятельности является первым шагом в деле защиты инфраструктуры DNS. Коммерческие решения DNS и продукты с открытым исходным кодом, такие как BIND, предоставляют статистику в реальном времени, которую можно использоваться для обнаружения атак DDoS. Мониторинг DDoS-атак может быть ресурсоемкой задачей. Лучше всего создать базовый профиль инфраструктуры при нормальных условиях функционирования и затем обновлять его время от времени по мере развития инфраструктуры и изменения шаблонов трафика.
В случае Unicast каждый из серверов DNS вашей компании получает уникальный IP-адрес. DNS поддерживает таблицу DNS-серверов вашего домена и соответствующих IP-адресов. Когда пользователь вводит URL, для выполнения запроса выбирается один из IP-адресов в случайном порядке.
При схеме адресации Anycast разные серверы DNS используют общий IP-адрес. При вводе пользователем URL возвращается коллективный адрес серверов DNS. IP-сеть маршрутизирует запрос на ближайший сервер.
Anycast предоставляет фундаментальные преимущества перед Unicast в плане безопасности. Unicast предоставляет IP-адреса отдельных серверов, поэтому нападавшие могут инициировать целенаправленные атаки на определенные физические серверы и виртуальные машины, и, когда исчерпаны ресурсы этой системы, происходит отказ службы. Anycast может помочь смягчить DDoS-атаки путем распределения запросов между группой серверов. Anycast также полезно использовать для изоляции последствий атаки.
Средства защиты от DDoS-атак, предоставляемые провайдером
Проектирование, развертывание и эксплуатации глобальной Anycast-сети требует времени, денег и ноу-хау. Большинство ИТ-организаций не располагают для этого специалистами и финансами. Можно доверить обеспечение функционирования инфраструктуры DNS провайдеру – поставщику управляемых услуг, который специализируется на DNS. Они имеют необходимые знания для защиты DNS от DDoS-атак.
Поставщики услуг Managed DNS эксплуатируют крупномасштабные Anycast-сети и имеют точки присутствия по всему миру. Эксперты по безопасности сети осуществляют мониторинг сети в режиме 24/7/365 и применяют специальные средства для смягчения последствий DDoS-атак.
Услуги защиты от DDoS-атак предлагают и некоторые поставщики услуг хостинга: анализ сетевого трафика производится в режиме 24/7, поэтому ваш сайт будет в относительной безопасности. Такая защита способна выдержать мощные атаки — до 1500 Гбит/сек. Оплачивается при этом трафик.
Еще один вариант – защита IP-адресов. Провайдер помещает IP-адрес, который клиент выбрал в качестве защищаемого, в специальную сеть-анализатор. При атаке трафик к клиенту сопоставляется с известными шаблонами атак. В результате клиент получает только чистый, отфильтрованный трафик. Таким образом, пользователи сайта могут и не узнать, что на него была предпринята атака. Для организации такого создается распределенная сеть фильтрующих узлов так, чтобы для каждой атаки можно было выбрать наиболее близкий узел и минимизировать задержку в передаче трафика.
Результатом использования сервисов защиты от DDoS-атак будет своевременное обнаружение и предотвращение DDoS-атак, непрерывность функционирования сайта и его постоянная доступность для пользователей, минимизация финансовых и репутационных потерь от простоев сайта или портала.
Я на digital рынке с 2008 года, и за это время видел переход от веб-сайтов на Joomla (помните такую? ) до сегодняшнего Интернета с его mobile-first приложениями и сотнями миллионов IoT устройств, подключенных в сеть.
Атаки в Интернете также за это время неплохо развилиcь :)
Но рынок защиты от DDoS и используемые операторами технологии защиты от атак остаются все еще достаточно сильно закрытым.
Расскажу, что узнал про него, поддерживая веб-сайты и интернет-сервисы, находящиеся под непрерывными атаками несколько последних лет.
Сначала кратко про виды атак.
Виды DDoS атак с точки зрения выбора оператора защиты
Атаки на уровне L3 / L4 (по модели OSI)
- UDP flood с ботнета (напрямую с зараженных устройств на атакуемый сервис отправляется много запросов, серверам заваливают канал);
- DNS/NTP/etc amplification (с зараженных устройств отправляется много запросов на уязвимые DNS/NTP/etc, адрес отправителя подделывается, туча пакетов с ответом на запросы заваливает канал тому, кого атакуют; так выполняются самые массовые атаки в современном интернете);
- SYN / ACK flood (на атакуемые серверы отправляется много запросов на установление соединения, происходит переполнение очереди соединений);
- атаки с фрагментацией пакетов, ping of death, ping flood (погуглите плз);
- и т.п.
Атаки на L7 (уровень приложения)
Почему 2 группы?
Потому что есть много тех, кто умеет хорошо отбивать атаки на уровне L3 / L4, но или вообще не берется за защиту на уровне приложения (L7), или пока справляется с ними слабее альтернатив.
Кто есть кто на рынке защиты от DDoS
(мой личный взгляд)
Защита на уровне L3/L4
Чтобы отбивать атаки с SYN/ACK флудом, фрагментацией пакетов, етс, необходимо оборудование или софтверные системы для детекции и отсекания таких атак.
Из известных игроков более-менее эффективно L3/L4 DDoS отбивать умеют все. Я сейчас не скажу, у кого больше максимальная емкость канала (это инсайдерская информация), но обычно это не так важно, и разница только в том, насколько быстро срабатывает защита (мгновенно или через несколько минут даунтайма проекта, как в Hetzner).
Вопрос в том, насколько качественно это делается: атаку с амплификацией можно отбить, заблокировав трафик из стран с наибольшим количеством вредного трафика, а можно отбрасывать только действительно лишний трафик.
Но при этом, исходя из моего опыта, все серьезные игроки на российском рынке с этим справляются без проблем: Qrator, DDoS-Guard, Kaspersky, G-Core Labs (бывший SkyParkCDN), ServicePipe, Stormwall, Voxility, etc.
С зарубежными операторами защиты компании в России работают редко, за исключением Cloudflare. Про Cloudflare напишу отдельно.
С защитой от операторов типа Ростелеком, Мегафон, ТТК, Билайн не сталкивался, по отзывам коллег они эти услуги оказывают достаточно качественно, но пока периодически сказывается недостаток опыта: иногда нужно что-нибудь докрутить через поддержку оператора защиты.
У некоторых операторов есть отдельная услуга «защита от атак на уровне L3/L4», или «защита каналов», она стоит намного дешевле защиты на всех уровнях.
Вот такие отчеты от вышестоящей L3/L4 защиты я регулярно получал, поддерживая системы хостинг-провайдера.
Защита на уровне L7 (уровень приложения)
Атаки на уровне L7 (уровень приложения) стабильно и качественно умеют отбивать единицы.
У меня есть реальный достаточно большой опыт с
Качественная и стабильная защита есть и у других операторов. Многие сервисы на нашей поддержке (в т.ч. очень известные в стране!) стоят под защитой от DDoS-Guard, G-Core Labs, и вполне довольны получаемым результатом, могу их рекомендовать.
Атаки, отбитые Qrator
CloudFlare
CloudFlare — это отдельное явление. Это уже огромная компания, которая стоит несколько миллиардов долларов, их клиенты — половина трафикогенераторов мира, а услуга защиты от DDoS просто самая известная среди их услуг. Мы ими также постоянно пользуемся для DNS хостинга, CDN, в качестве сервиса проксирования трафика.
Для сайта/сервиса, на который не обрушиваются сложные атаки, Cloudflare вполне ок, но при серьезных атаках (когда не просто «заваливают» канал, а комбинируют много видов атак) их Business plan за 200 долларов нас никогда не спасал, а говорить про их Enterprise защиту для России нет смысла, дешевле и эффективнее обратиться к другим игрокам.
Почему так? Думаю, сложно делать массовый почти бесплатный сервис очень качественным.
Кстати, в CF работает много русскоязычных инженеров :)
Зарубежные операторы защиты
В чем сложность отражения атак на уровне L7?
Все приложения уникальны, и нужно разрешать полезный для них трафик и блокировать вредный. Однозначно отсеять ботов удается не всегда, поэтому приходится использовать много, реально МНОГО степеней очистки трафика.
Увы, атаки стали сложнее. testcookie использует проверки на ботов на базе JS, а многие современные боты умеют их успешно проходить.
В сумме на уровне защиты каналов, специализированного оборудования для очистки трафика, спец софта, дополнительных настроек фильтрации для каждого клиента могут быть десятки и сотни уровней фильтрации.
Чтобы правильно управляться с этим и корректно тюнить настройки фильтрации под разных пользователей, нужен большой опыт и квалифицированные кадры. Даже крупный оператор, решивший оказывать услуги защиты, не может «тупо закидать проблему деньгами»: опыт придется набивать на лежащих сайтах и ложных срабатываниях на легитимном трафике.
Для оператора защиты нет кнопки «отбить DDoS», есть большое число инструментов, ими нужно уметь пользоваться.
И еще один бонусный пример.
Сервер без защиты был заблокирован хостером при атаке емкостью в 600 мбит
(«Пропадание» трафика не заметно, т.к. атакован был только 1 сайт, его на время убрали с сервера и блокировка была снята в пределах часа).
Этот же сервер под защитой. Атакующие “сдались” после суток отбитых атак. Cама атака оказалась не самой сильной.
Атаки L3/L4 и защита от них более тривиальны, в основном, они зависят от толщины каналов, алгоритмов детекции и фильтрации атак.
Атаки L7 сложнее и оригинальнее, они зависят от атакуемого приложения, возможностей и фантазии атакующих. Защита от них требует больших знаний и опыта, причем результат может быть не сразу и не стопроцентный. Пока Гугл не придумал для защиты очередную нейросеть.
Статья носит ознакомительный характер. Автор и редакция не несут ответственности за любой вред, причиненный с использованием полученной из нее информации. Прежде чем проводить нагрузочное тестирование веб‑сайта, необходимо заключить письменное соглашение с его владельцем. В противном случае нарушение работы системы может преследоваться по закону.
Как видно из статистики, наиболее распространенный вектор — это атаки на сервисы (или с использованием сервисов), которые используют протокол UDP.
Здесь все очень просто. UDP, в отличие от других протоколов, не требует сессии, а ответ на запросы отправляется немедленно. В этом основа атаки «с усилением». Мы можем формировать запросы к некоторым сервисам таким образом, чтобы ответ был в десятки раз больше, чем сам запрос. Соответственно, если эти ответы будут перенаправлены на машину жертвы, атакующий сможет генерировать трафик невероятной мощности.
Чтобы предотвратить такого рода атаки, разработчики из Microsoft установили ограничения на манипулирование пакетами.
Обрати внимание на этот пункт документации.
Прямо заявлено, что ОС не позволит отправлять UDP-пакеты с полем IP-адреса поддельного отправителя.
Зачем нам это нужно? Дело в том, что трафик, который мы получаем от уязвимых ответов служб, может быть каким‑то образом перенаправлен на серверы жертв. А этого можно добиться, просто изменив IP-адрес отправителя в заголовке UDP-пакета. Тогда уязвимый сервер подумает, что запрос поступил с компьютера жертвы, и отправит на него ответ.
Кто не знаком со структурой пакета UDP, может посмотреть на табличку ниже. Там ничего особенного нет, формирование самого пакета мы разберем позже.
User Datagram Protocol
Собственно, из документации понятно, что стандартные инструменты и библиотеки Windows не позволяют подделывать адрес отправителя. Для проведения DDoS это нужно обойти, и на помощь злодею или желающему провести нагрузочный тест приходит такая волшебная вещь, как WinPcap.
С WinPcap можно формировать пакеты отправки независимо от инструментов Windows. И это не просто библиотека для обработки пакетов для C++, а собственный драйвер NPF.
Если вкратце, то это работает так. Мы можем установить кастомный драйвер протокола, при написании программы мы будем ссылаться на него. Оттуда пакеты будут передаваться на драйвер Network interface card (NIC) и идти дальше по сети. Таким образом мы сможем полностью контролировать процесс создания и инкапсуляции пакетов.
Ищем уязвимые серверы
Для поиска уязвимых серверов широко используется поисковик Shodan. Давай для примера попробуем найти серверы Memcached, которые использовались для атаки на Github несколько лет назад. Вводим product: "Memcached" и видим, что серверов остается все еще очень много.
Разработчик исправил уязвимость и теперь порт, назначенный по умолчанию, заменен с 11211 на TCP. Но, несмотря на это, в интернете остались тысячи уязвимых серверов.
У Shodan есть фильтры, которые помогают искать необходимые сервисы и серверы. Для практики можно попробовать найти сервисы RDP с портом UDP/3389, которые также уязвимы для атак амплификации (с коэффициентом 85,9:1).
Разработка
Мы можем создать программу для эксплуатации уязвимости серверов Memcached, DDoS с усилением. Прежде всего нужно настроить рабочую среду.
Читайте также: