CityHost.UA
Помощь и поддержка

Что такое DDoS-атака и как защитить свой сайт/сервер

 13723
29.11.2021
article

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

Черные программисты изобрели немало способов нанести вред веб-ресурсу или серверу. Один из самых распространенных — DDoS-атака.

 

 

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

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

Distributed Denial of Service - Распределенный отказ в обслуживании

С отказом в обслуживании мы разобрались, но что значит слово «распределенный» (Distributed)? Так в термине отмечен факт, что атака производится сразу с нескольких устройств, она распределена.  

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

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

Откуда осуществляется ddos атака

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

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

  3. Ботнет. Это самая сложная и мощная из всех систем для совершения DDoS-атак. Сначала нужно создать армию «компьютеров-зомби» — это и есть ботнет. Так называют устройства пользователей, контроль над которыми захвачен злоумышленниками. Захват управления осуществляется при помощи вирусов, которые распространяются через рассылки или взломанные сайты. Вирус встраивается в ОС и позволяет хакеру удаленно отдавать команды. Владельцы даже не в курсе неправомерного поведения своих компьютеров, поскольку вирус никак себя не проявляет. Часто хакеры имеют большую базу таких зомби, постоянно ее обновляют и периодически бросают в бой. Ботнеты бывают просто огромными — до нескольких миллионов машин. Они живут по несколько лет, а особо крупные даже имеют имена. Содержать такое «хозяйство» дорого, требует много времени и знаний, поэтому считается самым продвинутым уровнем. Заказчики обращаются к владельцам ботнетов, чтобы воспользоваться их услугами. DDoS-атака ботнетом стоит недешево, но он способен положить даже самый мощный веб-ресурс.

  Ботнет

Алгоритм подготовки и осуществления DDoS-атаки на сайт или сервер

DDoS-атака — масштабное мероприятие, требующее качественной подготовки. 

Этапы подготовки атаки:

  1. Изучение жертвы — сбор информации об уязвимостях, по которым можно эффективнее ударить: на каких серверах размещен сайт, как написан код. Также исходя из полученных данных выбирается метод атаки. 

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

  3. Производится  DDoS-атака, анализируются результаты. Если она не дала ожидаемого эффекта, выясняются причины. Затем нападение может повториться (и не раз). 

Зачем используют DDoS-атаки на сайты

Хакеры стремятся вывести сайты и серверы из строя по разным причинам: 

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

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

  3. Политические мотивы. Атака может выполнятся на сайты государственных организаций, политических партий, отдельных политиков, СМИ или использоваться в качестве акции протеста. 

  4. Обучение. DDoS-атаки требуют знаний и опыта, поэтому многие из них — это просто ученические пробы начинающих «ддосеров».   

  5. Развлечение и тщеславие. Атаки часто происходят из банального желания позабавиться, попробовать свои силы или показать коллегам, на что способен хакер. 

  6. Личные мотивы. DDoS-атаку может заказать любой человек своему обидчику. Бывало даже такое, что муж, узнав об измене, заказывал атаку на сайт жены, через который она вела бизнес. 

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

  8. Реклама. Хакер атакует сайт, затем предлагает владельцам устранить уязвимости, которые он нашел через такой непрошеный стресс-тест. 

Защита сайта от ddos атак: как обезопасить сайт

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

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

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

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

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

Так что попытки автоматизировать защиту должны быть в меру и не снижать производительность сайта. 

Но все же веб-мастер может и даже обязан предпринять несколько шагов для базовой безопасности сайта или арендованного сервера.

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

  1. Одна подсеть

  2. Один User-Agent

  3. Один регион

  4. Одинаковый объем пакетов

  5. Один URL и т.д.

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

Для User-Agents, пакетов или URL-адресов подойдет блокировка на уровне веб-сервера (правилом nginx либо .htaccess, которое ограничивает доступ к сайту).

Исходящий трафик из одного региона блокируется при помощи модуля GeoIP.

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

Это даст возможность снизить нагрузку на сайт и предпринимать дальнейшие шаги по нейтрализации проблемы.

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

Из универсальных методов защиты можем порекомендовать:

  1. Cloudflare — сервис, предоставляющий сайтам защиту от DDoS-атак на платных и бесплатных тарифах.
  2. Модуль nginx — ограничивает скорость запросов в определенной зоне.   
  3. Капча + cookie. Большинство ботов отсеется на моменте принятия cookie, вторым защитным барьером будет капча. Если оба критерия выполнены — добро пожаловать на сайт, если хотя бы один нет — ограничить доступ к сайту.
    Но нужно понимать, что задача установки cookie и капчи должна тратить как можно меньше ресурсов самой машины.
  4. Настройка балансировщика нагрузки (Load balancer) в виде проксирующего узла, который будет фильтровать трафик и направлять его обратно в точку (на сервер), где размещен сайт.
    Вы должно быть готовы всегда мигрировать сайт на другой ресурс путем изменения DNS, подготовки файлов конфигурации для прокси-машины и т.д.
  5. Ответ 444. Самым эффективным с точки зрения ресурсо-затрат сервера является возвращение 444-ответа nginx (нет ответа), который при обнаружении подозрительного запроса сбрасывает соединение, не дожидаясь завершения скрипта.

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

Читайте также: Зачем нужен Cloudflare и как подключить к нему сайт

Инструменты защиты сайта от ddos атак в панели хостинга Cityhost

В клиентской панели инструментов есть возможности первичной защиты сайта от незаконного проникновения и DDoS-атак. Попасть в раздел можно по пути: Хостинг 2.0 ⇒ Кнопка «Управление» напротив названия сайта ⇒ Вкладка «Безопасность». 

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

Раздел Безопасность в панели управления

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

  2. Капча. Ранние версии раздражали пользователей, заставляя выбирать велосипеды и мотоциклы, поэтому веб-мастера часто отключали капчу. В последних версиях достаточно поставить галочку напротив слов «Подтвердите, что вы не робот» — такое простое действие отсекает ботам возможность попасть на сайт. Капча может устанавливаться как в обязательном порядке, так и включаться в ответ на повышенный трафик с определенного устройства. Если c компьютера или смартфона поступает много запросов, ему предлагают пройти проверку, чтобы убедиться, что он — не часть ботнета. Cityhost устанавливает обязательную капчу для админки CMS, чтобы в нее не мог проникнуть бот. 

Пример капчи

  1. Ограничение доступа. Запрещает доступ к сайту определенным IP-адресам.

  2. Заблокированные User-Agents. Опция может запрещать доступ программам, действующим от имени пользователя в сети. Чаще всего это браузеры, а User-Agent — это строка, которая идентифицирует каждое клиентское приложение. 

  3. Заблокированные URL. Позволяет блокировать подозрительные ссылки.

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

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


Понравилась статья? Расскажите о ней друзьям: