DDoS-атака: почему Вас атакуют, чем это грозит, как защититься. Как атаковать сайт ddos


понятие, разновидности, методы выявления и защиты

DoS и DDoS-атака — это агрессивное внешнее воздействие на вычислительные ресурсы сервера или рабочей станции, проводимое с целью доведения последних до отказа. Под отказом мы понимаем не физический выход машины из строя, а недоступность ее ресурсов для добросовестных пользователей — отказ системы в их обслуживании (Denial of Service, из чего и складывается аббревиатура DoS).

Если такая атака проводится с одиночного компьютера, она классифицируется как DoS (ДоС), если с нескольких — DDoS (ДиДоС или ДДоС), что означает «Distributed Denial of Service» — распределенное доведение до отказа в обслуживании. Далее поговорим, для чего злоумышленники проводят подобные воздействия, какими они бывают, какой вред причиняют атакуемым и как последним защищать свои ресурсы.

Кто может пострадать от DoS и DDoS атак

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

Схема, иллюстрирующая суть DDoS-атаки:

схема DDoS-атаки

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

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

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

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

Как проводятся атаки

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

Так выглядит нормальная работа сервера, визуализированная в программе Logstalgia:

нормальная работа сервера

Эффективность одиночных DOS-атак не слишком высока. Кроме того, нападение с личного компьютера подвергает злоумышленника риску быть опознанным и пойманным. Гораздо больший профит дают распределенные атаки (DDoS), проводимые с так называемых зомби-сетей или ботнетов.

Так отображает деятельность ботнета сайт Norse-corp.com:

деятельность ботнета

Зомби-сеть (ботнет) — это группа компьютеров, не имеющих физической связи между собой. Их объединяет то, что все они находятся под контролем злоумышленника. Контроль осуществляется посредством троянской программы, которая до поры до времени может никак себя не проявлять. При проведении атаки хакер дает зараженным компьютерам команду посылать запросы на сайт или сервер жертвы. И тот, не выдержав натиска, перестает отвечать.

Так Logstalgia показывает DDoS-атаку:

визуализация DDoS-атаки

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

Способы нападения и защиты

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

Флуд

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

Основная цель использования флуда — полностью забить каналы связи, насытить полосу пропускания до максимума.

Виды флуда:

  • MAC-флуд — воздействие на сетевые коммуникаторы (блокировка портов потоками данных).
  • ICMP-флуд — заваливание жертвы служебными эхо-запросами с помощью зомби-сети или рассылка запросов «от имени» атакуемого узла, чтобы все члены ботнета одновременно отправили ему эхо-ответ (атака Smurf). Частный случай ICMP-флуда — ping-флуд (отправка на сервер запросов ping).
  • SYN-флуд — отправка жертве многочисленных SYN-запросов, переполняя очередь TCP-подключений путем создавая большого количества полуоткрытых (ожидающих подтверждения клиента) соединений.
  • UDP-флуд — работает по схеме Smurf-атак, где вместо ICMP-пакетов пересылаются датаграммы UDP.
  • HTTP-флуд — заваливание сервера многочисленными HTTP-сообщениями. Более изощренный вариант — HTTPS-флуд, где пересылаемые данные предварительно шифруются, и прежде чем атакуемый узел их обработает, ему предстоит их расшифровать.

повышение нагрузки на серверКак защититься от флуда

  • Настроить на сетевых коммутаторах проверку на валидность и фильтрацию MAC-адресов.
  • Ограничить или запретить обработку эхо-запросов ICMP.
  • Блокировать пакеты, приходящие с определенного адреса или домена, который дает повод подозревать его в неблагонадежности.
  • Установить лимит на количество полуоткрытых соединений с одним адресом, сократить время их удержания, удлинить очередь TCP-подключений.
  • Отключить сервисы UDP от приема трафика извне или ограничить количество UDP-соединений.
  • Использовать CAPTCHA, задержки и другие приемы защиты от ботов.
  • Увеличить максимальное количество HTTP-подключений, настроить кэширование запросов с помощью nginx.
  • Расширить пропускную способность сетевого канала.
  • По возможности выделить отдельный сервер для обработки криптографии (если используется).
  • Создать резервный канал для административного доступа к серверу в аварийных ситуациях.

Перегрузка аппаратных ресурсов

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

  • Создание скрипта, который разместит на форуме или сайте, где у пользователей есть возможность оставлять комментарии, огромное количество бессмысленной текстовой информации, пока не заполнится всё дисковое пространство.
  • То же самое, только заполнять накопитель будут логи сервера.
  • Загрузка сайта, где выполняется какое-либо преобразование введенных данных, непрерывной обработкой этих данных (отправка так называемых «тяжелых» пакетов).
  • Загрузка процессора или памяти выполнением кода через интерфейс CGI (поддержка CGI позволяет запускать на сервере какую-либо внешнюю программу).
  • Вызов срабатывания системы безопасности, что делает сервер недоступным извне и т. д.

сервераКак защититься от перегрузки аппаратных ресурсов

  • Увеличить производительность оборудования и объем дискового пространства. При работе сервера в штатном режиме свободными должны оставаться не менее 25-30% ресурсов.
  • Задействовать системы анализа и фильтрации трафика до передачи его на сервер.
  • Лимитировать использование аппаратных ресурсов компонентами системы (установить квоты).
  • Хранить лог-файлы сервера на отдельном накопителе.
  • Рассредоточить ресурсы по нескольким независимым друг от друга серверам. Так, чтобы при отказе одной части другие сохраняли работоспособность.

Уязвимости в операционных системах, программном обеспечении, прошивках устройств

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

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

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

Методы противодействия эксплуатации уязвимостей в софте

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

Как определить, что ресурс подвергся нападению хакера

Если злоумышленнику удалось достичь цели, не заметить атаку невозможно, но в отдельных случаях администратор не может точно определить, когда она началась. То есть от начала нападения до заметных симптомов иногда проходит несколько часов. Однако во время скрытого воздействия (пока сервер не «лег») тоже присутствуют определенные признаки. Например:

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

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

compconfig.ru

Как защитить себя от DoS/DDoS-атак

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

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

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

  1. Удаленная эксплуатация ошибок в ПО с целью привести его в нерабочее состояние.
  2. Flood - посылка на адрес жертвы огромного количества бессмысленных (реже – осмысленных) пакетов. Целью флуда может быть канал связи или ресурсы машины. В первом случае поток пакетов занимает весь пропускной канал и не дает атакуемой машине возможность обрабатывать легальные запросы. Во втором - ресурсы машины захватываются с помощью многократного и очень частого обращения к какому-либо сервису, выполняющему сложную, ресурсоемкую операцию. Это может быть, например, длительное обращение к одному из активных компонентов (скрипту) web-сервера. Сервер тратит все ресурсы машины на обработку запросов атакующего, а пользователям приходится ждать.

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

Методы борьбы

Опасность большинства DDoS-атак – в их абсолютной прозрачности и "нормальности". Ведь если ошибка в ПО всегда может быть исправлена, то полное сжирание ресурсов - явление почти обыденное. С ними сталкиваются многие администраторы, когда ресурсов машины (ширины канала) становится недостаточно, или web-сайт подвергается слэшдот-эффекту (twitter.com стал недоступен уже через несколько минут после первого известия о смерти Майкла Джексона). И если резать трафик и ресурсы для всех подряд, то спасешься от DDoS, но потеряешь добрую половину клиентов.

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

  • способы распознавания начинающейся DDoS-атаки;
  • методы борьбы с конкретными типами DDoS-атак;
  • универсальные советы, которые помогут подготовиться к DoS-атаке и снизить ее эффективность.

В самом конце будет дан ответ на вопрос: что делать, когда началась DDoS-атака.

Борьба с flood-атаками

Итак, существует два типа DoS/DDoS-атак, и наиболее распространенная из них основана на идее флуда, то есть заваливания жертвы огромным количеством пакетов. Флуд бывает разным: ICMP-флуд, SYN-флуд, UDP-флуд и HTTP-флуд. Современные DoS-боты могут использовать все эти виды атак одновременно, поэтому следует заранее позаботиться об адекватной защите от каждой из них. Пример как защититься от самого распространенного типа атак.

 HTTP-флуд.

Один из самых распространенных на сегодняшний день способов флуда. Основан на бесконечной посылке HTTP-сообщений GET на 80-ый порт с целью загрузить web-сервер настолько, чтобы он оказался не в состоянии обрабатывать все остальные запросы. Часто целью флуда становится не корень web-сервера, а один из скриптов, выполняющих ресурсоемкие задачи или работающий с базой данных. В любом случае, индикатором начавшейся атаки будет служить аномально быстрый рост логов web-сервера.

Методы борьбы с 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 следующие строки:

# vi /etc/sysctl.conf# Защита от спуфингаnet.ipv4.conf.default.rp_filter = 1# Проверять TCP-соединение каждую минуту. Если на другой стороне - легальная машина, она сразу ответит. Дефолтовое значение - 2 часа.net.ipv4.tcp_keepalive_time = 60# Повторить пробу через десять секундnet.ipv4.tcp_keepalive_intvl = 10# Количество проверок перед закрытием соединенияnet.ipv4.tcp_keepalive_probes = 5

Следует отметить, что все приемы, направлены на снижение эффективности DDoS-атак, ставящих своей целью израсходовать ресурсы машины. От флуда, забивающего канал мусором, защититься практически невозможно, и единственно правильный, но не всегда осуществимый способ борьбы заключается в том, чтобы "лишить атаку смысла". Если ты заимеешь в свое распоряжение действительно широкий канал, который легко пропустит трафик небольшого ботнета, считай, что от 90% атак твой сервер защищен. Есть более изощренный способ защиты. Он основан на организации распределенной вычислительной сети, включающей в себя множество дублирующих серверов, которые подключены к разным магистральным каналам. Когда вычислительные мощности или пропускная способность канала заканчиваются, все новые клиенты перенаправляются на другой сервер (или же постепенно "размазываются" по серверам по принципу round-robin). Это но очень стойкая структура, завалить которую практически нереально.

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

Кажется, началось. Что делать?

Перед непосредственным началом атаки боты "разогреваются", постепенно наращивая поток пакетов на атакуемую машину. Важно поймать момент и начать активные действия. Поможет в этом постоянное наблюдение за маршрутизатором, подключенным к внешней сети (анализ графиков NetFlow). На сервере-жертве определить начало атаки можно подручными средствами.

Наличие SYN-флуда устанавливается легко - через подсчет числа "полуоткрытых" TCP-соединений:

# netstat -na | grep ":80 " | grep SYN_RCVD

В обычной ситуации их не должно быть совсем (или очень небольшое количество: максимум 1-3). Если это не так - ты атакован, срочно переходи к дропанью атакующих.

С HTTP-флудом несколько сложнее. Для начала нужно подсчитать количество процессов Apache и количество коннектов на 80-ый порт (HTTP-флуд):

# ps aux | grep httpd | wc -l# netstat -na | grep ":80 " | wc -l

Значения, в несколько раз превышающие среднестатистические, дают основания задуматься. Далее следует просмотреть список IP-адресов, с которых идут запросы на подключение:

# netstat -na | grep ":80 " | sort | uniq -c | sort -nr | less

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

# tcpdump -n -i eth0 -s 0 -w output.txt dst port 80 and host IP-сервера

Показателем служит большой поток однообразных (и не содержащих полезной информации) пакетов от разных IP, направленных на один порт/сервис (например, корень web-сервера или определенный cgi-скрипт).

Окончательно определившись, начинаем дропать неугодных по IP-адресам (будет гораздо больше эффекта, если ты сделаешь это на маршрутизаторе):

# iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port http -j DROP

Или сразу по подсетям:

# iptables -A INPUT -s xxx.xxx.0.0/16 -p tcp --destination-port http -j DROP

Это даст тебе некоторую фору (совсем маленькую; зачастую IP-адрес источника спуфится), которую ты должен использовать для того, чтобы обратиться к провайдеру/хостеру (с приложенными к сообщению логами web-сервера, ядра, брандмауэра и списком выявленных тобой IP-адресов). Большинство из них, конечно, проигнорируют это сообщение (а хостинги с оплатой трафика еще и порадуются - DoS-атака принесет им прибыль) или просто отключат твой сервер. Но в любом случае это следует сделать обязательно, – эффективная защита от DDoS возможна только на магистральных каналах. В одиночку ты справишься с мелкими нападками, направленными на истощение ресурсов сервера, но окажешься беззащитным перед более-менее серьезным DDoS'ом.

Во времена своего рассвета DoS-атаки были настоящей катастрофой для серверов и обычных рабочих станций. Web-сайт можно было легко завалить с помощью одного-единственного хоста, реализующего атаку типа Smurf. Рабочие станции с установленной ОС Windows падали, как доминошки, от атак типа Ping of Death, Land, WinNuke. Сегодня всего этого не стоит опасаться.

05.xn--b1aew.xn--p1ai

Нагрузочное тестирование сайта. Как фильтровать DDoS-атаки? | GeekBrains

Поговорим о DDoS-атаках, и о том, как эффективно их "отбивать".

DDoS-атаки (Distributed Denial of Service) являются одними из самых простых. "Принять участие" в них может любой пользователь, с помощью, например этой доступной утилиты.

Что это и как работает?

Меняются инструменты, способы обхода защиты и блокировки, любые другие параметры, кроме одного, основного принципа атаки: сотни и тысячи разных рабочих станций по всему миру одновременно начинают отправлять запросы на атакуемый сервер, после чего он начинает испытывать перегрузку и не может своевременно обрабатывать запросы от легитимных пользователей. В итоге, после достижения определенного порога, происходит отказ сервера в обслуживании всем пользователям, чего и добивались злоумышленники. Бомбардировка сервера такими запросами (каждый из которых может оказаться легитимным) продолжается достаточно долгое время, и в течение всего этого периода пользователи не смогут на сервер зайти. Если объект атаки – крупный интернет-магазин, то он понесет значительные убытки и репутационные издержки. Клиенты, вероятно, закажут в другом месте и в будущем откажутся от использования этого онлайн-магазина. Любопытно, что ваш ПК может также принимать участие в DDoS атаке, а вы даже не будете об этом знать - так работают ботнеты.

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

Как проверить устойчивость вашего сайта к DDoS атакам?

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

Некоторые варианты защиты

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

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

Для чего нужно нагрузочное тестирование?

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

Все еще недостаточно? Закажите DDoS атаку у хакеров с реального ботнета. Это стоит 15-20 USD за час и позволяет однозначно подтвердить устойчивость сайта, либо отправить его обратно на доработку.

Хотите стать программистом? Рекомендуем профессию «Веб-разработчик».

geekbrains.ru

DDOS атака - что это такое: принципы работы и как защититься

Здравствуйте, дорогие читатели!

Только за прошедший год, согласно исследованиям «Лаборатории Касперского», кибератакам подверглось почти 43% компьютеров компаний разного уровня. Если Вы решили создать собственный сайт, не обязательно корпоративный, а просто информационный, помните, Вы – также в группе риска: в любой момент вас могут «ддосить». Именно поэтому как можно быстрее важно понять: DDoS-атака – что это? А также, почему она происходит и как от нее уберечься?

Краткая информация

Бывают DoS и DDoS-атаки. К слову, термины используются преимущественно обычными пользователями, так как технари оперируют более конкретными понятиями, вроде UPD флуд, IP null, Slow Loris, DNS амплификация и прочее. Все эти слова описывают разные типы атак, но принцип работы всегда один.

DDoS-атака (Distributed Denial of Service attack) – это алгоритм действий, в результате которых сайт частично или полностью выходит из строя. За каждой атакой стоит хакер. Причем в одиночку реализовать задуманное ему не удастся: для достижения цели он использует ботнет.

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

Чьи компьютеры попадают в ботнет? Любые, зараженные троянской программой. Последние можно подцепить не только во время серфинга в сети, но и в собственном e-mail-ящике. Увидели письмо от незнакомого адресата? Лучше его не отрывайте. У червя – своя цель, он не атакует компьютер, на который попадает, поэтому антивирусные программы, особенно бесплатные, его с легкостью пропускают.

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

Причины и последствия

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

  • Заказе. ДДоС-атака может быть следствием активной рекламной кампании, из-за которой у конкурентов «просели» показатели. Так часто бывает в сфере игровых сервисов.
  • Вымогательстве. В этом случае на адрес владельца ресурса приходит письмо с просьбой о некой денежной сумме за несовершение или прекращение атаки. К слову, таким образом, в 2014 г. ддосили «Тинькофф» и «Хабрахабр».
  • Личной неприязни. Пример подобной истории – атака на блог журналиста Б. Кребса, описавшего деятельность vDOS – одного из крупных сервисов, специализирующихся на совершении заказных DDoS.
  • Парализованной работе хостера. Случается, когда атакуют серверы последнего, а Ваш сайт – в их числе. Именно поэтому хостинг-провайдера важно выбирать особенно тщательно.

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

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

Как понять, что сайт ддосят

Если никакие меры предостережения владельцем интернет-сайта не предприняты, он может даже не узнать о начавшейся атаке. Ее последствия он заметит потом, увидев в «Метрике» провалы по трафику или самостоятельно заглянув на сайт.

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

Есть и сторонние сервисы, помогающие понять, в самом ли сайте существующая проблема или в ДДоС-атаке. В их числе – Seogadget.ru. Заходите, ищите слева внизу раздел «Доступность сайта», прописывайте адрес своего в соответствующей форме и жмите «Проверить».

Если выдаст код:

  • HTTP 200 – все в норме.
  • HTTP 4 – есть ошибки на сайте.
  • HTTP 5 – что-то не так на сервере.
  • HTTP 502 (Bad Gateway) – сайт не справляется с нагрузкой.

В последнем случае возможны 2 варианта: или дело в атаке, или в высокой посещаемости. Так бывает у сайтов новостных агентств, когда они выкладывают интересную статью, и сервер не справляется с потоком пользователей. Другие сервисы: Ping-Admin.ru, Who Is.

Можно ли уберечься

Универсальной защиты от всех ДДоС-атак нет. Им могут подвергаться как популярные порталы, так и огромные коммерческие площадки. К слову, чтобы противостоять киберпреступникам, Google и Amazon, например, тратят миллиарды на киберзащиту и миллионы на призовые в конкурсах на поиск уязвимостей.

Как защититься небольшому ресурсу? Прежде всего, нужно правильно выбирать хостера. Как правило, услуга защиты предоставляется за отдельную плату. Если во время атаки ваш сайт работает медленнее, провайдер с обязанностями не справляется. Будьте готовы и к тому, что в случае атаки хостер может отключить Ваш сайт, чтобы последствия последней не коснулись других его пользователей.

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

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

Ярким примером такой компании является «WSR». Они представляют целый комплекс работ по защите веб-ресурсов от вирусов. Попутно предоставляется возможность настройки мониторинга работоспособности сайта (чтоб не пользоваться сторонними ресурсами). Причем если падает работоспособность вашего хостинга, компания подключает режим FixedWebsite, чтобы обеспечить полную либо частичную доступность к ресурсу во время проведения восстановительных работ.

WSR

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

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

А также подписывайтесь на группу Вконтакте и на блог Start-luck.ru.

start-luck.ru

Как остановить DDoS атаку | Oddstyle.ru — все о WordPress

В данной статье мы покажем вам, как остановить DDoS атаку на небольшом коммерческом сайте WordPress. DDoS-атаки могут появляться из ниоткуда, и небольшие сайты особенно уязвимы к ним, поскольку они не всегда готовы к такому повороту событий. Давайте спросим себя: если бы ваш сайт подвергся завтра нападению, что бы вы сделали? Если у вас нет идей, то в таком случае вам стоит прочитать представленную статью.

Что представляет собой DDoS атака?

DDoS это сокращение от distributed denial of service (распределенная атака типа «отказ в обслуживании»). Главная цель DDoS атаки – забить запросами ваш сервер и либо нанести какой-то ущерб, либо просто вывести его из строя. Такие типы атак отличаются одной неприятной особенностью – как правило, злоумышленник ничего не похищает и ничего не взламывает. Главная проблема DDoS атак связана с высокой нагрузкой, которая ложится на веб-сервер. Скорее всего, вы заметите стремительное разрастание трафика, и это может вам стоить сотни и даже тысячи долларов. Если вы находитесь на дешевом или виртуальном хостинге, то в итоге ваш аккаунт может быть даже приостановлен.

21 октября 2016 произошла крупнейшая в истории DDoS-атака (связанная с DNS), «положившая» такие крупные компании, как PayPal, Spotify, Twitter, Reddit и eBay. Некоторые даже назвали ее «концом света для интернета». Поскольку сеть продолжает расти, неудивительно, что DDoS-атаки повторяются с угрожающей скоростью. Согласно данным, предоставленным easyDNS, DDoS-атаки со временем становятся только ужаснее. Для многих сайтов попадание под атаку может стать лишь вопросом времени.

Многие хостинги используют дополнительные меры предосторожности, чтобы защититься от DDoS-атак. Мы рекомендуем обращаться к компаниям с крупной инфраструктурой и специальным софтом, предназначенным для предотвращения таких атак. Cloudflare и Sucuri – два сервиса, которые мы рекомендуем всем пользователям WordPress и любых других платформ. Инвестирование в достойную защиту от DDoS позволит вам сэкономить время и деньги в будущем.

Остановка DDoS атаки на небольшой коммерческий сайт

В данном руководстве мы покажем вам, как остановить DDoS атаку на своем примере. У нас был небольшой коммерческий сайт WordPress, на котором стоял плагин Easy Digital Downloads. Обычно сайт генерировал примерно 30-40 Мб в день в плане пропускной способности и имел пару сотен посетителей в день. В июне он начал использовать гораздо больше пропускной способности, однако в Google Analytics не значилось никакого дополнительного трафика. Сайт мгновенно перешел на передачу данных в 15-19 Гб в день! Прирост составил где-то 4650%. Нехорошо. И это, естественно, никак не связано с небольшим приростом трафика от ботов. К счастью, владелец сайта смог быстро это обнаружить.

Заметив такой прирост, мы решили проверить серверные логи, чтобы выяснить, что случилось. Подобные события могут легко выйти из-под контроля. За последний 7 дней страницы сайта были запрошены 5 110 000 раз, и было сгенерировано примерно 66 Гб трафика. И это для сайта, который в месяц обычно пропускает чуть больше 1 Гб данных. Мы сразу поняли, что что-то произошло.

Анализ топ 10 клиентских IP за последние 7 дней на сайте мгновенно выявил некоторые подозрительные действия. Большинство из них произвело свыше 10 000 запросов, и это довольно много. Помните, что мы говорим про небольшой сайт, который должен получать только пару тысяч запросов в месяц.

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

Смена URL

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

Взлом или попытки брутфорса?

Следующий шаг, который вам нужно будет сделать – это убедиться в том, что вас не пытаются взломать. В нашем случае попыток взлома не было. WP Security Audit Log – великолепный плагин, который позволяет быстро исследовать сайт и понять, были ли какие-либо неверные попытки входа. Вы можете также проверить логи, чтобы узнать, были ли какие-либо действия POST в большом количестве. По всей видимости, мы столкнулись с классической DDoS-атакой, в процессе которой просто шли огромные объема трафика на один из участков сайта, чтобы попытаться вывести его из строя.

IP блокировка

Если вы работаете со своим собственным сервером, то в таком случае следующим шагом будет установка плагина для IP-блокировки или файрвола, такого как WordFence. Однако большинство администрируемых (managed) WordPress хостингов запрещают такие плагины. И на то есть свои основания. Прежде всего, такие плагины могут оказывать огромное влияние на производительность (особенно их процесс сканирования). Также стоит отметить, что хостинги нередко используют балансировщики нагрузки с Google Cloud Platform, т.е. функции блокировки IP большую часть времени не будут работать.

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

Перенос сайта на Cloudflare не помог

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

Затем мы установили «ограничение скорости» на сайте. Такое ограничение позволяет создавать правила для трафика для URL и производить блокировку/ограничение его на основе активности. Возможность доступна для подключения в бесплатном тарифе и стоит $0.05 за 10 000 запросов. Однако темпы, которые мы наблюдали, привели бы к 36 млн запросам в месяц, что стоило бы нам 180 долларов в месяц. Очевидно, что это решение не самое удачное. И да, мы пробовали разные типы шаблонов.

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

Сравнение Cloudflare с Sucuri

По нашему мнению, два лучших решения, которые существуют сегодня в сфере веб-файрволов и которые проще всего применить для любых типов сайтов – это Cloudflare и Sucuri. Примечание: мы никак не связаны ни с одной из этих компаний, они нам не платят. Если вы изучите их, то вы увидите, что Sucuri является более эффективным, хотя оба сервиса предлагают планы за $20 в месяц.

Cloudflare

Тариф Cloudflare Pro предлагает вам расширенную защиту от DDoS на уровнях 3 и 4. Это поможет автоматически остановить атаки TCP SYN, UDP и ICMP на их серверах, в результате чего такие атаки никогда не дойдут до вашего сервера. Чтобы получить защиту уровня 7, вам нужно будет перейти на план $200 в месяц. Помните, что мы имеем дело с небольшим коммерческим сайтом, потому 200 долларов в месяц – неподъемная сумма для нас.

Sucuri

С тарифом Sucuri вы получите расширенную защиту от DDoS на уровнях 3 и 4 вместе с уровнем 7. Это помогает автоматически обнаруживать внезапные изменения трафика и защищаться от POST-флуда и DNS-атак, потому они никогда не дойдут до вашего сервера. Таким образом, если говорить напрямую, вы, скорее всего, увидите лучшее смягчение атак DDoS, если воспользуетесь Sucuri. В нашем случае нам требуется уровень 7 для защиты от HTTP-флуда.

HTTP-флуд – это атаки уровня 7, в которых используется стандартные доверенные GET/POST-запросы для получения информации, как во время обычных запросов данных (изображений, информации) в рамках SSL-сессии. Флуд HTTP GET/POST – это объемная атака, которая не использует поддельные пакеты, спуфинг и т.д.

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

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

Помните о том, что ни одна компания не сможет вам пообещать 100% гарантию на защиту от DDoS. Все, что они могут сделать – смягчить атаку.

Перенос сайта в Sucuri

Перенос сайта в Sucuri – простой процесс. Как в случае с Cloudflare, ничего устанавливать не нужно, поскольку сервис работает как полноценный прокси. По существу это веб-файрвол (WAF), который находится между клиентом и сайтом.

Консоль Sucuri, по нашему мнению, не такая современная и привлекательная, как в Cloudflare, но в случае с файрволом это не так и важно. Главное, чтобы он работал хорошо. Как вы можете видеть ниже, он определяет ваш текущий IP хостинга и предлагает IP файрвола. На него вы и должны направлять ваши DNS (запись A + запись AAAA).

Вы можете все запустить в Sucuri всего за пару минут. Это хорошо в случае с активной DDoS-атакой. Единственное, что нужно будет сделать – подождать, пока пройдет распространение DNS. Также Sucuri включает в себя HTTP/2 Anycast CDN. Так что это не просто файрвол. Он позволяет также ускорить работу сайта WordPress. Но вы также можете использовать и свои CDN, такие как KeyCDN.

Они предлагают бесплатный SSL-сертификат Let’s Encrypt. Вы можете также загрузить и свой сертификат. Единственный недостаток — Let’s Encrypt не автоматизирован, вам нужно будет создавать тикет. Еще один совет для повышения производительности – вы можете включить кэширование сайта. Но, скорее всего, у вас уже имеется кэширование на вашем хостинге WordPress.

Возможности дополнительной защиты

На странице безопасности вы можете легко заблокировать весь XML-RPC трафик, агрессивных ботов, включить дополнительные заголовки безопасности, такие как HSTS и т.д. Примечание: XML-RPC уже был заблокирован на нашем коммерческом сайте.

Просмотр в реальном времени

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

Другие полезные отчеты

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

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

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

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

Помог ли Sucuri нашему небольшому коммерческому WordPress-сайту? Через час после того, как DNS закончил свое распространение, пропускная полоса и запросы тут же стабилизировались, и с тех пор не было ни единой проблемы. Это хорошая инвестиция и экономия времени, если вы столкнулись с подобными неприятностями.

Вот как выглядел сайт спустя некоторое время после переезда на Sucuri. Как вы можете видеть, все вернулось к изначальной передаче данных 30-40 Мб в день.

Даже если вы не находитесь под атакой, возможно, вам нужен способ исключения ботов, чтобы они не забивали вашу пропускную способность. Sucuri помогли WP Beginner заблокировать свыше 450 000 атак за 3 месяца. Мы также заметили интересный комментарий к сообщению:

Нас активно атакуют боты, расположенные на Amazon AWS и Google Cloud. Может ли файрвол Sucuri помочь с этим? В настоящее время мы используем WPEngine, которые имеют встроенный файрвол (ничего не блокирующий) и CloudFlare (тоже пропускает спам). Надеюсь, что Sucuri поможет с этим.

Если вы уже пробовали другие решения, то в таком случае воспользуйтесь Sucuri. Не поймите нас неправильно. CLoudflare – тоже хорошее решение для большинства сайтов, и мы рекомендуем этот сервис своим клиентам. Их планы за $200 в месяц, скорее всего, позволили ли быстро смягчить DDoS-атаки, однако всегда полезно иметь представление о других решениях. Особенно, если вы имеете лимитированный бюджет.

Источник: kinsta.com

oddstyle.ru