Введение

DDoS (Distributed Denial oService «распределенный отказ в обслуживании») - атаки с нескольких устройств по вашей информационной системе, приводящие к невозможности обрабатывать запросы пользователей или к значительному снижению скорости их обработки.

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

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

Основной принцип работы

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

Есть тысяча и один способ создать «ботнет», однако это тема не для этой статьи.

Классификация атак

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

Первый класс L2 — перегрузка канала.

Атаки, направлены на блокировку доступа к внешней сети вследствие исчерпания канальной ёмкости.

Основная задача состоит в том, чтобы в канал размером, например, 1 Гб/с отправить не менее 1,2 Гб/с. Этого будет достаточно для прекращения доступа.

Второй класс L3 — нарушение функционирования сетевой инфраструктуры.

Атаки данного класса приводят к проблемам с маршрутизацией в рамках протокола BGP или атаки, следствием которых становятся проблемы на транзитном сетевом оборудовании: например, переполнение таблицы отслеживания соединений. Атаки данного класса крайне многообразны. Например, TCP Hijacking позволяет просматривать пакеты участников сети и посылать свои собственные пакеты в сеть.

Третий класс L4 —атаки на транспортном уровне.

Транспортный протокол TCP, лежащий в основе HTTP и ряда других протоколов, он сложен и несовершенен. Например, в нём используется большая таблица открытых соединений, каждое из которых является конечным автоматом. Здесь распространены атаки типа SYN Flood, а также использование таких инструментов, как SlowLoris и Slow POST. Старые версии Apache станут прекрасной находкой для данных инструментов.

Четвёртый класс L7 —взаимодействие с Web-приложением.

Атаки, начиная от типичного GET/POST/HTTP Flood до нападений, нацеленных на многократно повторяющиеся поиск и извлечение конкретной информации из базы данных, оперативной памяти или диска, пока у сервера не закончатся ресурсы.
Для вывода из строя, например, нагружают базу данных MySQL с помощью расширенного поиска по всем товарам, пропускной способности нужно не так много. Достаточно использовать около 6000 ботов, которые активно запрашивают поиск и обновляют страницу.

Обеспечение защиты

Уровень L2

С помощью технологии BGP Flow Spec можно фильтровать часть атак по сигнатурам пакетов — скажем, Amplification легко устраняется фильтрацией по источнику.

Уровень L3

Необходимо произвести анализ сетевой инфраструктуры.

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

Уровень L4

Необходимо проводить анализ поведения TCP-клиентов, TCP-пакетов на сервере, эвристический анализ.

Уровень L7

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

Список рекомендаций

1. При разработке ПО задумайтесь о безопасности.

2. Регулярно обновляйте ПО, оставляйте возможность вернуться к старой версии.

3. Службы, связанные с администрированием, должны полностью закрываться от стороннего доступа.

4. Реализуйте доступ к панели администратора только из внутренней сети или посредством VPN

5. Сканируйте систему на наличие уязвимостей.

6. Применяйте брандмауэр для приложений — WAF (Web Application Firewall). Он следит за запросами пользователей.

7. Используйте CDN (Content Delivery Network).

8. Периодически очищайте кэш DNS.

9. Используйте защиту от спам-ботов на своём ресурсе.



Thursday, January 28, 2021

« Back