Relay Serviço WCF
-
27-09-2019 - |
Pergunta
Isso é mais uma questão de arquitetura e segurança do que qualquer outra coisa. Estou tentando determinar se uma arquitetura sugerida é necessária. Deixe -me explicar minha configuração.
Temos um DMZ padrão estabelecido que essencialmente possui dois firewalls. Um que é voltado externo e o outro que se conecta à LAN interna. O seguinte descreve onde cada camada de aplicativo está em execução atualmente.
Fora do firewall:
Aplicação de Silverlight
No DMZ:
Serviço WCF (lógica de negócios e camada de acesso a dados)
Dentro da LAN:
Base de dados
Estou recebendo informações de que a arquitetura não está correta. Especificamente, foi sugerido que, como "um servidor da Web é facilmente invadido", devemos colocar um servidor de retransmissão dentro do DMZ que se comunica com outro serviço WCF dentro da LAN que se comunicará com o banco de dados. O firewall externo está atualmente configurado para permitir apenas a porta 443 (HTTPS) ao serviço WCF. O firewall interno está configurado para permitir conexões SQL do serviço WCF no DMZ.
Ignorando as implicações óbvias de desempenho, também não vejo o benefício de segurança. Vou reservar meu julgamento dessa sugestão para evitar poluir as respostas com meu viés. Qualquer entrada é apreciada.
Obrigado,
Matt
Solução
Eu acho que as observações feitas são válidas e, nesse caso, eu provavelmente também tentaria usar tantas camadas de "defesa em profundidade" que eu poderia inventar.
Além disso, a quantidade de trabalho para conseguir isso pode ser menor do que você tem medo - se você estiver no .NET 4 (ou pode se mover para ele).
Você pode usar o novo serviço de roteamento .NET 4 / WCF 4 para fazer isso com bastante facilidade. Como um benefício adicional: você pode expor um terminal HTTPS para o mundo exterior, mas por dentro, você pode usar o NetTCPBinding (o que é muito mais rápido) para lidar com comunicações internas.
Confira como é fácil configurar um serviço de roteamento .NET 4: