Se você precisar de um WAF com suporte a Websocket, procure em Wallarm Ele é instalado diretamente no NGINX como um módulo de software e é capaz de analisar o Websocket a partir da versão 2.0. Mais informações aqui
Minha equipe criou um portal de intranet no Amazon AWS para um cliente e, nele, usamos WebSockets para fazer coisas como notificações e outras coisas menores. Em geral, enviamos eventos do servidor, mas também o usamos para que o cliente possa notificar rapidamente o servidor sobre a presença do usuário.
Um dos requisitos do cliente era usar um firewall em nível de aplicativo para filtrar solicitações maliciosas e coisas do tipo. Nós instalamos o Sophos UTM para lidar com isso. Para o tráfego HTTP, isso funciona muito bem. No entanto, o UTM não suporta WebSockets e, por isso, basicamente tivemos que configurá-lo apenas para cegar as solicitações de proxy. Por razões que eu não entendo completamente (mesmo depois de horas de distribuição), esse era um gargalo enorme e tornava tudo lento (mesmo que o uso da CPU e da memória estivesse bom).
Em seguida, decidimos que se o UTM não estivesse filtrando o tráfego de qualquer maneira, vamos colocar o nginx para dividir o tráfego de soquete e permitir que o UTM manipule o tráfego regular. Esta configuração funciona muito bem e o desempenho é fantástico.
No entanto, o responsável pela segurança do cliente está preocupado com o fato de o tráfego do WebSocket não estar sendo rastreado.
Assim, tenho três perguntas relacionadas:
Isso é uma preocupação? Se não, há algo que eu possa mostrar que explique isso melhor do que eu?
Se for uma preocupação, há algum firewall de aplicativo que possa nos ajudar? Eu realmente não sei o que estaríamos filtrando, mas esperamos que seja o trabalho do firewall.
EDIT: Eu estava incorreto, estamos realmente fazendo comunicação bidirecional nos soquetes, embora ainda seja bastante trivial. É algo como "o usuário está olhando para esta aba", "o usuário reconheceu uma notificação", etc.