DOS и DDoS-атаки: понятие, разновидности, методы выявления и защиты. DDoS-атаки: нападение и защита Каковы механизмы запуска DDoS-атак

💖 Нравится? Поделись с друзьями ссылкой

Распределенные атаки типа «отказ в обслуживании» или сокращенно DDoS, стали распространенным явлением и серьезной головной болью для владельцев интернет-ресурсов по всему миру. Именно поэтому, защита от DDoS-атак на сайт является сегодня не дополнительной опцией, а обязательным условием для тех, кто хочет избежать простоя, огромных убытков и испорченной репутации.

Рассказываем подробнее, что это за недуг и как от него защититься.

Что такое DDoS

Distributed Denial of Service или «Распределенный отказ от обслуживания» - нападение на информационную систему для того, чтобы та не имела возможности обрабатывать пользовательские запросы. Простыми словами, DDoS заключается в подавлении веб-ресурса или сервера трафиком из огромного количества источников, что делает его недоступным. Часто такое нападение проводится, чтобы спровоцировать перебои в работе сетевых ресурсов в крупной фирме или государственной организации

DDoS-атака похожа на другую распространённую веб-угрозу - «Отказ в обслуживании» (Denial of Service, DoS). Единственное различие в том, что обычное распределенное нападение идет из одной точки, а DDos-атака более масштабна и идет из разных источников.

Основная цель DDoS-атаки - сделать веб-площадку недоступной для посетителей, заблокировав её работу. Но бывают случаи, когда подобные нападения производятся для того, чтобы отвлечь внимание от других вредных воздействий. DDoS-атака может, например, проводиться при взломе системы безопасности с целью завладеть базой данных организации.

DDoS-атаки появились в поле общественного внимания в 1999 году, когда произошла серия нападений на сайты крупных компаний (Yahoo, eBay, Amazon, CNN). С тех пор, этот вид кибер-преступности развился в угрозу глобального масштаба. По данным специалистов, за последние годы их частота возросла в 2,5 раза, а предельная мощность стала превышать 1 Тбит/сек. Жертвой DDoS-атаки хотя бы раз становилась каждая шестая российская компания. К 2020 году их общее число достигнет 17 миллионов.

Хостинг-площадка с круглосуточной защитой от самых изощрённых DDoS-атак.

Причины DDoS-атак

  1. Личная неприязнь. Она нередко подталкивает злоумышленников на то, чтобы атаковать корпорации или правительственные компании. Например, в 1999 году было совершено нападение на веб-узлы ФБР, вследствие чего они вышли из строя на несколько недель. Случилось это из-за того, что ФБР начало масштабный рейд на хакеров.
  2. Политический протест. Обычно такие атаки проводят хактивисты - IT-специалисты с радикальными взглядами на гражданский протест. Известный пример - серия кибер-атак на эстонские государственные учреждения в 2007 году. Их вероятной причиной послужила возможность сноса Памятника Воину-освободителю в Таллине.
  3. Развлечение. Сегодня все большее количество людей увлекаются DDoS и желают попробовать свои силы. Новички-хакеры нередко устраивают нападения, чтобы развлечься.
  4. Вымогательство и шантаж. Перед тем, как запускать атаку, хакер связывается с владельцем ресурса и требует выкуп.
  5. Конкуренция. DDoS-атаки могут быть заказаны от недобросовестной компании с целью повлиять на своих конкурентов.

Кто потенциальные жертвы

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

Согласно исследованиям, проведенным «Лабораторией Касперского», нападение может стоить фирме до 1,6 млн долларов. Это серьезный урон, ведь атакованный веб-ресурс на какое-то время не может обслуживании, из-за чего происходит простой.

Чаще всего от DDoS-атак страдают сайты и сервера:

  • крупных компаний и государственных учреждений;
  • финансовых учреждений (банков, управляющих компаний);
  • купонных сервисов;
  • медицинских учреждений;
  • платежных систем;
  • СМИ и информационных агрегаторов;
  • интернет-магазинов и предприятий электронной коммерции;
  • онлайн-игр и игровых сервисов;
  • бирж криптовалюты.

Не так давно к печальному списку частых жертв DDoS-атак добавилось и подключённое к интернету оборудование, получившее общее название «интернет вещей» (Internet of Things, IoT). Самую большую динамику роста на этом направлении показывают кибер-нападения с целью нарушить работу онлайн-касс больших магазинов или торговых центров.

Механизм работы

Все веб-серверы имеют свои ограничения по числу запросов, которые они могут обрабатывать одновременно. Кроме этого, предусмотрен предел для пропускной способности канала, соединяющего Сеть и сервер. Чтобы обойти эти ограничения, ззлоумышленники создают компьютерную сеть с вредоносным программным обеспечением, называемую «ботнет» или «зомби-сеть».

Для создания ботнета кибер-преступники распространяют троян через e-mail рассылки, социальные сети или сайты. Компьютеры, входящие в ботнет не имеют физической связи между собой. Их объединяет только «служение» целям хозяина-хакера.

В ходе DDoS-атаки хакер отправляет команды «зараженным» компьютерам-зомби, а те начинают наступление. Ботнеты генерируют огромный объем трафика, способный перегрузить любую систему. Основными «объектами» для DDoS обычно становится пропускной канал сервера, DNS-сервер, а также само интернет-соединение.

Признаки DDoS-атаки

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

  • Серверное ПО и ОС начинают часто и явно сбоить - зависать, некорректно завершать работу и т. д.
  • аппаратные мощности сервера, резко отличающаяся от среднедневных показателей.
  • Стремительное увеличение входящего трафика в одном или ряде портов.
  • Многократно дублированные однотипные действия клиентов на одном ресурсе (переход на сайт, закачка файла).
  • При анализе логов (журналов действий пользователей) сервера, брандмауэра или сетевых устройств выявлено много запросов одного типа из разных источников к одному порту или сервису. Следует особо насторожиться, если аудитория запросов резко отличается от целевой для сайта или сервиса.

Классификация типов DDoS-атак

Протокольное наступление (транспортный уровень)

DDoS-атака направлена на сетевой уровень сервера или веб-ресурса, поэтому её часто называют атакой сетевого уровня или транспортного уровня. Её цель- привести к перегрузке табличного пространства на межсетевом экране со встроенным журналом безопасности (брандмауэре), в центральной сети или в системе, балансирующей нагрузку.

Самый распространённый метод DDoS на транспортном уровне - сетевой флуд , создание огромного потока запросов-пустышек на разных уровнях, с которыми физически не может справится принимающий узел.

Обычно сетевая служба применяет правило FIFO, согласно которому компьютер не переходит к обслуживанию второго запроса, пока не обработает первый. Но при атаке количество запросов настолько возрастает, что устройству недостает ресурсов для того, чтобы завершить работу с первым запросом. В итоге, флуд максимально насыщает полосу пропускания и наглухо забивает все каналы связи.

Распространённые виды сетевого флуда

  • HTTP-флуд - на атакуемый сервер отправляется масса обычных или шифрованных HTTP-сообщений, забивающих узлы связи.
  • ICMP-флуд - ботнет злоумышленника перегружает хост-машину жертвы служебными запросами, на которые она обязана давать эхо-ответы. Частный пример такого типа атак - P ing-флуд или Smurf-атака, когда каналы связи заполняются ping-запросами, использующимися для проверки доступности сетевого узла. Именно из-за угрозы ICMP-флуда системные администраторы зачастую целиком блокируют возможность делать ICMP-запросы с помощью фаервола.
  • SYN-флуд - атака воздействует на один из базовых механизмов действия протокола TCP, известного как принцип «тройного рукопожатия» (алгоритм «запрос-ответ»: SYN пакет – SYN-ACK пакет – ACK пакет). Жертву заваливают валом фальшивых SYN-запросов без ответа. Канал пользователя забивается очередью TCP-подключений от исходящих соединений, ожидающих ответного ACK пакета.
  • UDP-флуд - случайные порты хост-машины жертвы заваливаются пакетами по протоколу UDP, ответы на которые перегружает сетевые ресурсы. Разновидность UDP-флуда, направленная на DNS-сервер, называется DNS-флуд .
  • MAC-флуд - целью являются сетевое оборудование, порты которого забиваются потоками «пустых» пакетов с разными MAC-адресами. Для защиты от подобного вида DdoS-атак на сетевых коммутаторах настраивают проверку валидности и фильтрацию MAC-адресов.

Атаки прикладного уровня (уровень инфраструктуры)

Эта разновидность используется, когда необходимо захватить или вывести из строя аппаратные ресурсы. Целью «рейдеров» может быть, как физическая, так и оперативная память или процессорное время.

Перегружать пропускной канал не обязательно. Достаточно только привести процессор жертвы к перегрузке или, другими словами, занять весь объем процессного времени.

Виды DDoS-атак прикладного уровня

  • Отправка «тяжелы х» пакетов , поступающие непосредственно к процессору. Устройство не может осилить сложные вычисления и начинает давать сбой, тем самым отключая посетителям доступ к сайту.
  • С помощью скрипта сервер наполняется «мусорным» содержимым - лог-файлами, «пользовательскими комментариями» и т.д. Если системный администратор не установил лимит на сервере, то хакер может создать огромные пакеты файлов, которые приведут к заполнению всего жесткого диска.
  • Проблемы с системой квотирования . Некоторые серверы используют для связи с внешними программами CGI-интерфейс (Common Gateway Interface, «общий интерфейс шлюза»). При получении доступа к CGI злоумышленник может написать свой скрипт, который станет использовать часть ресурсов, например - процессорное время, в его интересах.
  • Неполная проверка данных посетителя. Это также приводит к продолжительному или даже бесконечному использованию ресурсов процессора вплоть до их истощения.
  • Атака второго рода . Оно вызывает ложное срабатывание сигнала в системе защиты, что может автоматически закрыть ресурс от внешнего мира.

Атаки на уровне приложений

DDoS-атака уровня приложений использует упущения при создании программного кода, которая создаёт уязвимость ПО для внешнего воздействия. К данному виду можно отнести такую распространённую атаку, как «Пинг смерти» (Ping of death) - массовая отправка компьютеру жертвы ICMP-пакетов большей длины, вызывающих переполнение буфера.

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

DNS-атаки

  1. Первая группа направлена на уязвимост и в ПО DNS-серверов. К ним относятся такие распространённые виды кибер-преступлений, как Zero–day attack («Атака нулевого дня») и Fast Flux DNS («Быстрый поток»).
    Один из самых распространённых типов DNS-атак называется DNS–Spoofing («DNS-спуфинг»). В ходе неё злоумышленники заменяют IP-адрес в кеше сервера, перенаправляя пользователя на подставную страничку. При переходе преступник получает доступ к персональным данным юзера и может использовать их в своих интересах. Например, в 2009 году из-за подмены DNS-записи пользователи не могли зайти в Twitter в течение часа. Такое нападение имело политический характер. Злоумышленники установили на главной странице социальной сети предостережения хакеров из Ирана, связанные с американской агрессией
  2. Вторая группа - это DdoS-атаки, которые приводят к неработоспособности DNS -серверов . В случае их выхода из строя пользователь не сможет зайти на нужную страницу, так как браузер не найдет IP-адрес, присущий конкретному сайту.

Предотвращение и защита от DDoS-атак

Согласно данным Corero Network Security, более ⅔ всех компаний в мире ежемесячно подвергаются атакам «отказа в доступе». Причём их число доходит до 50.

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

Самый эффективный способ защиты от DDoS-атак - фильтры, устанавливаемые провайдером на интернет-каналы с большой пропускной способностью. Они проводят последовательный анализ всего трафика и выявляют подозрительную сетевую активность или ошибки. Фильтры могут устанавливаться, как на уровне маршрутизаторов, так и с помощью специальных аппаратных устройств.

Способы защиты

  1. Еще на этапе написания программного обеспечения необходимо задуматься о безопасности сайта. Тщательно проверяйте ПО на наличие ошибок и уязвимостей.
  2. Регулярно обновляйте ПО , а также предусмотрите возможность вернуться к старой версии при возникновении проблем.
  3. Следите за ограничением доступа . Службы, связанные с администрированием, должны полностью закрываться от стороннего доступа. Защищайте администраторский аккаунт сложными паролями и почаще их меняйте. Своевременно удаляйте аккаунты сотрудников, которые уволились.
  4. Доступ к интерфейсу администратора должен проводиться исключительно из внутренней сети или посредством VPN.
  5. Сканируйте систему на наличие уязвимостей . Наиболее опасные варианты уязвимостей регулярно публикует авторитетный рейтинг OWASP Top 10 .
  6. Применяйте брандмауэр для приложений - WAF (Web Application Firewall). Он просматривает переданный трафик и следит за легитимностью запросов.
  7. Используйте CDN (Content Delivery Network). Это сеть по доставке контента, функционирующая с помощью распределенной сети. Трафик сортируется по нескольким серверам, что снижает задержку при доступе посетителей.
  8. Контролируйте входящий трафик с помощью списков контроля доступа (ACL) , где будут указан список лиц, имеющих доступ к объекту (программе, процессу или файлу), а также их роли.
  9. Можно блокировать трафик , которых исходит от атакующих устройств. Делается это двумя методами: применение межсетевых экранов или списков ACL. В первом случае блокируется конкретный поток, но при этом экраны не могут отделить «положительный» трафик от «отрицательного». А во втором - фильтруются второстепенные протоколы. Поэтому он не принесет пользы, если хакер применяет первостепенные запросы.
  10. Чтобы защититься от DNS-спуфинга, нужно периодически очищать кеш DNS .
  11. Использовать защиту от спам-ботов - капча (captcha), «человечные» временные рамки на заполнение форм, reCaptcha (галочка «Я не робот») и т. д.
  12. Обратная атака . Весь вредоносный трафик перенаправляется на злоумышленника. Он поможет не только отразить нападение, но и разрушить сервер атакующего.
  13. Размещение ресурсов на нескольких независимых серверах . При выходе одного сервера из строя, оставшиеся обеспечат работоспособность.
  14. Использование проверенных аппаратных средств защиты от DDoS-атак. Например, Impletec iCore или DefensePro.
  15. Выбирать хостинг-провайдера, сотрудничающего с надёжным поставщиком услуг кибербезопасности. Среди критериев надёжности специалисты выделяют: наличие гарантий качества, обеспечение защиты от максимально полного спектра угроз, круглосуточная техподдержка, транспарентность (доступ клиента к статистике и аналитике), а также отсутствие тарификации вредоносного трафика.

Заключение

В этой статье мы рассмотрели, что значит DDoS-атака и как защитить свой сайт от нападений. Важно помнить, что подобные вредоносные действия могут вывести из строя даже самые безопасные и крупнейшие веб-ресурсы. Это повлечет за собой серьезные последствия в виде огромных убытков и потери клиентов. Именно поэтому, обезопасить свой ресурс от DDoS-атак - актуальная задача для всех коммерческих структур и государственных учреждений.

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

Вероятно, многие современные пользователи компьютеров и Интернета слышали о наличии DDoS-атак, производимых злоумышленниками в отношении каких-либо сайтов или серверов крупных компаний. Давайте посмотрим, что такое DDoS-атака, как сделать ее самому и как защититься от таких действий.

Что такое DDoS-атака?

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

Сама же атака, по большому счету, представляет собой отсылку достаточно большого количества запросов на сервер или сайт, которые с превышением лимита обращений блокируют работу веб-ресурса или службы провайдера в виде отключения сервера защитным ПО, межсетевыми экранами или специализированным оборудованием.

Понятно, что DDoS-атака своими руками не может быть создана одним пользователем с одного компьютерного терминала без специальных программ. В конце концов, ну не будет же он сидеть сутками напролет и ежеминутно посылать запросы на атакуемый сайт. Такой номер не пройдет, поскольку защита от DDoS-атак предусмотрена у каждого провайдера, а один пользователь не в состоянии обеспечить такое количество запросов на сервер или сайт, которое бы за короткое время превысило лимит обращений и вызвало срабатывание различных защитных механизмов. Так что для создания собственной атаки придется использовать кое-что другое. Но об этом позже.

Почему возникает угроза?

Если разбираться, что такое DDoS-атака, как сделать ее и послать превышенное количество запросов на сервер, стоит учесть и механизмы, по которым такие действия производятся.

Это могут быть ненадежные не способные справляться с огромным количеством запросов, бреши в системе безопасности провайдера или в самих «операционках», нехватка системных ресурсов для обработки поступающих запросов с дальнейшим зависанием системы или аварийным завершением работы и т. д.

На заре возникновения такого явления в основном DDoS-атака своими руками осуществлялась преимущественно самими программистами, которые создавали и тестировали с ее помощью работоспособность систем защиты. Кстати сказать, в свое время от действий злоумышленников, применявших в качестве оружия компоненты DoS и DDoS, пострадали даже такие IT-гиганты, как Yahoo, Microsoft, eBay, CNN и многие другие. Ключевым моментом в тех ситуациях стали попытки устранения конкурентов в плане ограничения доступа к их интернет-ресурсам.

В общем-то и современные электронные коммерсанты занимаются тем же. Для этого просто скачивается программа для DDoS-атак, ну а дальше, как говорится, дело техники.

Виды DDoS-атак

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

Третий тип - флуд. Как правило, это задание заранее неправильно сформированных (бессмысленных) запросов серверу или сетевому оборудованию с целью увеличения нагрузки. Четвертый тип - так называемое забивание каналов связи ложными адресами. Еще может использоваться атака, доводящая до того, что в самой компьютерной системе меняется конфигурация, что приводит к ее полной неработоспособности. В общем, перечислять можно долго.

DDoS-атака на сайт

Как правило, такая атака связана с конкретным хостингом и направлена исключительно на один заранее заданный веб-ресурс (в примере на фото ниже условно обозначен как example.com).

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

DDoS-атака на сервер

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

Приложение для организации DDoS-атак

Вот мы подошли к пониманию того, Как сделать ее при помощи специализированных утилит, мы сейчас и разберемся. Сразу отметим, что приложения такого типа особо-то засекреченными и не являются. В Интернете они доступны для бесплатного скачивания. Так, например, самая простая и известная программа для DDoS-атак под названием LOIC свободно выложена во Всемирной паутине для загрузки. С ее помощью можно атаковать только сайты и терминалы с заранее известными URL- и IP-адресами.

Как получить в своем распоряжение IP-адрес жертвы, по этическим соображениям мы сейчас рассматривать не будем. Исходим из того, что начальные данные у нас есть.

Для запуска приложения используется исполняемый файл Loic.exe, после чего в двух верхних строках с левой стороны вписываются исходные адреса, а затем нажимаются две кнопки «Lock on» - чуть правее напротив каждой строки. После этого в окне появится адрес нашей жертвы.

Снизу имеются ползунки регулирования скорости передачи запросов для TCP/UDF и HTTP. По умолчанию значение выставлено на «10». Увеличиваем до предела, после чего нажимаем большую кнопку «IMMA CHARGIN MAH LAZER» для начала атаки. Остановить ее можно повторным нажатием на ту же кнопку.

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

Защита от DDoS-атак

С другой стороны, каждый, кто пытается предпринять попытку DDoS-атаки, должен понимать, что на «той» стороне тоже не дураки сидят. Они запросто могут вычислить адреса, с которых такая атака производится, а это чревато самыми печальными последствиями.

Что касается рядовых владельцев хостингов, то обычно провайдер сразу же предоставляет пакет услуг с соответствующей защитой. Средств для предотвращения таких действий может быть очень много. Это, скажем, перенаправление атаки на атакующего, перераспределение поступающих запросов на несколько серверов, фильтрация трафика, дублирование систем защиты для предотвращения их ложного срабатывания, наращивание ресурсов и т. д. По большому счету, обычному юзеру беспокоиться не о чем.

Вместо послесловия

Думается, из данной статьи становится понятно, что сделать DDoS-атаку самому при наличии специального ПО и некоторых начальных данных труда не составит. Другое дело - стоит ли этим заниматься, да еще и неопытному пользователю, который решил побаловаться, так, ради спортивного интереса? Каждый должен понимать, что его действия в любом случае вызовут применение ответных мер со стороны атакуемой стороны, причем, как правило, не в пользу юзера, начавшего атаку. А ведь, согласно Уголовным кодексам большинства стран, за такие действия можно попасть, как говорится, в места, не столь отдаленные на пару-тройку лет. Кто этого хочет?

Заказать Ддос-атаку много ума не надо. Заплатил хакерам и думай о панике конкурентов. Сначала с кресла директора, а потом с тюремной койки.

Объясняем, почему обращаться к хакерам - последнее дело честного предпринимателя и чем это грозит.

Как сделать Ддос-атаку знает даже школьник

Сегодня инструменты для организации Ддос-атаки доступны для всех желающих. Порог вхождения для начинающих хакеров низкий. Поэтому доля коротких, но сильных атак на российские сайты выросла . Похоже, что хакерские группы просто отрабатывают навыки.

Показательный случай. В 2014 году Образовательный портал Республики Татарстан подвергся Ддос-атакам. На первый взгляд, в нападении нет смысла: это не коммерческая организация и спросить с неё нечего. На портале выставляют оценки, расписание занятий и так далее. Не более. Эксперты «Лаборатория Касперского» нашли группу «Вконтакте», где студенты и школьники Татарстана обсуждали как сделать Ддос-атаку.

Сообщество юных борцов с системой Республики Татарстан

Производные запросы от «как сделать Ддос-атаку Татарстан» привели специалистов по кибербезопасности к интересному объявлению. Исполнителей быстро нашли и им пришлось возместить ущерб.

Раньше вырывали страницы в дневниках, а теперь взламывают сайты

Из-за простоты Ддос-атак за них берутся новички без моральных принципов и пониманий своих возможностей. Такие могут и перепродать данные о заказчике. Омоложение исполнителей Ддос-атак - мировая тенденция.

Весной 2017 года тюремный срок получил британский студент. Когда ему было 16 лет, он создал программу для Ддос-атак Titanium Stresser. На её продаже британец заработал 400 тысяч фунтов стерлингов (29 миллионов рублей). С помощью этой Ддос-программы провели 2 миллиона атак на 650 тысяч пользователей во всём мире.

Подростками оказались участники крупных Ддос-группировок Lizard Squad и PoodleCorp. Юные американцы придумали собственные Ддос-программы, но использовали их для атаки на игровые серверы, чтобы получить преимущества в онлайн-играх. Так их и нашли.

Доверять ли репутацию компании вчерашним школьникам, каждый решит сам.

Наказание за Ддос-программы в России

Как сделать Ддос-атаку интересуются предприниматели, не желающие играть по правилам конкуренции. Такими занимаются сотрудники Управления «К» МВД России. Они же ловят исполнителей.

Российское законодательство предусматривает наказание за кибер-преступления. Исходя из сложившейся практики, участники Ддос-атаки могут попасть под следующие статьи.

Заказчики. Их действия обычно подпадают под - неправомерный доступ к охраняемой законом компьютерной информации.

Наказание: лишение свободы до семи лет или штраф до 500 тысяч рублей.

Пример . По этой статье осудили сотрудника отдела технической защиты информации администрации города Курган. Он разработал многофункциональную программу Мета. С её помощью злоумышленник собрал персональные данные на 1,3 миллиона жителей области. После - продавал банкам и коллекторским агентствам. Хакера получил два года лишения свободы.

Исполнители. Как правило, наказываются по статье 273 УК РФ - создание, использование и распространение вредоносных компьютерных программ.

Наказание. Лишение свободы до семи лет со штрафом до 200 тысяч рублей.

Пример. 19-летний студент из Тольятти получил получил 2,5 года условного срока и штраф 12 млн рублей. С помощью программы для Ддос-атак он пытался обрушить информационные ресурсы и сайты банков. После атаки студент вымогал деньги.

Неосторожные пользователи. Несоблюдение правил безопасности при хранении данных карается по статье 274 УК РФ - нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей.

Наказание: лишение свободы до пяти лет или штрафом до 500 тысяч рублей.

Пример. Если в ходе доступа к информации каким-либо образом были похищены деньги, статью переквалифицируют в мошенничестве в сфере компьютерной информации (). Так два года в колонии-поселении получили уральские хакеры, получившие доступ к серверам банков.

Нападки на СМИ. Если Ддос-атаки направлены на нарушение журналистских прав, действия подпадают под - воспрепятствование законной профессиональной деятельности журналиста.

Наказание: лишение свободы до шести лет или штрафом до 800 тысяч рублей.

Пример. Эту статью часто переквалифицируют в более тяжёлые. Как сделать Ддос-атаку знали напавшие на «Новую газету», «Эхо Москвы» и «Большой город». Жертвами хакеров становятся и региональные издания.

В России суровое наказание за использование Ддос-программ . Анонимность от Управления «К» не спасёт.

Программы для Ддос-атак

По информации экспертов, для атаки на средний сайт достаточно 2000 ботов. Стоимость Ддос-атаки начинается от 20 долларов (1 100 рублей). Количество атакующих каналов и время работы обсуждаются индивидуально. Встречаются и вымогательства.

Приличный хакер перед атакой проведёт пентест. Военные назвали бы этот метод «разведка боем». Суть пентеста в небольшой контролируемой атаке, чтобы узнать ресурсы защиты сайта.

Интересный факт. Как сделать Ддос-атаку знают многие, но сила хакера определяется ботнетом. Часто злоумышленники крадут у друг друга ключи доступа к «армиям», а потом перепродают. Известный приём - «положить» wi-fi, чтобы тот принудительно перезагрузился и вернулся к базовым настройкам. В таком состоянии пароль стоит стандартный. Далее злоумышленники получают доступ ко всему трафику организации.

Последний хакерский тренд - взлом «умных» устройств для установки на них программ-майнеров криптовалюты. Эти действия могут квалифицироваться по статье об использовании вредоносных программ (ст. 273 УК РФ). Так сотрудники ФСБ задержали системного администратора Центра управления полетами. Он установил на рабочее оборудование майнеры и обогащался. Вычислили злоумышленника по скачкам напряжения.

Хакеры проведут Ддос-атаку на конкурента. Потом могут получить доступ к его вычислительной мощности и замайнить биткоин-другой. Только эти доходы заказчику не достанутся.

Риски заказа Ддос-атаки

Подведём итог, взвесив достоинства и недостатки заказа Ддос-атаки на конкурентов.

Если конкуренты насолили бизнесу, хакеры не помогут. Они сделают только хуже. Агентство «Digital Sharks» нежелательную информацию законными способами.

Борьба с DDoS-атаками - работа не только сложная, но и увлекательная. Неудивительно, что каждый сисадмин первым делом пытается организовать оборону своими силами - тем более что пока еще это возможно.

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

Правильные ингредиенты

Суровая правда такова, что многие сайты может положить любой желающий, воспользовавшись атакой Slowloris, наглухо убивающей Apache, или устроив так называемый SYN-флуд с помощью фермы виртуальных серверов, поднятых за минуту в облаке Amazon EC2. Все наши дальнейшие советы по защите от DDoS своими силами основываются на следующих важных условиях.

1. Отказаться от Windows Server

Практика подсказывает, что сайт, который работает на винде (2003 или 2008 - неважно), в случае DDoS обречен. Причина неудачи кроется в виндовом сетевом стеке: когда соединений становится очень много, то сервер непременно начинает плохо отвечать. Мы не знаем, почему Windows Server в таких ситуациях работает настолько отвратно, но сталкивались с этим не раз и не два. По этой причине речь в данной статье будет идти о средствах защиты от DDoS-атак в случае, когда сервер крутится на Linux. Если вы счастливый обладатель относительно современного ядра (начиная с 2.6), то в качестве первичного инструментария будут выступать утилиты iptables и ipset (для быстрого добавления IP-адресов), с помощью которых можно оперативно забанить ботов. Еще один ключ к успеху - правильно приготовленный сетевой стек, о чем мы также будем говорить далее.

2. Расстаться с Apache

Второе важное условие - отказ от Apache. Если у вас, не ровен час, стоит Apache, то как минимум поставьте перед ним кеширующий прокси - nginx или lighttpd. Apache"у крайне тяжело отдавать файлы, и, что еще хуже, он на фундаментальном уровне (то есть неисправимо) уязвим для опаснейшей атаки Slowloris, позволяющей завалить сервер чуть ли не с мобильного телефона. Для борьбы с различными видами Slowloris пользователи Apache придумали сначала патч Anti-slowloris.diff, потом mod_noloris, затем mod_antiloris, mod_limitipconn, mod_reqtimeout... Но если вы хотите спокойно спать по ночам, проще взять HTTP-сервер, неуязвимый для Slowloris на уровне архитектуры кода. Поэтому все наши дальнейшие рецепты основываются на предположении, что на фронтенде используется nginx.

Отбиваемся от DDoS

Что делать, если пришел DDoS? Традиционная техника самообороны - почитать лог-файл HTTP-сервера, написать паттерн для grep (отлавливающий запросы ботов) и забанить всех, кто под него подпадет. Эта методика сработает... если повезет. Ботнеты бывают двух типов, оба опасны, но по-разному. Один целиком приходит на сайт моментально, другой - постепенно. Первый убивает все и сразу, зато в логах появляется весь полностью, и если вы их проgrepаете и забаните все IP-адреса, то вы - победитель. Второй ботнет укладывает сайт нежно и осторожно, но банить вам его придется, возможно, на протяжении суток. Любому администратору важно понимать: если планируется бороться grep’ом, то надо быть готовым посвятить борьбе с атакой пару дней. Ниже следуют советы о том, куда можно заранее подложить соломки, чтобы не так больно было падать.

3. Использовать модуль testcookie

Пожалуй, самый главный, действенный и оперативный рецепт этой статьи. Если на ваш сайт приходит DDoS, то максимально действенным способом дать отпор может стать модуль testcookie-nginx , разработанный хабрапользователем @kyprizel. Идея простая. Чаще всего боты, реализующие HTTP-флуд, довольно тупые и не имеют механизмов HTTP cookie и редиректа. Иногда попадаются более продвинутые - такие могут использовать cookies и обрабатывать редиректы, но почти никогда DoS-бот не несет в себе полноценного JavaScript-движка (хотя это встречается все чаще и чаще). Testcookie-nginx работает как быстрый фильтр между ботами и бэкендом во время L7 DDoS-атаки, позволяющий отсеивать мусорные запросы. Что входит в эти проверки? Умеет ли клиент выполнять HTTP Redirect, поддерживает ли JavaScript, тот ли он браузер, за который себя выдает (поскольку JavaScript везде разный и если клиент говорит, что он, скажем, Firefox, то мы можем это проверить). Проверка реализована с помощью кукисов с использованием разных методов:

  • «Set-Cookie» + редирект с помощью 301 HTTP Location;
  • «Set-Cookie» + редирект с помощью HTML meta refresh;
  • произвольным шаблоном, причем можно использовать JavaScript.

Чтобы избежать автоматического парсинга, проверяющая кукиса может быть зашифрована с помощью AES-128 и позже расшифрована на клиентской стороне JavaScript. В новой версии модуля появилась возможность устанавливать кукису через Flash, что также позволяет эффективно отсеять ботов (которые Flash, как правило, не поддерживают), но, правда, и блокирует доступ для многих легитимных пользователей (фактически всех мобильных устройств). Примечательно, что начать использовать testcookie-nginx крайне просто. Разработчик, в частности, приводит несколько понятных примеров использования (на разные случаи атаки) с семплами конфигов для nginx.

Помимо достоинств, у testcookie есть и недостатки:

  • режет всех ботов, в том числе Googlebot. Если вы планируете оставить testcookie на постоянной основе, убедитесь, что вы при этом не пропадете из поисковой выдачи;
  • создает проблемы пользователям с браузерами Links, w3m и им подобными;
  • не спасает от ботов, оснащенных полноценным браузерным движком с JavaScript.

Словом, testcookie_module не универсален. Но от ряда вещей, таких как, например, примитивные инструментарии на Java и C#, он помогает. Таким образом вы отсекаете часть угрозы.

4. Код 444

Целью DDoS’еров часто становится наиболее ресурсоемкая часть сайта. Типичный пример - поиск, который выполняет сложные запросы к базе. Естественно, этим могут воспользоваться злоумышленники, зарядив сразу несколько десятков тысяч запросов к поисковому движку. Что мы можем сделать? Временно отключить поиск. Пускай клиенты не смогут искать нужную информацию встроенными средствами, но зато весь основной сайт будет оставаться в работоспособном состоянии до тех пор, пока вы не найдете корень всех проблем. Nginx поддерживает нестандартный код 444, который позволяет просто закрыть соединение и ничего не отдавать в ответ:

Location /search { return 444; }

Таким образом можно, например, оперативно реализовать фильтрацию по URL. Если вы уверены, что запросы к location /search приходят только от ботов (например, ваша уверенность основана на том, что на вашем сайте вообще нет раздела /search), вы можете установить на сервер пакет ipset и забанить ботов простым shell-скриптом:

Ipset -N ban iphash tail -f access.log | while read LINE; do echo "$LINE" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A ban "${L%% *}"; done

Если формат лог-файлов нестандартный (не combined) или требуется банить по иным признакам, нежели статус ответа, - может потребоваться заменить cut на регулярное выражение.

5. Баним по геопризнаку

Нестандартный код ответа 444 может пригодиться еще и для оперативного бана клиентов по геопризнаку. Вы можете жестко ограничить отдельные страны, от которых испытываете неудобство. Скажем, вряд ли у интернет-магазина фотоаппаратов из Ростова-на-Дону много пользователей в Египте. Это не очень хороший способ (прямо скажем - отвратительный), поскольку данные GeoIP неточны, а ростовчане иногда летают в Египет на отдых. Но если вам терять нечего, то следуйте инструкциям:

  1. Подключите к nginx GeoIP-модуль (wiki.nginx.org/HttpGeoipModule).
  2. Выведите информацию о геопривязке в access log.
  3. Далее, модифицировав приведенный выше шелл-скрипт, проgrepайте accesslog nginx’а и добавьте отфутболенных по географическому признаку клиентов в бан.

Если, к примеру, боты по большей части были из Китая, то это может помочь.

6. Нейронная сеть (PoC)

Наконец, вы можете повторить опыт хабрапользователя @SaveTheRbtz, который взял нейронную сеть PyBrain, запихал в нее лог и проанализировал запросы (habrahabr.ru/post/136237). Метод рабочий, хотя и не универсальный:). Но если вы действительно знаете внутренности своего сайта - а вы, как системный администратор, должны, - то у вас есть шансы, что в наиболее трагических ситуациях такой инструментарий на основе нейронных сетей, обучения и собранной заранее информации вам поможет. В этом случае весьма полезно иметь access.log до начала DDoS"а, так как он описывает практически 100% легитимных клиентов, а следовательно, отличный dataset для тренировки нейронной сети. Тем более глазами в логе боты видны не всегда.

Диагностика проблемы

Сайт не работает - почему? Его DDoS’ят или это баг движка, не замеченный программистом? Неважно. Не ищите ответа на этот вопрос. Если вы считаете, что ваш сайт могут атаковать, обратитесь к компаниям, предоставляющим защиту от атак, - у ряда анти-DDoS-сервисов первые сутки после подключения бесплатны - и не тратьте больше время на поиск симптомов. Сосредоточьтесь на проблеме. Если сайт работает медленно или не открывается вообще, значит, у него что-то не в порядке с производительностью, и - вне зависимости от того, идет ли DDoS-атака или нет, - вы, как профессионал, обязаны понять, чем это вызвано. Мы неоднократно были свидетелями того, как компания, испытывающая сложности с работой своего сайта из-за DDoS-атаки, вместо поиска слабых мест в движке сайта пыталась направлять заявления в МВД, чтобы найти и наказать злоумышленников. Не допускайте таких ошибок. Поиск киберпреступников - это трудный и длительный процесс, осложненный самой структурой и принципами работы сети Интернет, а проблему с работой сайта нужно решать оперативно. Заставьте технических специалистов найти, в чем кроется причина падения производительности сайта, а заявление смогут написать юристы.

7. Юзайте профайлер и отладчик

Для наиболее распространенной платформы создания веб-сайтов - PHP + MySQL - узкое место можно искать с помощью следующих инструментов:

  • профайлер Xdebug покажет, на какие вызовы приложение тратит больше всего времени;
  • встроенный отладчик APD и отладочный вывод в лог ошибок помогут выяснить, какой именно код выполняет эти вызовы;
  • в большинстве случаев собака зарыта в сложности и тяжеловесности запросов к базе данных. Здесь поможет встроенная в движок базы данных SQL-директива explain.

Если сайт лежит навзничь и вы ничего не теряете, отключитесь от сети, посмотрите логи, попробуйте их проиграть. Если не лежит, то походите по страницам, посмотрите на базу.

Пример приведен для PHP, но идея справедлива для любой платформы. Разработчик, пишущий программные продукты на каком бы то ни было языке программирования, должен уметь оперативно применять и отладчик, и профилировщик. Потренируйтесь заранее!

8. Анализируйте ошибки

Проанализируйте объем трафика, время ответа сервера, количество ошибок. Для этого смотрите логи. В nginx время ответа сервера фиксируется в логе двумя переменными: request_time и upstream_response_time. Первая - это полное время выполнения запроса, включая задержки в сети между пользователем и сервером; вторая сообщает, сколько бэкенд (Apache, php_fpm, uwsgi...) выполнял запрос. Значение upstream_response_time чрезвычайно важно для сайтов с большим количеством динамического контента и активным общением фронтенда с базой данных, им нельзя пренебрегать. В качестве формата лога можно использовать такой конфиг:

Log_format xakep_log "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent " ""$http_referer" "$http_user_agent" $request_time \ $upstream_response_time";

Это combined-формат с добавленными полями тайминга.

9. Отслеживайте количество запросов в секунду

Также посмотрите на число запросов в секунду. В случае nginx вы можете примерно оценить эту величину следующей shell-командой (переменная ACCESS_LOG содержит путь к журналу запросов nginx в combined-формате):

Echo $(($(fgrep -c "$(env LC_ALL=C date --date=@$(($(date \ +%s)-60)) +%d/%b/%Y:%H:%M)" "$ACCESS_LOG")/60))

По сравнению с нормальным для этого времени дня уровнем количество запросов в секунду может как падать, так и расти. Растут они в случае, если пришел крупный ботнет, а падают, если пришедший ботнет обрушил сайт, сделав его полностью недоступным для легитимных пользователей, и при этом ботнет статику не запрашивает, а легитимные пользователи запрашивают. Падение количества запросов наблюдается как раз за счет статики. Но, так или иначе, мы ведем речь о серьезных изменениях показателей. Когда это происходит внезапно - пока вы пытаетесь решить проблему своими силами и если не видите ее сразу в логе, лучше быстро проверьте движок и параллельно обратитесь к специалистам.

10. Не забывайте про tcpdump

Многие забывают, что tcpdump - это обалденное средство диагностики. Я приведу пару примеров. В декабре 2011-го был обнаружен баг в ядре Linux, когда оно открывало TCP-соединение при выставленных флагах TCP-сегмента SYN и RST. Первым багрепорт отправил именно системный администратор из России, чей ресурс был атакован этим методом, - атакующие узнали об уязвимости раньше, чем весь мир. Ему, очевидно, такая диагностика помогла. Другой пример: у nginx есть одно не очень приятное свойство - он пишет в лог только после полной отработки запроса. Бывают ситуации, когда сайт лежит, ничего не работает и в логах ничего нет. Все потому, что все запросы, которые в данный момент загружают сервер, еще не выполнились. Tcpdump поможет и здесь.

Он настолько хорош, что я советовал людям не использовать бинарные протоколы до того, как они убедятся, что все в порядке, - ведь текстовые протоколы отлаживать tcpdump"ом легко, а бинарные – нет. Однако сниффер хорош как средство диагностики - в качестве средства поддержания production"а он страшен. Он легко может потерять сразу несколько пакетов и испортить вам историю пользователя. Смотреть его вывод удобно, и он пригодится для ручной диагностики и бана, но старайтесь ничего критичного на нем не основывать. Другое любимое многими средство «погрепать запросы» - ngrep - вообще по умолчанию пытается запросить в районе двух гигабайт несвопируемой памяти и только потом начинает уменьшать свои требования.

11. Атака или нет?

Как отличить DDoS-атаку, например, от эффекта рекламной кампании? Этот вопрос может показаться смешным, но эта тема не менее сложная. Бывают довольно курьезные случаи. У одних хороших ребят, когда они напряглись и основательно прикрутили кеширование, сайт слег на пару дней. Выяснилось, что в течение нескольких месяцев этот сайт незаметно датамайнили какие-то немцы и до оптимизации кеширования страницы сайта у этих немцев со всеми картинками грузились довольно долго. Когда страница начала выдаваться из кеша моментально, бот, у которого не было никаких тайм-аутов, тоже начал собирать их моментально. Тяжело пришлось. Случай особенно сложный по той причине, что если вы сами изменили настройку (включили кеширование) и сайт после этого перестал работать, то кто, по вашему и начальственному мнению, виноват? Вот-вот. Если вы наблюдаете резкий рост числа запросов, то посмотрите, например, в Google Analytics, кто приходил на какие страницы.

Тюнинг веб-сервера

Какие еще есть ключевые моменты? Конечно, вы можете поставить «умолчальный» nginx и надеяться, что у вас все будет хорошо. Однако хорошо всегда не бывает. Поэтому администратор любого сервера должен посвятить немало времени тонкой настройке и тюнингу nginx.

12. Лимитируем ресурсы (размеры буферов) в nginx

Про что нужно помнить в первую очередь? Каждый ресурс имеет лимит. Прежде всего это касается оперативной памяти. Поэтому размеры заголовков и всех используемых буферов нужно ограничить адекватными значениями на клиента и на сервер целиком. Их обязательно нужно прописать в конфиге nginx.

  • client_header_buffer_size_ _ Задает размер буфера для чтения заголовка запроса клиента. Если строка запроса или поле заголовка запроса не помещаются полностью в этот буфер, то выделяются буферы большего размера, задаваемые директивой large_client_header_buffers.
  • large_client_header_buffers Задает максимальное число и размер буферов для чтения большого заголовка запроса клиента.
  • client_body_buffer_size Задает размер буфера для чтения тела запроса клиента. Если тело запроса больше заданного буфера, то все тело запроса или только его часть записывается во временный файл.
  • client_max_body_size Задает максимально допустимый размер тела запроса клиента, указываемый в поле «Content-Length» заголовка запроса. Если размер больше заданного, то клиенту возвращается ошибка 413 (Request Entity Too Large).

13. Настраиваем тайм-ауты в nginx

Ресурсом является и время. Поэтому следующим важным шагом должна стать установка всех тайм-аутов, которые опять же очень важно аккуратно прописать в настройках nginx.

  • reset_timedout_connection on; Помогает бороться с сокетами, зависшими в фазе FIN-WAIT.
  • client_header_timeout Задает тайм-аут при чтении заголовка запроса клиента.
  • client_body_timeout Задает тайм-аут при чтении тела запроса клиента.
  • keepalive_timeout Задает тайм-аут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера. Многие боятся задавать здесь крупные значения, но мы не уверены, что этот страх оправдан. Опционально можно выставить значение тайм-аута в HTTP-заголовке Keep-Alive, но Internet Explorer знаменит тем, что игнорирует это значение
  • send_timeout Задает тайм-аут при передаче ответа клиенту. Если по истечении этого времени клиент ничего не примет, соединение будет закрыто.

Сразу вопрос: какие параметры буферов и тайм-аутов правильные? Универсального рецепта тут нет, в каждой ситуации они свои. Но есть проверенный подход. Нужно выставить минимальные значения, при которых сайт остается в работоспособном состоянии (в мирное время), то есть страницы отдаются и запросы обрабатываются. Это определяется только тестированием - как с десктопов, так и с мобильных устройств. Алгоритм поиска значений каждого параметра (размера буфера или тайм-аута):

  1. Выставляем математически минимальное значение параметра.
  2. Запускаем прогон тестов сайта.
  3. Если весь функционал сайта работает без проблем - параметр определен. Если нет - увеличиваем значение параметра и переходим к п. 2.
  4. Если значение параметра превысило даже значение по умолчанию - это повод для обсуждения в команде разработчиков.

В ряде случаев ревизия данных параметров должна приводить к рефакторингу/редизайну сайта. Например, если сайт не работает без трехминутных AJAX long polling запросов, то нужно не тайм-аут повышать, а long polling заменять на что-то другое - ботнет в 20 тысяч машин, висящий на запросах по три минуты, легко убьет среднестатистический дешевый сервер.

14. Лимитируем соединия в nginx (limit_conn и limit_req)

В nginx также есть возможность лимитировать соединения, запросы и так далее. Если вы не уверены в том, как поведет себя определенная часть вашего сайта, то в идеале вам нужно протестировать ее, понять, сколько запросов она выдержит, и прописать это в конфигурации nginx. Одно дело, когда сайт лежит и вы способны прийти и поднять его. И совсем другое дело - когда он лег до такой степени, что сервер ушел в swap. В этом случае зачастую проще перезагрузиться, чем дождаться его триумфального возвращения.

Предположим, что на сайте есть разделы с говорящими названиями /download и /search. При этом мы:

  • не хотим, чтобы боты (или люди с чересчур ретивыми рекурсивными download-менеджерами) забили нам таблицу TCP-соединений своими закачками;
  • не хотим, чтобы боты (или залетные краулеры поисковых систем) исчерпали вычислительные ресурсы СУБД множеством поисковых запросов.

Для этих целей сгодится конфигурация следующего вида:

Http { limit_conn_zone $binary_remote_addr zone=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; server { location /download/ { limit_conn download_c 1; # Прочая конфигурация location } location /search/ { limit_req zone=search_r burst=5; # Прочая конфигурация location } } }

Обычно имеет прямой смысл установить ограничения limit_conn и limit_req для locations, в которых находятся дорогостоящие к выполнению скрипты (в примере указан поиск, и это неспроста). Ограничения необходимо выбирать, руководствуясь результатами нагрузочного и регрессионного тестирования, а также здравым смыслом.

Обратите внимание на параметр 10m в примере. Он означает, что на расчет данного лимита будет выделен словарь с буфером в 10 мегабайт и ни мегабайтом более. В данной конфигурации это позволит отслеживать 320 000 TCP-сессий. Для оптимизации занимаемой памяти в качестве ключа в словаре используется переменная $binary_remote_addr, которая содержит IP-адрес пользователя в бинарном виде и занимает меньше памяти, чем обычная строковая переменная $remote_addr. Нужно заметить, что вторым параметром к директиве limit_req_zone может быть не только IP, но и любая другая переменная nginx, доступная в данном контексте, - например, в случае, когда вы не хотите обеспечить более щадящий режим для прокси, можно использовать $binary_remote_addr$http_user_agent или $binary_remote_addr$http_cookie_myc00kiez - но использовать такие конструкции нужно с осторожностью, поскольку, в отличие от 32-битного $binary_remote_addr, эти переменные могут быть существенно большей длины и декларированные вами «10m» могут скоропостижно закончиться.

Тренды в DDoS

  1. Непрерывно растет мощность атак сетевого и транспортного уровня. Потенциал среднестатистической атаки типа SYN-флуд достиг уже 10 миллионов пакетов в секунду.
  2. Особым спросом в последнее время пользуются атаки на DNS. UDP-флуд валидными DNS-запросами со spoof’ленными IP-адресами источника - это одна из наиболее простых в реализации и сложных в плане противодействия атак. Многие крупные российские компании (в том числе хостинги) испытывали в последнее время проблемы в результате атак на их DNS-серверы. Чем дальше, тем таких атак будет больше, а их мощность будет расти.
  3. Судя по внешним признакам, большинство ботнетов управляется не централизованно, а посредством пиринговой сети. Это дает злоумышленникам возможность синхронизировать действия ботнета во времени - если раньше управляющие команды распространялись по ботнету в 5 тысяч машин за десятки минут, то теперь счет идет на секунды, а ваш сайт может неожиданно испытать мгновенный стократный рост числа запросов.
  4. Доля ботов, оснащенных полноценным браузерным движком с JavaScript, все еще невелика, но непрерывно растет. Такую атаку сложнее отбить встроенными подручными средствами, поэтому Самоделкины должны с опасением следить за этим трендом.

готовим ОС

Помимо тонкой настройки nginx, нужно позаботиться о настройках сетевого стека системы. По меньшей мере - сразу включить net.ipv4.tcp_syncookies в sysctl, чтобы разом защитить себя от атаки SYN-flood небольшого размера.

15. Тюним ядро

Обратите внимание на более продвинутые настройки сетевой части (ядра) опять же по тайм-аутам и памяти. Есть более важные и менее важные. В первую очередь надо обратить внимание на:

  • net.ipv4.tcp_fin_timeout Время, которое сокет проведет в TCP-фазе FIN-WAIT-2 (ожидание FIN/ACK-сегмента).
  • net.ipv4.tcp_{,r,w}mem Размер приемного буфера сокетов TCP. Три значения: минимум, значение по умолчанию и максимум.
  • net.core.{r,w}mem_max То же самое для не TCP буферов.

При канале в 100 Мбит/с значения по умолчанию еще как-то годятся; но если у вас в наличии хотя бы гигабит в cекунду, то лучше использовать что-то вроде:

Sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w net.ipv4.tcp_wmem="4096 65536 8388608" sysctl -w net.ipv4.tcp_fin_timeout=10

16. Ревизия /proc/sys/net/**

Идеально изучить все параметры /proc/sys/net/**. Надо посмотреть, насколько они отличаются от дефолтных, и понять, насколько они адекватно выставлены. Linux-разработчик (или системный администратор), разбирающийся в работе подвластного ему интернет-сервиса и желающий его оптимизировать, должен с интересом прочитать документацию всех параметров сетевого стека ядра. Возможно, он найдет там специфические для своего сайта переменные, которые помогут не только защитить сайт от злоумышленников, но и ускорить его работу.

Не бояться!

Успешные DDoS-атаки изо дня в день гасят e-commerce, сотрясают СМИ, c одного удара отправляют в нокаут крупнейшие платежные системы. Миллионы интернет-пользователей теряют доступ к критичной информации. Угроза насущна, поэтому нужно встречать ее во всеоружии. Выполните домашнюю работу, не бойтесь и держите голову холодной. Вы не первый и не последний, кто столкнется с DDoS-атакой на свой сайт, и в ваших силах, руководствуясь своими знаниями и здравым смыслом, свести последствия атаки к минимуму.

Заголовки новостей сегодня пестрят сообщениями о DDoS-атаках (Distributed Denial of Service). Распределенным атакам «отказ в обслуживании» подвержены любые организации, присутствующие в интернете. Вопрос не в том, атакуют вас, или нет, а в том, когда это случится. Государственные учреждения, сайты СМИ и электронной коммерции, сайты компаний, коммерческих и некоммерческих организаций – все они являются потенциальными целями DDoS-атак .

Кого атакуют?

По данным ЦБ, в 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 предлагает свои услуги, не проверяя, является ли заказчик владельцем сайта, желающим протестировать его «под нагрузкой», или это делается с целью атаки.


DDoS-атаки представляют собой атаки из многих источников, препятствующие доступу легитимных пользователей к атакуемому сайту. Для этого в атакуемую систему направляется огромное количество запросов, с которыми та справиться не может. Обычно для этой цели используются скомпрометированные системы.

Ежегодный рост количества DDoS-атак оценивается в 50% (по сведениям www.leaseweb.com), но данные разных источников расходятся, на и не все инциденты становятся известными. Средняя мощность DDoS-атак Layer 3/4 выросла в последние годы с 20 до нескольких сотен Гбайт/с. Хотя массовые DDoS-атаки и атаки на уровне протоколов уже сами по себе – штука неприятная, киберпреступники все чаще комбинируют их с DDoS-атаками Layer 7, то есть на уровне приложений, которые нацелены на изменение или кражу данных. Такие «многовекторные» атаки могут быть очень эффективными.


Многовекторные атаки составляют порядка 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-устройства, как правило, не знают.

Протокол UDP подвержен спуфингу – замене адреса. Например, если нужно атаковать сервер DNS по адресу 56.26.56.26, используя атаку DNS Amplification, то можно создать набор пакетов с адресом отправителя 56.26.56.26 и отправить их DNS-серверам по всему миру. Эти серверы пришлют ответ по адресу 56.26.56.26.

Тот же метод работает для серверов 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-адресу.

При этом достигается двойной эффект. Целевую систему бомбардируют тысячи и миллионы ответов DNS, а DNS-сервер может «лечь», не справившись с нагрузкой. Сам запрос DNS – это обычно менее 50 байт, ответ же раз в десять длиннее. Кроме того, сообщения DNS могут содержать немало другой информации.

Предположим, атакующий выдал 100 000 коротких запросов DNS по 50 байт (всего 5 Мбайт). Если каждый ответ содержит 1 Кбайт, то в сумме это уже 100 Мбайт. Отсюда и название – Amplification (усиление). Комбинация атак DNS Reflection и Amplification может иметь очень серьезные последствия.


Запросы выглядят как обычный трафик, а ответы – это множество сообщений большого размера, направляемых на целевую систему.

Как защититься от DDoS-атак?

Как же защититься от DDoS-атак, какие шаги предпринять? Прежде всего, не стоит откладывать это «на потом». Какие-то меры следует принимать во внимание при конфигурировании сети, запуске серверов и развертывании ПО. И каждое последующее изменение не должно увеличивать уязвимость от DDoS-атак.

  1. Безопасность программного кода. При написании ПО должны приниматься во внимание соображения безопасности. Рекомендуется следовать стандартам «безопасного кодирования» и тщательно тестировать программное обеспечение, чтобы избежать типовых ошибок и уязвимостей, таких как межсайтовые скрипты и SQL-инъекции.
  2. Разработайте план действий при обновлении программного обеспечения. Всегда должна быть возможность «отката» в том случае, если что-то пойдет не так.
  3. Своевременно обновляйте ПО. Если накатить апдейты удалось, но при этом появились проблемы, см. п.2.
  4. Не забывайте про ограничение доступа. Аккаунты admin и/или должны быть защищены сильными и регулярно сменяемыми паролями. Необходим также периодический аудит прав доступа, своевременное удаление аккаунтов уволившихся сотрудников.
  5. Интерфейс админа должен быть доступен только из внутренней сети или через VPN. Своевременно закрывайте VPN-доступ для уволившихся и тем более уволенных сотрудников.
  6. Включите устранение последствий DDoS-атак в план аварийного восстановления. План должен предусматривать способы выявления факта такой атаки, контакты для связи с интернет- или хостинг-провайдером, дерево «эскалации проблемы» для каждого департамента.
  7. Сканирование на наличие уязвимостей поможет выявить проблемы в вашей инфраструктуре и программном обеспечении, снизить риски. Простой тест OWASP Top 10 Vulnerability выявит наиболее критичные проблемы. Полезными также будут тесты на проникновение – они помогут найти слабые места.
  8. Аппаратные средства защиты от DDoS-атак могут быть недешевы. Если ваш бюджет такого не предусматривает, то есть хорошая альтернатива – защита от DDoS «по требованию». Такую услугу можно включать простым изменением схемы маршрутизации трафика в экстренной ситуации, либо находится под защитой постоянно.
  9. Используйте CDN-партнера. Сети доставки контента (Content Delivery Network) позволяют доставлять контент сайта посредством распределенной сети. Трафик распределяется по множеству серверов, уменьшается задержка при доступе пользователей, в том числе географически удаленных. Таким образом, хотя основное преимущество CDN – это скорость, она служит также барьером между основным сервером и пользователями.
  10. Используйте Web Application Firewall – файрвол для веб-приложений. Он мониторит трафик между сайтом или приложением и браузером, проверяя легитимность запросов. Работая на уровне приложений, WAF может выявлять атаки по хранимым шаблонам и выявлять необычное поведение. Атаки на уровне приложений нередки в электронной коммерции. Как и в случае CDN, можно воспользоваться сервисами WAF в облаке. Однако конфигурирование правил требует некоторого опыта. В идеале защитой WAF должны быть обеспечены все основные приложения.

Защита DNS

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


На выручку могут прийти облачные сервисы очистки трафика: он направляется в некий центр, где проверяется и перенаправляется обратно по назначению. Эти услуги полезны для TCP-трафика. Те, кто сами управляют своей инфраструктурой DNS, могут для ослабления последствий DDoS-атак принять следующие меры.
  1. Мониторинг DNS-серверов на предмет подозрительной деятельности является первым шагом в деле защиты инфраструктуры DNS. Коммерческие решения DNS и продукты с открытым исходным кодом, такие как BIND, предоставляют статистику в реальном времени, которую можно использоваться для обнаружения атак DDoS. Мониторинг DDoS-атак может быть ресурсоемкой задачей. Лучше всего создать базовый профиль инфраструктуры при нормальных условиях функционирования и затем обновлять его время от времени по мере развития инфраструктуры и изменения шаблонов трафика.
  2. Дополнительные ресурсы DNS-сервера помогут справиться с мелкомасштабными атаками за счет избыточности инфраструктуры DNS. Ресурсов сервера и сетевых ресурсов должно хватать не обработку большего объема запросов. Конечно, избыточность стоит денег. Вы платите за серверные и сетевые ресурсы, которые обычно не используются в нормальных условиях. И при значительном «запасе» мощности этот подход вряд ли будет эффективным.
  3. Включение DNS Response Rate Limiting (RRL) снизит вероятность того, что сервер будет задействован в атаке DDoS Reflection – уменьшится скорость его реакции на повторные запросы. RRL поддерживают многие реализации DNS.
  4. Используйте конфигурации высокой доступности. Можно защититься от DDoS-атак путем развертывания службы DNS на сервере высокой доступности (HA). Если в результате атаки «упадет» один физический сервер, DNS-служба может быть восстановлена на резервном сервере.
Лучшим способом защиты DNS от DDoS-атак будет использование географически распределенной сети Anycast. Распределенные сети DNS могут быть реализованы с помощью двух различных подходов: адресации Unicast или Anycast. Первый подход намного проще реализовать, но второй гораздо более устойчив к 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-атак, непрерывность функционирования сайта и его постоянная доступность для пользователей, минимизация финансовых и репутационных потерь от простоев сайта или портала.



Рассказать друзьям