Personalizar a validação do WebSocket para gateway do Windows Admin Center

Para proteger o acesso ao WebSocket, a conexão com o WebSocket agora validará o estado de origem do navegador para que nenhum aplicativo externo possa obter acesso à API WebSocket definida no gateway.

Personalização da validação

A validação pode ser ajustada para personalizar várias condições.

O usuário pode definir a configuração de substituição do WebSocket em um valor de registro do Windows Admin Center, HKLM\Software\Microsoft\ServerManagementGateway\WebSocketValidationOverride, para especificar o nome do host de origem excepcional e a porta de origem. Isso inclui o nome curinga, como "*.mydomain.mycompany.net" ou apenas "*" para aceitar tudo. O curinga deve ser especificado como "*." e não pode ser combinado com uma condição de correspondência de cadeia de caracteres complexa, como "something*something".

O exemplo de formatos aceitos é o seguinte:

  • Sempre permite o host de origem definido no certificado TLS atual. (nome da entidade, nomes DNS alternativos)
  • Sempre permite que a porta de origem esteja configurada para Windows Admin Center
  • "*" – aceitar qualquer host de origem e porta de origem
  • "*:9876" – aceitar qualquer host de origem e porta de origem 9876
  • ":9876" – aceitar a porta de origem 9876
  • "*.my.domain.com" – aceitar o host de origem <any.any.any...>.my.domain.com
  • "*.my.domain.com:9876" – aceitar o host de origem <any.any.any...>.my.domain.com e a porta de origem 9876

Lógica de prevenção

O gateway adiciona um cookie de sessão (WAC-SESSION) para o navegador do usuário. Ele associa sempre a sessão do navegador e o nome de usuário. Ele impede que usuários diferentes tentem usar a mesma sessão do navegador.

  • Quando a interface do usuário inicia uma conexão com o WebSocket, o navegador envia o cookie de sessão de volta para o Gateway.
  • O gateway valida sempre o nome de usuário autenticado correspondente ao cookie de sessão.

O gateway procura o cabeçalho de origem, que é a URL do ponto de extremidade em que o site original do Windows Admin Center foi carregado.

  • O gateway validou o host de origem e a porta de origem em relação às configurações atuais do certificado SSL, que inclui a lista de nomes do host DNS. Isso informa que o código da interface do usuário é carregado de sites de nomes DNS e porta esperados.

Aprimoramento de RDP

Na conexão TCP RDP, o gateway só permite usar a porta 3389 (RDP) e a porta 2179 (conexão VM); portanto, o recurso de encaminhamento TCP não pode ser usado para nenhuma outra finalidade.

Possível efeito colateral

Se o usuário usar o Windows Admin Center por endereço IP ou algo não descrito no certificado SSL, não poderá acessar o WebSocket porque ele não é confiável. Se precisar dar suporte, modifique o valor do registro HKLM\Software\Microsoft\ServerManagementGateway\WebSocketValidationOverride para definir o endereço IP ou apenas especifique "*" para ignorar a validação.