Tempesta – Open Source решение для защиты от DDOS атак

DDOS атаки являются широко известной проблемой в сети internet и являются сущим кошмаром для владельцев интернет проектов. Вместо того чтобы спокойно заниматся продвижением своего сайта и работой со своей аудиторией, предпринимателям приходится решать сложные технические задачи по противодействию сетевым угорозам. И в вопросах защиты от ддос атак, к сожалению, дешевых и быстрых решений не бывает. Злоумышленики обладают широкими возможностями по организации подобных атак. К тому же цены на подобные услуги достаточно низкие. Если вы целеустремленный человек и не боитесь решать нестандартные технические вопросы то на страницах нашего сайта мы не раз упоминали о различных способах защиты от DDOS атак.

Сегодня мы раскажем Вам о еще одном решении которое вы можете бесплатно применить на вашем сервере. Разработчки из NatSys Lab решили попробовать сделать open source средство для защиты от DDoS атак на веб-приложения. Посмотрим, что у них получилось.

Open source средства для защиты от DDoS (IPS), такие, например, как Snort, работают на принципе DPI, то есть анализируют весь стек протоколов. Они, тем не менее, не могут контролировать установление и завершение TCP соединений, поскольку находятся для этого на слишком высоком уровне в сетевом стеке Linux и не являются ни серверной, ни клиентской стороной. Из-за этого возможен обход данных IPS. Прокси-серверы же участвуют в установлении соединения, но защитить от крупных DDoS не могут по причинам их относительной медлительности — поскольку работают они на том же самом принципе, что и атакуемые серверы. Для них желательно если не столь же хорошее оборудование, как на бэкенде, то достаточное, чтобы выдерживать большие нагрузки.

В NatSys Lab решили пойти по пути kHTTPd и TUX — реализовать фреймворк для работы с HTTP в режиме ядра. Пока что этот фреймворк находится в стадии альфа-версии, однако к середине 2015 года обещают выпустить релиз. Тем не менее, чтобы понять принципы работы и поиграться, достаточно и прототипа, который вполне работоспособен.

Установка и настройка

Для сборки Tempesta нужно иметь исходники ядра 3.10.10 с необходимыми инструментами. Скачиваем исходники самого проекта:

Получение Tempesta
Копируем патч и накладываем его:

Включаем нужные возможности — так, должны быть включены опции CONFIG_SECURITY и CONFIG_SECURITY_NETWORK, отключены все прочие LSM-возможности, такие как SELinux и AppArmor, и параметр Warn for stack frames larger than в подменю kernel hacking установлен в 2048. Затем собираем/устанавливаем ядро:

Установка размера фрейма стека в ядре

После перезагрузки уже можно собирать и сам Tempesta. Для этого переходим в каталог, куда мы клонировали его, и набираем следующую команду:

Сборка Tempesta

INFO

Аргумент NORMALIZATION=1, указанный команде make при сборке модулей Tempesta, включает возможность нормализации HTTP-трафика.

После сборки можно, конечно, уже и запускать, но сперва давай посмотрим конфигурационный файл. Пример его находится в etc/tempesta_fw.conf. Разберем, что в нем есть:

Кроме данного конфигурационного файла, в этом же каталоге есть файл tfw_sched_http.conf, в котором, собственно, и находятся правила маршрутизации HTTP и содержимое которого должно, по идее, быть включено в предыдущий — но, по всей видимости, его вынесли, чтобы в дальнейшем в модуле диспетчера добавить возможность его обработки. Посмотрим на его синтаксис:

Как уже было сказано, эти два файла по отдельности неработоспособны — их нужно объединить в один, для чего используем команду $ cat tempesta_fw.conf tfw_sched_http.conf > tfw_main.conf

Наконец, запускаем:

Если что либо с настройкой данного ПО у Вас пошло не так, мы с радостью поможем вам разобраться с возникшей проблемой. Либо Вы просто можете заказать защиту у нас в разделе – услуги. Наши цены достаточно низкие, к тому же мы с радостью предложим Вам скидку. 🙂

Удачи Вам и процветания!

Рейтинг материала
[Голосов: 0 Рейтинг: 0]
24 декабря 2015, 11:34

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

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