Jump to content
  • Sign Up
Sign in to follow this  
rodrigo286

Nginx como proxy reverso

Recommended Posts

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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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


 

  • Like 2

Não respondo dúvidas em particular, nem via msn, bilhete elegante, PM, foto de mulher bonita no perfil, telegrama, pombo correio, sinal de fumaça, dança da chuva, fogueira, ou qualquer outra forma válida e/ou bizarra. Pergunte no fórum assim todos podem compartilhar a pizza.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Não respondo dúvidas em particular, nem via msn, bilhete elegante, PM, foto de mulher bonita no perfil, telegrama, pombo correio, sinal de fumaça, dança da chuva, fogueira, ou qualquer outra forma válida e/ou bizarra. Pergunte no fórum assim todos podem compartilhar a pizza.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

 

 


Não respondo dúvidas em particular, nem via msn, bilhete elegante, PM, foto de mulher bonita no perfil, telegrama, pombo correio, sinal de fumaça, dança da chuva, fogueira, ou qualquer outra forma válida e/ou bizarra. Pergunte no fórum assim todos podem compartilhar a pizza.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Dacentec? Okay, eu tenho dedicados para backup & storage de históricos lá, mas não use-os para coisa séria.

Se quer preço, vá de Hetzner ou Hivelocity


Não respondo dúvidas em particular, nem via msn, bilhete elegante, PM, foto de mulher bonita no perfil, telegrama, pombo correio, sinal de fumaça, dança da chuva, fogueira, ou qualquer outra forma válida e/ou bizarra. Pergunte no fórum assim todos podem compartilhar a pizza.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...