Existe uma maneira segura de permitir que o IIS 7 em uma DMZ acesse um servidor de banco de dados protegido por firewall?

12

Nossos administradores de rede afirmam que é inseguro que nossos servidores da Web, hospedados na DMZ, acessem o servidor de banco de dados por trás do firewall. Para contornar o problema, acessamos os dados por meio de serviços da web ou WCF. Sinto que esse é um ônus de desempenho desnecessário que pode ser eliminado se o servidor da web puder acessar o banco de dados diretamente.

As razões que me foram dadas são as de que um hacker foi capaz de acessar o servidor da Web e acessar o banco de dados. É possível abrir as portas apenas para o IIS ou não é possível ser tão específico? Se pudermos bloqueá-lo apenas no IIS, isso pode ser facilmente compreendido pelo hacker?

Eu li vários posts na internet, mas não consigo encontrar uma resposta definitiva.

Al

Al Polden
fonte
Pergunta interessante!
Kangkan
Grandes perguntas, de fato! Teria sido muito melhor se o título poderia ter sido mais genérico, sem especificar os nomes de pilhas de tecnologia (IIS, WCF etc)
Chathura Kulasinghe

Respostas:

9

Eu configurei plataformas para empresas de grande porte e a prática normal é garantir que seus bancos de dados estejam em uma VLAN diferente dos seus servidores da Web, com um firewall entre o tráfego de roteamento e a porta do servidor de banco de dados, bem como um firewall na frente da Web. servidores. Normalmente, o firewall frontal encaminha as portas 80 (HTTP) e 443 (HTTPS) para seus servidores da web. O firewall localizado entre o servidor da Web e o servidor de banco de dados encaminhará o tráfego dos servidores da Web para a porta usada pelo banco de dados (normalmente a porta 1433, se estiver usando o Microsoft SQL Server).

Para maior segurança:

  • Certifique-se de usar uma conta com menos privilégios para acessar os servidores de banco de dados
  • Se você estiver usando o ASP.NET, poderá criptografar a cadeia de conexão do banco de dados no web.config
  • Contrate uma empresa terceirizada para realizar um teste de penetração para avisar sobre quaisquer vulnerabilidades
  • Verifique se as atualizações e os service packs são instalados regularmente.

Se o seu banco de dados for o MI6 ou CIA, provavelmente os administradores da rede estão certos, mas também parece que eles estão exagerando.

Se o banco de dados contém dados que absolutamente não podem ser expostos a uma rede pública, mas os dados que o banco de dados precisa não são tão sensíveis, você poderia replicar as tabelas que seu site exige para um banco de dados que está no seu ambiente de hospedagem?

Eu faria a pergunta:

  • Se um hacker obtiver acesso ao servidor da web, ele poderá chamar seus serviços da web?
  • Se uma vulnerabilidade for descoberta no IIS e permitir que eles acessem seu servidor da Web, certamente eles explorarão a mesma vulnerabilidade no servidor da Web que hospeda seus serviços da Web?
  • Eles poderiam instalar um software que monitore a entrada do usuário para detectar senhas na memória?

fonte
Obrigado pelo conselho. Agora, tenho a difícil tarefa de convencer os administradores de rede a alterar a configuração.
Al Polden
4

Seus servidores da Web também podem estar protegidos por um firewall, eles apenas precisam ter a porta 80 encaminhada para o servidor correto. Todas as outras portas que o servidor da Web não precisa devem ser fechadas no firewall mais externo. Então deve haver um firewall entre seus servidores da web e seus servidores de dados. Nesse firewall, você permitirá apenas que as portas nas quais os bancos de dados falam sejam abertas.

Aqui está um diagrama

Internet -> Firewall -> Servidores Web -> Firewall -> Bancos de Dados

Para sua informação, sou desenvolvedor, embora trabalhe com nossa equipe de TI frequentemente na minha empresa, pois somos uma pequena loja.

Paul Mendoza
fonte