Pull to refresh

Comments 6

Ну, скажем, не все WAF умеют балансировать, при этом - решения весьма известные и серьёзные. Навскидку - Imperva. Ну, или, например, Barracuda (хотя, она, конечно, попроще). Балансировку можно отдать на nginx, стоя́щий за WAF.

И теперь - нюансы. Первый. В статье не упомянут один маленький, но весьма серьёзный нюанс - поскольку WAF (в подавляющем большинстве случаев) производит расшифровку трафика (когда это не банальный http, а https), его производительность сильно падает, поскольку криптография ресурс жрёт, как не в себя. А для этого производителями уже применяются аппаратные ускорители. Нагрузочная способность WAFа в таком случае возрастает в разы, а то и на порядок.

Второй нюанс. Защиту от DDoS есть смысл отдавать на провайдера. Проверено на собственном опыте. Во время DDoS оборудование выдержало, а канал утилизировался на 100%. И толку тогда в этом оборудовании, если полезный трафик просто не может пробиться...

Третий нюанс (к вопросу - нужен ли WAF). Тот же nginx позволяет довольно подробно профилировать приходящий запрос, что позволяет отсечь, например, path traversal. Вкупе с проверкой значений полей запроса на отсутствие, к примеру, конструкций, похожих на SQL инъекцию, можно более-менее надёжно прикрыть приложение, но это такой "вариант для бедных", имеет смысл, если приложение развивается не слишком активно. И да, это не полноценная замена WAF.

Ну, а в остальном изложенный материал вполне актуален.

PS. Ооочень важный нюанс! К сожалению, ни один WAF не умеет полноценно контролировать websockets. И по этой причине использование данного протокола в критичных web приложениях может создавать риски.

Ну, скажем, не все WAF умеют балансировать, при этом - решения весьма известные и серьёзные. Навскидку - Imperva. Ну, или, например, Barracuda (хотя, она, конечно, попроще). Балансировку можно отдать на nginx, стоя́щий за WAF.

Балансировать умеют все, в каком-то виде. Большинство отечественных строится на базе nginx либо в виде модуля, либо в виде особой сборки. Они сохраняют все возможности nginx.
Другое дело, что этих возможностей может не хватить. И тут возможности Imperva или F5 придутся более кстати.
Мы как раз об этом упоминали, что некоторые решения выросли из балансирощиков и изначально умеют многое, а другие сосредоточились именно на движке проверки и отдали функции балансировки внешним средствам.

И теперь - нюансы ... расшифровку трафика ... А для этого производителями уже применяются аппаратные ускорители

Согласен, этого зачастую не хватает.
Исходя из контекста статьи: у нас есть функция - расшифровка; есть разные средства, и мы выбираем что больше подходит в текущей ситуации исходя из возможностей и стоимости.

Второй нюанс. Защиту от DDoS есть смысл отдавать на провайдера.

И тут тоже согласен, мы про них тут тоже упоминали.
Можно порассуждать на тему обратной связи, когда WAF обнаруживает L7 DoS, завязанный на логику работы приложения (например, по классике - "тяжелые" URL) и дергает API провайдера чтобы добавить IP-адрес атакующего в Blacklist. Но тогда статья разрослась бы раза в полтора.
Но как бы то ни было - в некоторых ситуациях функцию защиты от DDoS возлагают на WAF и мы должны были ее упомянуть.

Третий нюанс (к вопросу - нужен ли WAF). Тот же nginx позволяет... И да, это не полноценная замена WAF.

Вы смотрите в самую суть. Можно, и в некоторых случаях даже нужно. Надо смотреть по целесообразности, рискам, бюджетам и скорости реализации.

PS. Ооочень важный нюанс! К сожалению, ни один WAF не умеет полноценно контролировать websockets.

F5 в каком-то виде умеет.
Из наших - Вебмониторэкс умеет анализировать WebSocket.

Балансить по какой схеме? В целом это не задача WAF, но частично ими решается.

Разница между http и https примерно в 2 раза, использование DPDK и других ускорителей еще/пока очень редкая история.

Можно вообще все оттюнить nginxoм если у вас две статический html странички.

WebSocket - можно проверить только инициирование http-соеднение, WAF не проваливается дальше в протокол ws.

Чтобы пруф про Websocket был полным, вот дока :

https://docs.webmonitorx.ru/admin-ru/configure-parameters-ru/#wallarm_parse_websocket

сделали скриншот из плейграунда с детектом XSS в Вебсокете

В остальном, вроде все уже поотвечали. С тезисом про DDOS согласен. В целом ни один WAF не позиционирует себя как AntiDDOS и реализация на уровне провайдера более логичная и с т.з. экономики.

Хотелось бы увидеть обзор WAF инструментов с возможностью мониторинга. Желательно для разных сигментов приложений от бомж до про)

И конфигурацию nginx с waf))

Из наших WAF это Positive Technologies Application Firewall, Вебмониторэкс, Solidwall, Nemesida, еще недавно появился Гарда WAF.
Из эконом-варианта это бесплатные открытые решения на базе ModSecurity. Коллега в комментарии выше предложил отличный вариант с конфигурированием nginx.
Пример конфигурации nginx для WAF мы приводили в статье по Вебмониторэкс

Sign up to leave a comment.