Введение
DDoS (Distributed Denial of Service «распределенный отказ в обслуживании») - атаки с нескольких устройств по вашей информационной системе, приводящие к невозможности обрабатывать запросы пользователей или к значительному снижению скорости их обработки.
Упрощено говоря, сеть кофеварок и чьих-то ПК единовременно посылает бессмысленные запросы к Вашему серверу, тем самым нагружая его, что в лучшем случае замедлит работу, а в худшем – приведёт к долговременному сбою и утечке данных.
Если вы перестали понимать в какой-то момент, о чём идёт речь, не переживайте, мы подготовили список общих рекомендаций, которые значительно снизят успех атакующих. Находятся они в конце статьи.
Основной принцип работы
Все серверы имеют ограничения по числу запросов, которые они могут одновременно обрабатывать. Также существует предел для пропускной способности канала, соединяющего мировую сеть и сервер. «Люди в чёрном» создают компьютерную сеть с вредоносным программным обеспечением, называемую «ботнет». Данная сеть легко и непринужденно позволяет «в один клик» мобилизовать зараженные устройства на борьбу с нормальной работой вашего сервера, его целостностью и сохранностью данных.
Есть тысяча и один способ создать «ботнет», однако это тема не для этой статьи.
Классификация атак
В качестве критерия возьмём объект атаки, то есть что пытаются вывести из строя. В данном случае можно выделить четыре основных класса атак, осуществляемых на разных уровнях согласно модели 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