Tutorial: Crea tu propio Reverse Proxy para ocultar la IP del servidor final (Con imágenes)

Turkero

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
7 Ago 2008
Mensajes
214
Hola que tal betas, en el día de hoy les voy a mostrar a realizar lo siguiente.

Ver el archivo adjunto 307812

De cara al publico una IP de Rusia (un VPS ruso por ejemplo en veesp.com) y a solo nuestro conocimiento, un servidor en los Estados Unidos.

¿En que los beneficia esto? Para quienes tienen sitios web de series, películas, anime, porno o por el simple hecho de evitar que su competencia conozca donde se aloja realmente (a saber que fines) y tener que por el motivo que sea migrar cada cierto tiempo su data, sirve mucho para portales que reciben ataques y luego tienes que verte obligado a migrar la data de forma recurrente pues con esto solamente montas un proxy y cambias la IP más nunca tocas la data (y si eres pirata con un sitio web del tipo warez... las reclamaciones no llegan al destino final, solo a la empresa offshore el cual los ignora) ¿Impresionante no?

De manera obvia no faltara el que diga que siempre hay formas de conseguir la IP pero este método de por si ya se lo dificulta a una población muy grande (igual, no me ha tocado ver esos casos, solo personas hablando de que se puede) sin mas palabreo, vamos al caso.

1)
Voy y compro mi servidor (se debe hacer en un servidor que este en blanco)

Ver el archivo adjunto 307828

2) Le ponemos un hostname (nombre de la maquina) y llenamos datos (Ojos, Seleccionamos CentOS 7 x64 como distribución de linux)

Ver el archivo adjunto 307832

3) Después de poner la orden y pagar, nos entregaran el VPS como en 5-10 minutos

Ver el archivo adjunto 307834
Ver el archivo adjunto 307835

4) Ahora bien, con los datos que recibimos por correo electrónico, entramos al VPS por SSH y lanzamos una instalación de VestaCP

Normalmente el puerto SSH en Veesp por defecto es el 22 pero en otras empresas esto podría variar salvo que lo cambies a tu manera.

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@#$

Tomará al menos 10 minutos (o menos) en instalarse en VestaCP y no pasara de 20 minutos en proveedores con conexión a internet deprecated.

Ojos con el hostname, correo y contraseña puesto en la línea de comando, ademas tener en cuenta que la contraseña root del VPS es diferente a la del admin.

Ver el archivo adjunto 307841

(Es posible que se tarde un rato)

Ver el archivo adjunto 307842

Le vamos a poner "y" seguido enter y finalmente esperamos a que termine todo ese proceso automatizado...

Ver el archivo adjunto 307843

5) Una vez instalado tendremos un 50% del trabajo realizado, lo próximo que vamos a realizar sera mover las plantillas que trae VestaCP por defecto y cargar únicamente el código con el cual vamos a trabajar. Vesta únicamente nos servirá como un control panel para agregar y borrar los dominios, activar SSL con Let's Encrypt o instalar uno propio sin tener que estar modificando código por consola ni escalar a mayores.

Si tienes conocimientos como para realizar esto sin un control panel pues adelante con ello, pero esto fue realizado para quienes no quieren luchar con ello :D (O facilitarle a las personas la existencia xD) en mi caso yo tengo la experiencia y quiero facilitarles las cosas a todos ustedes.

Ver el archivo adjunto 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/; 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 a pegar el siguiente código (y modificar lo que dice IPDESTINOFINALAQUI por la IP del servidor que tenemos en Estados Unidos, por ejemplo)

- Creamos la plantilla default.stpl, la podemos crear de la siguiente forma nano /usr/local/vesta/data/templates/web/nginx/default.stpl;

y luego insertamos lo siguiente... (nota con poner la IP del servidor o hosting en IPDESTINOFINALAQUI como destino/hacia)

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*; }

- Hacemos lo mismo con default.tpl, la podemos crear de la siguiente 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*; }

- Recuerda guardar los cambios, en nano los cambios se guardan CTRL + O (luego enter) y para salir CTRL + X...

Ver el archivo adjunto 307854

7) Hecho esto, hemos concluido con el trabajo pesado... Todo lo que tenemos que hacer ahora es poner la IP de nuestro Proxy Reverso en lista blanca (si la IP que estamos poniendo es de un hosting compartido, debemos pedir al hosting que lo haga para evitar baneos de IP por desconocimiento de su plataforma de seguridad)

Me ha tocado enviar tickets a Banahosting para hacer exclusiones por ejemplo en Bitninja que suele expulsar mucho las IP's de nuestros Proxy's.

(ojos, esto en caso de estar alojado en un hosting compartido pues se manda un ticket)

db103d2e01584c7312f2836fd1a8e175.png


8) Una vez la IP este en lista blanca en nuestro firewall o bien que la empresa de hosting nos comente que hizo la exclusión, pasamos a borrar el dominio de pruebas que genero VestaCP al momento de la instalación y finalmente creamos el que vamos a pasar por Proxy.

- Entramos al VestaCP el cual viene siendo IPDELPROXY:8083 con https, omitimos el Certificado SSL inseguro y le damos a Log In.

0ddc9b6890bd407eb5191d46c3e3e47a.png


- Nos dirigimos hacia "Web" para ver el listado de dominios existentes...

ecb56b95a67de9a3b5ae663075737111.png


- Borramos esto y agregamos el nuestro pulsando el botón verde (+) para agregar el nuestro.

49a9101645bad90b751fac6738bcddf0.png


eb47cdf8c1264910d02fd1dd4e717520.png


08a9bb336a8fd03824beaadfc906e02c.png


- Ponemos nuestro dominio, lo agregamos :D

908f05e09b6a13c2d8629437ba8483e1.png


- Y listo, este es el mensaje que nos confirmara del buen trabajo que hemos realizado :D

1fbc445e0bb0f1a8c2bf0a19d88eafc3.png


9) Finalmente... Vamos a Cloudflare o nuestro Administrador DNS, luego cambiamos la IP del servidor en Estados Unidos por la del Proxy.

- Se modifica el @ (el registro A del domain.tld y el www en caso de que sea un Record A y no un CNAME)

fb85df281cc56f9b8bd802f6c123c4ce.png


10) Concluimos activando el Certificado SSL y comprobando los resultados...

e50cf1790900c264093584434e825c3a.png


d58540ee0949a09b556fbd70562eaa56.png


RESULTADO:

e734fce432e96e4775a80a5ac3849fa1.png


22c68b71c879bbbc512f531128d5dd5c.png


Cualquier duda, corrección, inquietud, pregunta, aporte o sugerencia se agradece... No es molestia alguna así que puedes escribirme por mensaje privado o bien comentar en el tema y yo con mucho gusto te contesto sin problema alguno. Quedo al pendiente de cualquier novedad, nos vemos en el próximo tutorial ;) también haciendo clic en el enlace de mi firma, podrás dirigirte a validar parte de los servicios que yo ofrezco.
se puede hacer en un hosting de banahosting?
 

Carlos Frias

1
Pi
SysManager
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Desde
6 Nov 2016
Mensajes
5.681
Tengo contratado el de 5dllrs y otro de 40dllrs y no noto diferencia,
El tema es la RAM, con el de 20 estaba más que OK. Y el de 10 pues ya como una alternativa por temas de presupuesto, ya el de 5 no lo recomiendo se te puede morir al mínimo intento de nada
 

jmanu

Curioso
Verificación en dos pasos desactivada
¡Usuario con pocos negocios!
Desde
18 Oct 2021
Mensajes
14
Buen tuto... me surgieron algunas preguntas.

1. Se podria hacer cloudflare -> Proxy -> Ip Final o solamente se puede Proxy -> IpFinal ?
2. Entiendo que seria como fungir de "cloudflare" pero en caso de DDOss cloudflare es Dios.
3. La otra duda que me entra es un VPS de 4 cores y 8 RAM soportara 100k por dia?
4. Tenia entendido que la version gratuita de nginx no es tan bueno como proxy como lo es HAProxy o me equivoco?

Gracias.
 

Carlos Frias

1
Pi
SysManager
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Desde
6 Nov 2016
Mensajes
5.681
Buen tuto... me surgieron algunas preguntas.

1. Se podria hacer cloudflare -> Proxy -> Ip Final o solamente se puede Proxy -> IpFinal ?
2. Entiendo que seria como fungir de "cloudflare" pero en caso de DDOss cloudflare es Dios.
3. La otra duda que me entra es un VPS de 4 cores y 8 RAM soportara 100k por dia?
4. Tenia entendido que la version gratuita de nginx no es tan bueno como proxy como lo es HAProxy o me equivoco?

Gracias.

NGINX es mejor que Haproxy en ese sentido, y te lo digo yo que manejo tanto HAPROXY como NGINX con vasta experiencia.

Y por supuesto, claro que puedes pasar Cloudflare > PROXY > Tu VPS, Hosting o Dedicado.

Por cuanto al DDoS depende de cómo tu o tu SysAdmin configure el VPS o Dedicado o como el Owner Hosting tenga su servidor seteado.

Cabe mencionar que esto es Basic Setup para poner el Proxy y ya, no tiene Configs de Seguridad ni Config de Optimización o Cache, este servicio se ofrece en el tema de mi firma para los usuarios interesados, que pueden enviar su mensaje privado por el respectivo servicio.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros, intermediario gratis
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí


Arriba