Что такое DDoS и как от этого защититься

Что такое DDoS и как от этого защититься

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

Одним из наиболее распространенных видов атак на сегодня является DoS-атака. Разберемся, что это такое?

Определение

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

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

Типичный DDoS

DDoS и способы защиты от него

DDos-атака это распределенная DoS-атака (Distributed Denial of Service), при которой некорректные запросы поступают с различных IP-адресов заранее подготовленных устройств.

Наиболее распространенными методами защиты от DDoS-атак являются:

1. Отказ от использования операционных систем Windows Server для публикования ресурсов в сети интернет и переход на UNIX-like системы, которые гораздо более устойчивы к DDoS-атакам.

2. Наиболее распространенным веб-сервером в UNIX-подобных системах является пакет apache. К сожалению, он является в достаточно степени уязвимым к такому типу атак, но при использовании инструментов ipset и iptables можно легко управлять блокировкой IP-адресов ботов, с которых идут некорректные запросы.

3. Исходя из недостатков веб-сервера apache, от него необходимо отказаться в пользу использования пакета nginx. Он неуязвим на базе программного кода для наиболее популярного алгоритма атак Slowloris.

4. Использование модуля testcookie. Чаще всего атакующие боты не умеют использовать HTTP-cookie или redirect, что позволяет на уровне данного модуля блокировать запрос, не передавая его в обработку web-сервером. А что делать, если попадается бот, который успешно прошел и эти проверки?

На этот случай в testcookie предусмотрена встроенная проверка на возможность поддержки JavaScript и так далее.

Развитие этого удачного модуля привело к тому, что он может шифровать cookie по алгоритму AES-128 (чтобы клиент в дальнейшем при помощи JavaScript ее расшифровал) или передавать их по технологии Flash, которая не поддерживается DoS-ботами. Однако, есть и минусы — один из главных это то, что googlebot часто не проходит проверки модулем и сайт может пропасть из поисковой выдачи.

5. Использование кода «444». В большинстве случаев атаки производятся на ресурсоемкую часть сайта (базу данных) и используют механизм поиска по сайту. Для таких случаев в Nginx предусмотрен нестандартный код ответа 444, который просто закрывает соединение и не возвращает клиенту никакого ответа. Таким образом, если есть уверенность в том, что на определенный URL идут запросы только от ботов, то их можно забанить простым скриптом при помощи пакета ipset.

6. Бан по геопризнаку. При помощи модуля GeoIP и кода 444 можно модифицировать скрипт, используемый ipset, и использовать его для блокирования клиентов по географическому признаку (например, если есть уверенность в том, что большинство атак идут из определенной страны).

7. Можно использовать возможности нейронных сетей для поиска и анализа некорректных запросов к сайту в log-файлах. Загрузив 2 файла (один до DDoS-атаки, второй после нее) можно отсечь легитимные запросы к сайту и быстро вычислить IP-адреса атакующих ботов для блокировки. Удачный метод, дающий развитие нейронным сетям и позволяющий увидеть то, что можно пропустить при самостоятельном анализе.

Ну и напоследок, всегда пользуйтесь отладчиками кода и профайлерами.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Наверх