Как убрать ддос атаку с компьютера

Обновлено: 04.07.2024

Говоря простым языком, DoS-атаки - это некоторый вид злонамеренной деятельности, ставящей своей целью довести компьютерную систему до такого состояния, когда она не сможет обслуживать правомерных пользователей или правильно выполнять возложенные на нее функции. К состоянию "отказ в обслуживании" обычно приводят ошибки в ПО (программном обеспечении) или чрезмерная нагрузка на сетевой канал или систему в целом. В результате чего ПО, либо вся операционная система машины, "падает" или же оказывается в "зацикленном" состоянии. А это грозит простоями, потерей посетителей/клиентов и убытками.

Анатомия DoS-атак

DoS-атаки подразделяются на локальные и удаленные. К локальным относятся различные эксплойты, форк-бомбы и программы, открывающие по миллиону файлов или запускающие некий циклический алгоритм, который сжирает память и процессорные ресурсы. На всем этом мы останавливаться не будем. А вот удаленные DoS-атаки рассмотрим подробнее. Они делятся на два вида:

  1. Удаленная эксплуатация ошибок в ПО с целью привести его в нерабочее состояние.
  2. 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-шторма на системы, необходимо тщательным образом подготовить их к такой ситуации:

  1. Все сервера, имеющие прямой доступ во внешнюю сеть, должны быть подготовлены к простому и быстрому удаленному ребуту. Большим плюсом будет наличие второго, административного, сетевого интерфейса, через который можно получить доступ к серверу в случае забитости основного канала.
  2. ПО, используемое на сервере, всегда должно находиться в актуальном состоянии. Все дырки - пропатчены, обновления установлены (простой, как сапог, совет, которому многие не следуют). Это оградит тебя от DoS-атак, эксплуатирующих баги в сервисах.
  3. Все слушающие сетевые сервисы, предназначенные для административного использования, должны быть спрятаны брандмауэром ото всех, кто не должен иметь к ним доступ. Тогда атакующий не сможет использовать их для проведения DoS-атаки или брутфорса.
  4. На подходах к серверу (ближайшем маршрутизаторе) должна быть установлена система анализа трафика, которая позволит своевременно узнать о начинающейся атаке и вовремя принять меры по ее предотвращению.

Добавьте в /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

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 с уси­лени­ем. Преж­де все­го нуж­но нас­тро­ить рабочую сре­ду.

Читайте также: