Atualizando Máquinas Virtuais de Servidor Atrás de um Proxy Reverso NGINX

1

Eu tenho vasculhado a internet em busca de uma solução ou de uma prática recomendada sem sucesso. Tenho andado a brincar com as instâncias do servidor Virtual Box Ubuntu e estou a tentar replicar um ambiente de servidor que poderia utilizar para hospedar uma aplicação Web que tenho analisado na minha cabeça. Eu realmente gostaria de experimentar usando o NGINX como um balanceador de carga e um servidor de arquivos estático na frente de vários processos nodejs.

Basicamente, eu configurei uma série de máquinas virtuais Ubuntu Server no meu dev pc. Eu tenho uma máquina virtual voltada para a Internet com o NGINX instalado com três servidores upstream adicionais configurados para uma rede interna.

Eu tenho a máquina NGINX na mesma rede interna que as três máquinas upstream, além de estar em um adaptador de rede bridge separado. Todas as quatro máquinas podem pingar umas às outras e apenas o proxy reverso NGINX tem acesso à Internet.

Minha pergunta é: qual é a melhor maneira (ou até mesmo uma boa maneira) de atualizar servidores sem afetar adversamente os benefícios de segurança de estar por trás de um proxy reverso? Meu entendimento é que um dos benefícios de usar um proxy reverso é que ele cria apenas um ponto de acesso para que invasores atinjam seus servidores, não obstante as vulnerabilidades do XSS / SQL Injection.

Devo dar aos meus servidores upstream acesso temporário à internet para atualizar aplicativos ou seria melhor configurar a máquina proxy reversa como também um proxy de encaminhamento ao mesmo tempo?

Obrigado pela sua ajuda!

    
por Greg 06.08.2013 / 10:03

1 resposta

0

O fato de um servidor ter acesso à Internet não significa que a Internet tenha acesso a esse servidor.

Você pode (e deve) configurar o firewall em todas as caixas que você possui. Você também pode configurar um firewall independente que proteja todas as caixas.

Um padrão de configuração de firewall comum é permitir todo o tráfego de saída e, em seguida, negar todo o tráfego de entrada, exceto para conexões estabelecidas (ou seja, aquelas conexões iniciadas por máquinas dentro do firewall). Esse padrão permitirá que suas caixas solicitem atualizações pela Internet, mas não permitirá que ninguém na Internet se conecte ao seu serviço NodeJS.

Na caixa de proxy reverso, você terá que adicionar outra regra para permitir o tráfego de entrada nas portas 80 e 443.

Existem outras maneiras de resolver esse problema, como a execução de um servidor proxy na caixa DMZ e a configuração de apt em todas as outras caixas para usar esse proxy. Isso funcionará em uma situação em que você não pode fornecer às caixas internas acesso direto à Internet, como um ambiente de dados de cartão PCI.

    
por 06.08.2013 / 12:35