Clicky

Ir para conteúdo

rodrigo286

Nginx como proxy reverso

Posts Recomendados

Bom dia pessoal, eu tinha feito um tópico de como trabalhar com meu cloud protegendo meu dedicado.

No caso tenho um cloud com uma boa proteção e gostaria de que o tráfego entrasse por ele antes de chegar ao dedicado e assim eu conseguiria proteger bem meus sites escondendo o IP real do dedicado.

Pela ajuda que tive e pelas pesquisas parece que o PROXY REVERSO seria melhor, isso procede?

No caso eu achei alguns guias do Nginx e inclusive instalei em meu dedicado no cPanel e teoricamente está com o serviço rodando tudo direitinho.

Mas surgiu uma duvida, como eu configuro para meu cloud intermediar a conexão e virar o proxy?

No caso eu preciso que o cloud receba todo o tráfego e repasse para o dedicado e assim o mesmo é filtrado. 

Já tenho 2 túneis GRE configurados entre as maquinas.

Como deve ser feita essa configuração para existir essa ponta entre cloud proxy até o dedicado?

 

Abraço e obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso recomendo o varnish.

Instala ele numa maquina, onde ele vai receber o conteúdo, lembrando que os dns devem ser apontados para essa maquina afim dos domínios responderem primeiro para ela, depois repassar o tráfego para o php em outra maquina.

Se for cPanel, vai ter uma bela de uma geringonça.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde @LucasOliveira, você que está no mercado a um bom tempo recomendaria eu tentar outra forma?

Eu tentei inicialmente túneis GRE, onde usaria meu Cloud como DNS, mas não deu muito certo e achei pouco material na internet e nenhum colega utilizando tal sistema.

Pelo que pesquisei o Varnish também é um sistema de cache, no caso eu consigo ocultar meu servidor principal, pois minha ideia seria essa, deixa meu servidor principal oculto e seguro, e caso alguém fosse me atacar, o ataque iria para o Cloud.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, rodrigo286 disse:

Boa tarde @LucasOliveira, você que está no mercado a um bom tempo recomendaria eu tentar outra forma?

Eu tentei inicialmente túneis GRE, onde usaria meu Cloud como DNS, mas não deu muito certo e achei pouco material na internet e nenhum colega utilizando tal sistema.

Pelo que pesquisei o Varnish também é um sistema de cache, no caso eu consigo ocultar meu servidor principal, pois minha ideia seria essa, deixa meu servidor principal oculto e seguro, e caso alguém fosse me atacar, o ataque iria para o Cloud.

Obrigado.

Se você mal conhece as tecnologias envolvidas, vá de Nginx, é mais simples. Varnish é um proxy-reverso para cache, o que implica em dizer que você vai precisar de regras específicas para cada URL.

Quanto ao Nginx, vamos pensar no cenário:

oculto.exemplo.com.br IP4 10.0.0.1 --> Servidor com Apache que você quer ocultars
site1.com.br --> site que está no servidor oculto.exemplo.com.br
proxy.exemplo.com.br --> servidor com nginx

 

No servidor proxy.exemplo.com.br

  1. Instale o Nginx;
     
  2. Configure um virtualhost para cada site que deseja ocultar as URLs (em /etc/nginx/sites-available), seguindo o modelo
    server {
            listen   80; 
    
            root /var/www/site.com.br/; 
            index index.html index.htm;
    
            server_name site1.com.br
    
            location / {
              proxy_set_header X-Real-IP  $remote_addr;
              proxy_set_header X-Forwarded-For $remote_addr;
              proxy_set_header Host $host;  
              ##########################################
              ## COLOQUE AQUI O IP DE SEU SERVIDOR WEB
              ##########################################
              proxy_pass http://10.0.0.1:8080; 
            }
    
            location ~ \.php$ {
            
              proxy_set_header X-Real-IP  $remote_addr;
              proxy_set_header X-Forwarded-For $remote_addr;
              proxy_set_header Host $host;  
              ##########################################
              ## COLOQUE AQUI O IP DE SEU SERVIDOR WEB
              ##########################################
              proxy_pass http://10.0.0.1:8080; 
    
             }
    
             location ~ /\.ht {
                    deny all;
            }
    }

     

  3. Crie um link simbólico do vitualhost para o diretório /etc/ngninx/sites-enabled/

 

É isso a configuração básica... SSL e similares já começam a aumentar nossa config.

 

 

Recomendo você executar esse tipo de coisa onde haja possibilidade de tráfego na rede interna do datacenter.

Att


 

  • Gostei! 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado @joaopaulo, vou tentar aqui, vou instalar o apache e nginx no cloud e apontar para o dedicado.

Eu preciso fazer isso funcionar para o WHM/cPanel por isso fiz a config abaixo:

No caso meu cloud está ligado ao dedicado por GRE.

IP GRE Cloud: 10.0.0.1 e 10.0.0.3

Ip GRE Dedicado: 10.0.0.2 e 10.0.0.4

No caso minha configuração ficaria desse modo:

server {
        listen   80; 
		## Path do site pelo cPanel ##
        root /home/site/; 
        index index.html index.htm;

        server_name site.com.br

        location / {
          proxy_set_header X-Real-IP  $remote_addr;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_set_header Host $host;  
          ##########################################
          ## COLOQUE AQUI O IP DE SEU SERVIDOR WEB
          ##########################################
          proxy_pass http://10.0.0.2:8080; 
        }

        location ~ \.php$ {
        
          proxy_set_header X-Real-IP  $remote_addr;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_set_header Host $host;  
          ##########################################
          ## COLOQUE AQUI O IP DE SEU SERVIDOR WEB
          ##########################################
          proxy_pass http://10.0.0.2:8080; 

         }

         location ~ /\.ht {
                deny all;
        }
}

Quer dizer no Cloud vou ter que por também o bind para reconher o domínio, quando alguém acessar o endereço site.com.br ele vai jogar para o IP 10.0.0.2.

Estou correto?

Também me deram uma dica sobre o HAProxy.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
54 minutos atrás, rodrigo286 disse:

Obrigado @joaopaulo, vou tentar aqui, vou instalar o apache e nginx no cloud e apontar para o dedicado.

Eu preciso fazer isso funcionar para o WHM/cPanel por isso fiz a config abaixo:

No caso meu cloud está ligado ao dedicado por GRE.

IP GRE Cloud: 10.0.0.1 e 10.0.0.3

Ip GRE Dedicado: 10.0.0.2 e 10.0.0.4

Quer dizer no Cloud vou ter que por também o bind para reconher o domínio, quando alguém acessar o endereço site.com.br ele vai jogar para o IP 10.0.0.2.

Estou correto?

Também me deram uma dica sobre o HAProxy.

Abraço.

 

Vamos lá, não vamos confundir porco com feijoada:

  • Se seu objetivo é esconder o servidor real, então não hospede o DNS nele, use o cloduflare ou similar. Isso vale para e-mails também. No DNS você irá colocar todas as entradas A de fluxo HTTP para o IP público do cloud;
  • HA Proxy é outra coisa, aí envolve balanceamento de carga, espehamento e diabo A4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então é isso que eu gostaria de fazer.

O meu cloud tem proteção para mitigar DoS / DDoS por isso queria deixar ele cuidando dos DNS e assim proteger a identidade do dedicado que seria mais desprotegido.

Tentei vários modos e pesquisei muito porem ainda não consegui fazer isso, inclusive tentei até com GRE.

 

Quando me passaram sobre o HAProxy me passaram que ele tinha essa função de proxy reverso e com isso eu conseguiria esconder a identidade do meu dedicado.

Tentei criando um túnel GRE entre as maquinas, eles se comunicavam mas não conseguir deixar o WHM/cPanel funcionando desse modo.

Mas pelo que você passou é exatamente isso, seria hospedar os DNS no meu cloud, mas ainda tenho o problema, como vou deixar o dedicado ligado ao cloud.

 

Obrigado e grande abraço.

 

#EDIT

Estou configurando o BIND9 aqui no Cloud com Centos 7, vou tentar configurar tudo de novo apontando o domínio e qualquer coisa eu posto aqui se eu consegui ou não e passando o que eu fiz.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, rodrigo286 disse:

Então é isso que eu gostaria de fazer.

O meu cloud tem proteção para mitigar DoS / DDoS por isso queria deixar ele cuidando dos DNS e assim proteger a identidade do dedicado que seria mais desprotegido.

Tentei vários modos e pesquisei muito porem ainda não consegui fazer isso, inclusive tentei até com GRE.

 

Quando me passaram sobre o HAProxy me passaram que ele tinha essa função de proxy reverso e com isso eu conseguiria esconder a identidade do meu dedicado.

Tentei criando um túnel GRE entre as maquinas, eles se comunicavam mas não conseguir deixar o WHM/cPanel funcionando desse modo.

Mas pelo que você passou é exatamente isso, seria hospedar os DNS no meu cloud, mas ainda tenho o problema, como vou deixar o dedicado ligado ao cloud.

 

Obrigado e grande abraço.

 

#EDIT

Estou configurando o BIND9 aqui no Cloud com Centos 7, vou tentar configurar tudo de novo apontando o domínio e qualquer coisa eu posto aqui se eu consegui ou não e passando o que eu fiz.

Abraço.

Deixe esse esquema de Tunel em Off, é gastar tempo a toa. No dedicado, mude todos os serviços para portas não-padrão e habilite proteção contra port-scanners.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então esse dedicado eu peguei secundário para testar e ver se é possível colocar em produção.

No caso não estou mais usando o GRE, estou tentando fazer o que você disse de deixar o DNS no Cloud.

Acabei de configurar o DNS nele, só estou esperando mapear para testar.

O DC é Dacentec, então qualquer ataque que eu levar cai fácil por esse motivo do Cloud ser usado para proteção.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

O Portal do Host

Dicas para sua empresa de hospedagem. Artigos, notícias, tutoriais e os aspectos da indústria de hospedagem.

Limestone Networks

A LSN tem sido parceira e patrocinadora do PDH, fornecendo uma plataforma segura e confiável.

Cloud - Servidores decicados - Co-location
×