Tutorial: Crie seu Reverse Proxy para ocultar o IP do servidor com Vesta (Deprecated)

  • Autor Autor Carlos Frias
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
Status

🔒 Este tópico está fechado para novas respostas.

⏰ Apenas o criador do tópico pode solicitar a reabertura de seus próprios tópicos, mas apenas dentro dos 60 dias anteriores à última atualização.

Carlos Frias

Carlos Frias

1
Ro
Verificación en dos pasos activada
Verificado por Binance
Suscripción a IA
Olá, pessoal, hoje vou mostrar como fazer o seguinte.

1594602888818.png


Para o público, um IP da Rússia (um VPS russo, por exemplo, na veesp.com) e, apenas para nosso conhecimento, um servidor nos Estados Unidos.

Como isso beneficia vocês? Para quem tem sites de séries, filmes, anime, pornô ou pelo simples fato de evitar que a concorrência saiba onde seu site está realmente hospedado (por qualquer motivo) e ter que migrar seus dados constantemente. Serve muito para portais que recebem ataques e depois você é obrigado a migrar os dados de forma recorrente, pois com isso você apenas monta um proxy e muda o IP, sem nunca mais tocar nos dados (e se você é pirata com um site do tipo warez... as reclamações não chegam ao destino final, apenas à empresa offshore, que as ignora). Impressionante, não?

Obviamente, não faltará quem diga que sempre há formas de conseguir o IP, mas este método por si só já dificulta muito para uma grande parte das pessoas (ainda assim, não vi esses casos, apenas pessoas falando que é possível). Sem mais delongas, vamos ao que interessa.

1)
Vou e compro meu servidor (deve ser feito em um servidor que esteja em branco)

1594603468561.png


2) Colocamos um hostname (nome da máquina) e preenchemos os dados (Atenção, selecionamos CentOS 7 x64 como distribuição de Linux)

1594603920637.png


3) Depois de fazer o pedido e pagar, nos entregarão o VPS em cerca de 5-10 minutos

1594604082659.png

1594604145348.png


4) Agora, com os dados que recebemos por e-mail, entramos no VPS via SSH e iniciamos uma instalação do VestaCP

Normalmente a porta SSH na Veesp por padrão é a 22, mas em outras empresas isso pode variar, a menos que você a altere da sua maneira.

yum upgrade -y; yum install -y wget curl curl-devel nano perl perl-core epel-release; curl -O http://vestacp.com/pub/vst-install.sh; yes | bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd no --proftpd no --iptables no --fail2ban no --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql no --postgresql no --hostname server.hostname.tld --email tucorreo@gmail.com --port 8083 --password Cambiame01@#$

Levará pelo menos 10 minutos (ou menos) para instalar o VestaCP e não passará de 20 minutos em provedores com conexão à internet deprecated.

Atenção com o hostname, e-mail e senha colocados na linha de comando, além de levar em conta que a senha root do VPS é diferente da do admin.

1594604891553.png


(É possível que demore um pouco)

1594605279341.png


Vamos colocar "y" seguido de enter e finalmente esperamos que todo esse processo automatizado termine...

1594605496368.png


5) Uma vez instalado, teremos 50% do trabalho realizado. O próximo passo será mover os templates que o VestaCP traz por padrão e carregar apenas o código com o qual vamos trabalhar. O Vesta servirá apenas como um painel de controle para adicionar e remover domínios, ativar SSL com Let's Encrypt ou instalar um próprio sem ter que modificar código via console nem escalar para algo maior.

Se você tem conhecimento para fazer isso sem um painel de controle, vá em frente, mas isso foi feito para quem não quer lutar com isso 😀 (ou para facilitar a existência das pessoas xD). No meu caso, tenho experiência e quero facilitar as coisas para todos vocês.

1594605626140.png


mv /usr/local/vesta/data/templates/web/nginx/ /usr/local/vesta/data/templates/web/nginx.old;mkdir /usr/local/vesta/data/templates/web/nginx/;cd /usr/local/vesta/data/templates/web/nginx/; rm -rf /etc/nginx/conf.d/1* /etc/nginx/conf.d/2* /etc/nginx/conf.d/3* /etc/nginx/conf.d/4* /etc/nginx/conf.d/5* /etc/nginx/conf.d/6* /etc/nginx/conf.d/7* /etc/nginx/conf.d/8* /etc/nginx/conf.d/9* /etc/nginx/conf.d/0*; mv /usr/local/vesta/data/packages /usr/local/vesta/data/packages.old; mkdir /usr/local/vesta/data/packages; wget https://raw.githubusercontent.com/carlosfriascf/vesta7/master/default.pkg -O /usr/local/vesta/data/packages/default.pkg;

6) Vamos colar o seguinte código (e modificar o que diz IPDESTINOFINALAQUI pelo IP do servidor que temos nos Estados Unidos, por exemplo)

- Criamos o template default.stpl, podemos criá-lo da seguinte forma: nano /usr/local/vesta/data/templates/web/nginx/default.stpl;

e depois inserimos o seguinte... (nota: colocar o IP do servidor ou hosting em IPDESTINOFINALAQUI como destino/para)

server { listen *:%proxy_ssl_port% ssl; server_name %domain_idn% %alias_idn%; ssl_certificate %ssl_pem%; ssl_certificate_key %ssl_key%; error_log /var/log/httpd/domains/%domain%.error.log error; location / { proxy_pass https://IPDESTINOFINALAQUI:443; location ~* ^.+\.(%proxy_extentions%)$ { root %sdocroot%; access_log /var/log/httpd/domains/%domain%.log combined; access_log /var/log/httpd/domains/%domain%.bytes bytes; expires max; try_files $uri @fallback; } } location @fallback { proxy_pass https://IPDESTINOFINALAQUI:443; } include %home%/%user%/conf/web/snginx.%domain%.conf*; }

- Fazemos o mesmo com default.tpl, podemos criá-lo da seguinte forma: nano /usr/local/vesta/data/templates/web/nginx/default.tpl;

server { listen *:%proxy_port%; server_name %domain_idn% %alias_idn%; error_log /var/log/httpd/domains/%domain%.error.log error; location / { proxy_pass http://IPDESTINOFINALAQUI:80; location ~* ^.+\.(%proxy_extentions%)$ { root %docroot%; access_log /var/log/httpd/domains/%domain%.log combined; access_log /var/log/httpd/domains/%domain%.bytes bytes; expires max; try_files $uri @fallback; } } location @fallback { proxy_pass http://IPDESTINOFINALAQUI:80; } include %home%/%user%/conf/web/nginx.%domain%.conf*; }

- Lembre-se de salvar as alterações, no nano as alterações são salvas com CTRL + O (depois enter) e para sair CTRL + X...

1594606521170.png


7) Feito isso, concluímos o trabalho pesado... Tudo o que precisamos fazer agora é colocar o IP do nosso Proxy Reverso na lista branca (se o IP que estamos colocando é de um hosting compartilhado, devemos pedir ao hosting que o faça para evitar banimentos de IP por desconhecimento da sua plataforma de segurança)

Já precisei enviar tickets para a Banahosting para fazer exclusões, por exemplo, no Bitninja, que costuma expulsar muito os IPs dos nossos Proxies.

(atenção, isso no caso de estar hospedado em um hosting compartilhado, envia-se um ticket)

db103d2e01584c7312f2836fd1a8e175.png


8) Uma vez que o IP esteja na lista branca no nosso firewall ou que a empresa de hosting nos informe que fez a exclusão, passamos a excluir o domínio de testes que o VestaCP gerou no momento da instalação e finalmente criamos o que vamos passar pelo Proxy.

- Entramos no VestaCP, que vem sendo IPDOPROXY:8083 com https, omitimos o Certificado SSL inseguro e clicamos em Log In.

0ddc9b6890bd407eb5191d46c3e3e47a.png


- Vamos para "Web" para ver a lista de domínios existentes...

ecb56b95a67de9a3b5ae663075737111.png


- Excluímos isso e adicionamos o nosso clicando no botão verde (+) para adicionar o nosso.

49a9101645bad90b751fac6738bcddf0.png


eb47cdf8c1264910d02fd1dd4e717520.png


08a9bb336a8fd03824beaadfc906e02c.png


- Colocamos nosso domínio, adicionamos 😀

908f05e09b6a13c2d8629437ba8483e1.png


- E pronto, esta é a mensagem que nos confirmará o bom trabalho que realizamos 😀

1fbc445e0bb0f1a8c2bf0a19d88eafc3.png


9) Finalmente... Vamos ao Cloudflare ou ao nosso Gerenciador DNS, depois mudamos o IP do servidor nos Estados Unidos pelo do Proxy.

- Modifica-se o @ (o registro A do domain.tld e o www no caso de ser um Record A e não um CNAME)

fb85df281cc56f9b8bd802f6c123c4ce.png


10) Concluímos ativando o Certificado SSL e verificando os resultados...

e50cf1790900c264093584434e825c3a.png


d58540ee0949a09b556fbd70562eaa56.png


RESULTADO:

e734fce432e96e4775a80a5ac3849fa1.png


22c68b71c879bbbc512f531128d5dd5c.png


Qualquer dúvida, correção, inquietação, pergunta, contribuição ou sugestão é bem-vinda... Não é incômodo algum, então você pode me escrever por mensagem privada ou comentar no tópico e eu, com muito prazer, responderei sem problema algum. Fico no aguardo de qualquer novidade, nos vemos no próximo tutorial 😉 também clicando no link da minha assinatura, você poderá validar parte dos serviços que eu ofereço.
 
Última edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Olá, tudo bem, betas?, hoje vou mostrar como fazer o seguinte.

Ver o anexo 307812

Para o público, um IP da Rússia (um VPS russo, por exemplo, em veesp.com) e, apenas para nosso conhecimento, um servidor nos Estados Unidos.

Como isso beneficia vocês? Para quem tem sites de séries, filmes, anime, pornô ou pelo simples fato de evitar que a concorrência saiba onde seu conteúdo está realmente hospedado (vai saber com que finalidade) e ter que, por qualquer motivo, migrar seus dados de tempos em tempos. Isso serve muito para portais que recebem ataques e depois você se vê obrigado a migrar os dados de forma recorrente; com isso, você apenas monta um proxy e muda o IP, sem nunca mais tocar nos dados (e se você é pirata com um site do tipo warez... as reclamações não chegam ao destino final, apenas à empresa offshore, que as ignora). Impressionante, não?

Obviamente, não faltará quem diga que sempre há formas de conseguir o IP, mas este método, por si só, já dificulta isso para uma grande parcela (ainda assim, não vi esses casos, apenas pessoas falando que é possível). Sem mais delongas, vamos ao que interessa.

1)
Vou e compro meu servidor (deve ser feito em um servidor que esteja em branco)

Ver o anexo 307828

2) Colocamos um hostname (nome da máquina) e preenchemos os dados (Atenção: selecionamos CentOS 7 x64 como distribuição de Linux)

Ver o anexo 307832

3) Depois de fazer o pedido e pagar, nos entregarão o VPS em cerca de 5-10 minutos

Ver o anexo 307834
Ver o anexo 307835

4) Agora, com os dados que recebemos por e-mail, entramos no VPS via SSH e iniciamos uma instalação do VestaCP

Normalmente, a porta SSH no Veesp por padrão é a 22, mas em outras empresas isso pode variar, a menos que você a altere como preferir.

yum upgrade -y; yum install -y wget curl curl-devel nano perl perl-core epel-release; curl -O http://vestacp.com/pub/vst-install.sh; bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd no --proftpd no --iptables no --fail2ban no --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql no --postgresql no --hostname server.hostname.tld --email tucorreo@gmail.com --password Cambiame01@#$

Levará pelo menos 10 minutos (ou menos) para instalar o VestaCP e não passará de 20 minutos em provedores com conexão à internet lenta.

Atenção com o hostname, e-mail e senha colocados na linha de comando, além de levar em conta que a senha root do VPS é diferente da do admin.

Ver o anexo 307841

(É possível que demore um pouco)

Ver o anexo 307842

Vamos colocar "y" seguido de enter e, finalmente, esperamos que todo esse processo automatizado termine...

Ver o anexo 307843

5) Uma vez instalado, teremos 50% do trabalho realizado. O próximo passo será mover os modelos que o VestaCP traz por padrão e carregar apenas o código com o qual vamos trabalhar. O Vesta servirá apenas como um painel de controle para adicionar e excluir domínios, ativar SSL com Let's Encrypt ou instalar um próprio sem ter que modificar código via console nem escalar para algo maior.

Se você tem conhecimento para fazer isso sem um painel de controle, vá em frente, mas isso foi feito para quem não quer lutar com isso 😀 (ou para facilitar a existência das pessoas xD). No meu caso, tenho experiência e quero facilitar as coisas para todos vocês.

Ver o anexo 307845

mv /usr/local/vesta/data/templates/web/nginx/ /usr/local/vesta/data/templates/web/nginx.old;mkdir /usr/local/vesta/data/templates/web/nginx/;cd /usr/local/vesta/data/templates/web/nginx/;

6) Vamos colar o seguinte código (e modificar o que diz IPDESTINOFINALAQUI pelo IP do servidor que temos nos Estados Unidos, por exemplo)

- Criamos o modelo default.stpl, podemos criá-lo da seguinte forma: nano /usr/local/vesta/data/templates/web/nginx/default.stpl;

e depois inserimos o seguinte... (nota: colocar o IP do servidor ou hospedagem em IPDESTINOFINALAQUI como destino/para)

server { listen *:%proxy_ssl_port% ssl; server_name %domain_idn% %alias_idn%; ssl_certificate %ssl_pem%; ssl_certificate_key %ssl_key%; error_log /var/log/httpd/domains/%domain%.error.log error; location / { proxy_pass https://IPDESTINOFINALAQUI:443; location ~* ^.+\.(%proxy_extentions%)$ { root %sdocroot%; access_log /var/log/httpd/domains/%domain%.log combined; access_log /var/log/httpd/domains/%domain%.bytes bytes; expires max; try_files $uri @fallback; } } location @fallback { proxy_pass https://IPDESTINOFINALAQUI:443; } include %home%/%user%/conf/web/snginx.%domain%.conf*; }

- Fazemos o mesmo com default.tpl, podemos criá-lo da seguinte forma: nano /usr/local/vesta/data/templates/web/nginx/default.tpl;

server { listen *:%proxy_port%; server_name %domain_idn% %alias_idn%; error_log /var/log/httpd/domains/%domain%.error.log error; location / { proxy_pass http://IPDESTINOFINALAQUI:80; location ~* ^.+\.(%proxy_extentions%)$ { root %docroot%; access_log /var/log/httpd/domains/%domain%.log combined; access_log /var/log/httpd/domains/%domain%.bytes bytes; expires max; try_files $uri @fallback; } } location @fallback { proxy_pass http://IPDESTINOFINALAQUI:80; } include %home%/%user%/conf/web/nginx.%domain%.conf*; }

- Lembre-se de salvar as alterações; no nano, as alterações são salvas com CTRL + O (depois enter) e para sair, CTRL + X...

Ver o anexo 307854

7) Feito isso, concluímos o trabalho pesado... Tudo o que temos que fazer agora é colocar o IP do nosso Proxy Reverso na lista de permissões (se o IP que estamos colocando é de uma hospedagem compartilhada, devemos pedir à hospedagem que o faça para evitar banimentos de IP por desconhecimento da sua plataforma de segurança)

Já tive que enviar tickets para a Banahosting para fazer exclusões, por exemplo, no Bitninja, que costuma expulsar muito os IPs dos nossos Proxies.

(atenção: isso, no caso de estar hospedado em uma hospedagem compartilhada, envia-se um ticket)

db103d2e01584c7312f2836fd1a8e175.png


8) Uma vez que o IP esteja na lista de permissões no nosso firewall ou que a empresa de hospedagem nos informe que fez a exclusão, passamos a excluir o domínio de teste que o VestaCP gerou no momento da instalação e, finalmente, criamos o que vamos passar pelo Proxy.

- Entramos no VestaCP, que será IPDOPROXY:8083 com https, omitimos o Certificado SSL inseguro e clicamos em Log In.

968edf97e5dc0d6142872e074c407dcf.png


- Vamos até "Web" para ver a lista de domínios existentes...

f689d348ae7c2434f434ed23a1ebe4d7.png


- Excluímos isso e adicionamos o nosso clicando no botão verde (+) para adicionar o nosso.

7a97557cec1f86c005b98434c4a8068b.png


- Desmarcamos "Mail Support"; dará erro se deixarmos marcado...

31e9200225eccd5db6f814baebe7ffb5.png


- E pronto, esta é a mensagem que confirmará o bom trabalho que realizamos 😀

cafb0399029ba7ddbccbf9f63cb9fa10.png


9) Finalmente... Vamos ao Cloudflare ou ao nosso Gerenciador de DNS, depois mudamos o IP do servidor nos Estados Unidos pelo do Proxy.

- Modifica-se o @ (o registro A do domain.tld e o www, caso seja um Record A e não um CNAME)

6979e7ea09b12379284eace94d0e19e8.png


10) Concluímos ativando o Certificado SSL e verificando os resultados...

bf7858e69591401edb4fa20810afc112.png


d58540ee0949a09b556fbd70562eaa56.png


RESULTADO >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:

55f22356ce3080097c447d9bc78b5543.png


22c68b71c879bbbc512f531128d5dd5c.png


Qualquer dúvida, correção, preocupação, pergunta, contribuição ou sugestão é bem-vinda, não é incômodo algum; você pode me escrever por mensagem privada ou comentar no tópico e eu, com muito prazer, responderei sem problema algum. Fico no aguardo de qualquer novidade, nos vemos no próximo tutorial 😉 também clicando no link da minha assinatura, você poderá validar parte dos serviços que ofereço.

Muito obrigado por este ótimo tutorial, de fato me servirá e servirá a muitos de nós.

Bom, com relação ao ponto 8:

8) Uma vez que o IP esteja na lista de permissões no nosso firewall ou que a empresa de hospedagem nos informe que fez a exclusão, passamos a excluir o domínio de teste que o VestaCP gerou no momento da instalação e, finalmente, criamos o que vamos passar pelo Proxy.

Caso alguém tenha um VPS, dedicado, como se gerencia a lista de permissões no firewall? Ou seja, como se adiciona o IP do proxy ao firewall do nosso servidor nos "EUA"? Essa é minha dúvida.
 
Muito obrigado por este ótimo tutorial, na verdade vai me servir e vai servir a muitos de nós.

Bom, em relação ao ponto 8:

8) Uma vez que o IP esteja na lista branca em nosso firewall ou que a empresa de hospedagem nos informe que fez a exclusão, passamos a apagar o domínio de testes que o VestaCP gerou no momento da instalação e finalmente criamos o que vamos passar por Proxy.

Caso alguém tenha um VPS, dedicado, como se gerencia a lista branca no firewall, ou seja, como se adiciona o IP do proxy ao firewall ou exclusão. Essa é minha dúvida.

Como você tem Plesk e servidores dedicados próprios, não precisará fazer isso 😉 se chegar a usar Bitninja como um agregado, é só buscar o IP e clicar em "Whitelist" por exemplo, uma imagem a seguir.

1594611110020.png
 
Caso eu tenha cPanel, como devo fazer?
 
Caso eu tenha cPanel, como devo fazer?

¿cPanel como servidor final? simplesmente você compra o VPS ou dedicado para colocar em prática o Reverse Proxy com interface e pronto.

Se você usa CSF como firewall, coloca o IP na lista branca no máximo, não são necessárias outras mudanças especiais.
 
Caso eu tenha cPanel, como devo fazer?

Ou seja, você ocupa o servidor em branco, seja VPS ou dedicado, para criar o Proxy, enquanto no servidor que você gerencia nos Estados Unidos ou Canadá não será necessário realizar nenhuma mudança, no máximo colocar o IP na lista branca ou, se estiver em uma hospedagem compartilhada, pedir à hospedagem que a adicione à lista branca para evitar exclusões por falsos positivos. Não se toca no servidor de destino.
 
Excelente contribuição Carlos 🙂.
Como sempre, agradecendo sua ajuda e conhecimento.
 
Boa contribuição!
 
Impressionante, eu sempre tinha a dúvida de como ocultar o IP do servidor.. Excelente contribuição brother 😉
 
Interessante dado, me serve para um novo projeto que tenho em mente. (e justamente comprei o VPS com Vesta)😉
 
Grande contribuição irmão, muito poucos entenderão o verdadeiro valor deste tutorial.
 
Obrigado pela recepção que deram ao guia, hoje venho trazer uma atualização para corrigir as opções que aparecem "a mais" em nosso painel de controle, o qual estamos usando apenas para fins de Proxy Reverso (e talvez até DNS). A seguir, deve-se rodar o seguinte.

mv /usr/local/vesta/data/packages /usr/local/vesta/data/packages.old; mkdir /usr/local/vesta/data/packages; wget https://raw.githubusercontent.com/carlosfriascf/vesta7/master/default.pkg -O /usr/local/vesta/data/packages/default.pkg;

Antes:

1594690065895.webp


Depois:

1594690100727.webp


O que foi alcançado com isso? Desaparecer tudo o que não vamos usar ou o que não foi instalado com esta modalidade no VestaCP, além disso cabe ressaltar que não devemos nos preocupar com temas de segurança, já que este servidor NÃO HOSPEDA O SITE, apenas o carrega mediante Proxy.

Da mesma forma, se você quiser mudar a porta de acesso ao VestaCP (IPDOSERVIDOR:8083) você pode rodar o seguinte a seguir.

sed -i 's/8083;/NUEVOPUERTO;/g' /usr/local/vesta/nginx/conf/nginx.conf; killall -9 vesta; service vesta restart;

(Olho, onde diz NOVAPORTA vai a sua nova porta) e se por algum erro o serviço do VestaCP não subir, inverta o comando.

sed -i 's/PUERTOERRONEO;/NUEVOPUERTO;/g' /usr/local/vesta/nginx/conf/nginx.conf; killall -9 vesta; service vesta restart;

Por enquanto, fico no aguardo de qualquer dúvida para responder. Passo a atualizar o tutorial com o patch.

Abraços,
 
Última edição:
Pergunta da minha humilde ignorância, o servidor do proxy deve ter as mesmas especificações que o original? Digo isso pelo volume que você gerencia no momento.
 
Muito obrigado! Isso me vem perfeito
 
Pergunta da minha humilde ignorância, o servidor do proxy deve ter as mesmas especificações que o original? Digo isso pelo volume que você gerencia no momento.

Não, pelo menos 4G de RAM é o que eu recomendo, 2 cores de processador e, acima de tudo, a rede. Se você consome mais de 200mbps de rede, precisa buscar um provedor de servidores que te forneça mais de 200mbps de rede. O que mais se consome é a rede, acima de tudo.
 
@Carlos Frias Minha dúvida é: como chegar aos IPs finais caso queira conhecer a hospedagem real de um site que esteja usando um sistema como este ou Cloudflare? 👀
 
Uma pergunta, seria possível utilizar o mesmo VPS utilizando um IP adicional?

Você pode adicionar IPs adicionais ao VPS que usa como Proxy, os adicionais do servidor de destino nos EUA não funcionariam, não seriam necessários.

@Carlos Frias Minha dúvida é: como chegar aos IPs finais caso queira conhecer a hospedagem real de um site que esteja usando um sistema como este ou Cloudflare? 👀

A diferença do Cloudflare é que eles reenviam as denúncias para o IP da hospedagem, enquanto você está fazendo seu próprio servidor de Proxy.

Para o denunciante, o IP que aparece é o do Proxy, é complicado conseguirem o IP real (é necessário um bom conhecimento para isso)
 
Status

🔒 Este tópico está fechado para novas respostas.

⏰ Apenas o criador do tópico pode solicitar a reabertura de seus próprios tópicos, mas apenas dentro dos 60 dias anteriores à última atualização.

Voltar
Topo