Брандмауэр прикладного уровня для WebSockets?

Моя команда создала интранет-портал на Amazon AWS для клиента, и на нем, мы использовали WebSockets, чтобы сделать вещи как уведомления и другой незначительный материал. Мы главным образом отправляем события от сервера, но мы также используем его так, клиент может быстро уведомить сервер относительно пользовательского присутствия.

Одно из требований клиента было то, что мы используем брандмауэр прикладного уровня, чтобы отфильтровать злонамеренные запросы и подобные вещи. Мы установили Sophos UTM для обработки этого. Для Трафика HTTP это работает отлично. Однако UTM не поддерживает WebSockets, и таким образом, мы в основном должны были настроить его только к вслепую запросам прокси через. По причинам я не полностью понимаю (даже после часов deubgging), это было огромным узким местом и заставило все замедлиться (даже при том, что ЦП и использование памяти были прекрасны).

Мы затем решили, что, если UTM не фильтрует трафик так или иначе, давайте вставим nginx, чтобы разделить трафик сокета и позволить UTM обработать обычный трафик. Эта установка работает очень хорошо, и производительность является фантастической.

Однако парень безопасности клиента обеспокоен, что трафик WebSocket не экранируется.

Таким образом у меня есть три связанных вопроса:

  1. Действительно ли это - беспокойство? В противном случае есть ли что-нибудь, что я могу показать, что это объяснит это лучше, чем я могу?

  2. Если это - беспокойство, есть ли какие-либо брандмауэры приложения, которые могли бы помочь нам? Я действительно не знаю то, против чего мы отфильтровали бы, но надо надеяться это - задание брандмауэра.

Править: Я был неправильным, мы на самом деле делаем двунаправленную связь на сокетах, хотя это все еще довольно тривиально. Это - вещи как, "пользователь, смотрящий на эту вкладку", "имеет пользователя, подтвердил уведомление", и т.д.

4
задан 2 July 2015 в 13:49
1 ответ

Если вам нужен WAF с поддержкой Websocket, загляните в Wallarm Он устанавливается непосредственно в NGINX как программный модуль и может анализировать Websocket, начиная с версии 2.0. Дополнительная информация здесь

1
ответ дан 3 December 2019 в 04:09

Теги

Похожие вопросы