Что такое DDoS-атака, как ее определить и как бороться с ней
В РАЗРАБОТКЕ
Думаю, каждый встречался с проблемами в работе сервисов: не грузится страница, не получается пройти авторизацию, не получается скачать файл, функционал жутко тормозит. Подобные проблемы порождают недовольство пользователей, снижают доверие к сервису. Часто проблемы с сервисом не вызваны неисправностью оборудования или ошибками в программном обеспечении, а являются следствием DDoS-атаки.
Что такое DDoS-атака
DDoS (Distributed Denial of Service - распределенный отказ в обслуживании) - нарушение работоспособности отдельных сервисов или инфраструктуры за счет исчерпания ресурса, лежащего в основе сервиса. DDoS может иметь естественные причины, вызванные отказом отдельных узлов, неправильным планированием ресурсов, лежащих в составе системы. Отказ в обслуживании происходит в ситуациях, когда нагрузка превышает возможности системы.
DoS-атака подразумевает искусственно созданный поток запросов от одного участника (устройства) к ресурсу или ответов к обеспечивающим его работу сервисам, цель которого - превышение допустимой нагрузки и выведение сервиса из работы. Примером DoS-атаки может быть, например, абонент, намеренно занимающий единственную телефонную линию, чтобы никто другой не мог позвонить.
DDoS-атака - разновидность DoS-атаки, только с большим количеством задействованных участников (устройств), которые коорденируются из единого центра. Примером DDoS-атаки может быть группа абонентов, которая намеренно блокирует телефонный пул какой-либо организации, имитируя обычных абонентов с разных аппаратов.
DDoS-атаки не приводят к фатальным сбоям системы, а временно снижают её доступность для пользователей. Однако даже временный отказ сервисов может принести экономический ущерб и нанести вред репутации.
Как понять, что вы подверглись DDoS-атаке
При DDoS-атаке резко увеличивается нагрузка на аппаратные мощности и происходят сбои в работе программного обеспечения и операционной системы. Однако, это не всегда говорит о том, что идет DDoS-атака, такие симптомы могу быть вызваны сбоями аппаратного и программного обеспечения не связанными с DDoS-атакой.
DDoS-атаку отличают следующие признаки:
- Резкий рост входящего трафика
Рост трафика в разы или даже на порядки превышающий обычный. При DDoS-атаке этот необычно высокий входящий трафик часто генерируется из регионов, не входящих в целевую аудиторию сервиса. - Нетипичное поведение получателей услуги
Многократное повторение одних и тех же действий пользователями ресурса, нелогичное и нетипичное для обычного пользователя сервиса. Цель злоумышленника - исчерпать ресурсы сервиса, проявлять правдоподобное поведение пользователя - неэффективно при DDoS-атаке.
Как противостоять DDoS-атакам
Самостоятельно бороться с DDoS-атаками нужно начинать ещё на этапе разработки программного обеспечения и проектирования инфраструктуры, планируя мероприятия по снижению уязвимости инфраструктуры к атаке. Мерами по самостоятельному снижению эффективности DDoS-атак могут быть:
- Использование аппаратного обеспечения с запасом
Запас желательно обеспечить по всем ресурсам и по ширине канала связи, чтобы возросшие нагрузки не вызывали отказ сервиса. Нагрузки на ресурсы должны балансироваться. Однако существенный запас может быть дорогостоящим и простаивать большую часть времени в ожидании атаки, что экономически не эффективно. - Использование аппаратно-программных комплексов защиты
Для защиты от DDoS-атак может применяться активное сетевое оборудование, например, маршрутизаторы с функциями защиты, аппаратные WAF. WAF - (Web Application Firewall - Межсетевой экран веб-приложений) – инструмент для фильтрации трафика, работающий на уровне приложений (L7) и защищающий веб-приложения методом анализа трафика HTTP/HTTPS и семантики запросов. Стоимость такого оборудования высока, но как правило, оно требует ещё и платной подписки или платного обновления программного обеспечения. При этом есть вероятность, что такое оборудование быстро потеряет свою актуальность. - Фильтрация трафика
Смягчить атаку поможет закрытие неиспользуемых сервером сетевых портов, протоколов и IP-адресов, которые могут быть потенциально опасны и находятся в регионах, откуда ваш сервис не получает целевых запросов. Также динамическая фильтрация трафика в зависимости от заданных критериев поведения может затруднить атаку. Эти меры также могут осложнить и работу с сервисом ваших клиентов, требуют квалифицированного персонала и не помогут при грамотно подготовленной атаке. - Написание программного кода с учётом возможной атаки
Программный код должен: быть оптимизирован, чтобы снижать нагрузку на аппаратную часть; использовать кодирование и шифрование во избежание перехвата управления и данных; быть всесторонне протестирован на предмет уязвимостей и "узких" мест; иметь механизмы самосохранения в случае атаки и исчерпания ресурсов. Эти меры могут осложнить задачу атакующего. - Своевременное обновление программного обеспечения
Программное обеспечение - сложный продукт и нередко в нем присутствие уязвимости, которые используют злоумышленники. Своевременное обновление операционной системы и иного программного обеспечения, в том числе ПО коммуникационного оборудования, не даст злоумышленникам возможности использовать раскрытые уязвимости. - Использование резервного копирования
Создание резервных копий, контрольных точек восстановления, снимков дисков может снизить ущерб от любой атаки и позволить восстановить систему. Это совершенно не поможет предотвратить атаку, зато смягчит ее последствия.
Самостоятельно противостоять атаке дорого и сложно. Более эффективно взаимодействие с инфраструктурой, решающей задачи по распространению контента и противодействию распределенным атакам, например:
- Средства защиты от интернет-провайдера
Некоторые интернет-провайдеры могут предложить инструменты по защите от DDoS-атак. Пока такая услуга не имеет большого распространения и качество услуги проигрывает специализированным сервисам, зато цена услуги потенциально может быть ниже. Востребованность защиты от провайдера растёт и вероятно, что с увеличением предложения возрастёт конкуренция, как следствие - качество услуг. - Специализированные сервисы защиты от DDoS
Специализированные сервисы для противодействия DDoS наиболее эффективны в настоящее время, они могут гибко и оперативно реагировать на новые угрозы. Предлагаются различные варианты, от защиты внешнего сервера до защищенного хостинга и полного переноса всей инфраструктуры в защищенное облако. - CDN-партнер
CDN (Content Delivery Network - Сеть доставки содержимого) - распределённая географически сетевая инфраструктура, позволяющая оптимизировать доставку контента пользователям. То есть ваш "тяжелый" контент будет доступен не с вашего сервера напрямую, а с узлов CDN, расположенных в различных регионах. CDN снижает нагрузку на сервер и способствует увеличению скорости загрузки контента, независимо от региона. Выход одного узла CDN из строя не сделает контент недоступным. Узлы CDN, как правило, способны противостоять DDoS-атакам. - Программные и облачные WAF
Программные и облачные WAF - аналоги аппаратных, только запускаются на сервере как приложение или размещаются в облачной инфраструктуре. Такие решения приобретают все большую популярностью. Недостатком такого решения является большое количество системных ресурсов, необходимых для проверки трафика.
Что будет дальше
Судя по динамике роста количества DDoS-атак, увеличению их масштаба и сложности, надеяться на то, что всё само-собой пройдет - не стоит. Появляются новые технологии, связанные с ними риски и возможности защиты, старые же приемы защиты и нападения перестают работать. Чтобы быть защищенным нужно идти в ногу со временем: принимать актуальные организационные решения, иметь актуальное оборудование, каналы связи и программное обеспечение.
Есть вероятность, что защита от DDoS-атак станет обычным явлением, будет предоставляться массово на уровне интернет-провайдера, а востребованность услуги будет сопоставима с востребованностью защиты от вирусов. Это будет продиктовано тем, что DDoS-атаки могут стать более массовыми и спуститься на уровень пользовательских устройств, в том числе мобильных.