¿Cómo proteger el origen con Cloudflare Argo Tunnel?

¡No dejes que nadie pase por alto la protección de Cloudflare y haga un mal uso de tu servidor de origen!

Cloudflare es una de las plataformas de seguridad y CDN más populares, que impulsa millones de sitios, desde pequeñas hasta empresas. Cuando implementa Cloudflare para su sitio web, todo el tráfico está protegido y acelerado. Pero esto es cierto cuando se accede a un sitio usando un nombre de dominio. ¿Qué tal si alguien descubre la IP real del servidor (Origen) y la usa indebidamente?

Encontrar la IP del servidor para el sitio detrás de Cloudflare no requiere mucho. Puede averiguar cómo, como se explica aquí y aquí. Verá, simplemente implementar CDN y WAF basado en la nube no es suficiente. También debe considerar proteger el origen.

Entonces, ¿cuál es la solución?

Argo Tunnel: una solución inteligente de Cloudflare para proteger el servidor de origen de ataques directos.

Es un demonio que debe instalar en su servidor que crea un túnel encriptado entre el servidor y la red de Cloudflare. No hay ninguna configuración de tabla ACL/IP complicada.

La buena noticia es que no necesita estar bajo un plan PRO o superior. Puede comenzar incluso si está bajo el plan GRATUITO. Todo lo que paga es por la suscripción de Argo, que comienza desde $ 5 por mes.

Comencemos con la instalación y configuración.

Instalación del demonio de Cloudflare

Inicie sesión en el servidor de origen con privilegios de root o sudo. Descargue el paquete estable más reciente. Estoy en Ubuntu, así que, archivo .deb para otro sistema operativo, consulte la página de descarga oficial.

wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.deb

Instalar el paquete descargado

dpkg -i cloudflared-stable-linux-amd64.deb

Verifiquemos la versión para asegurarnos de que se ha instalado

[email protected]:~# cloudflared --version
cloudflared version 2020.2.0 (built 2020-02-07-1653 UTC)
[email protected]:~#

¡Genial!

Autenticar demonio

Lo siguiente sería autenticarse en Cloudflare usando el daemon. Ejecute el siguiente comando

cloudflared tunnel login

Le solicitará la URL que puede usar para iniciar sesión en Cloudflare y autorizar el sitio.

[email protected]:~# cloudflared tunnel login
Please open the following URL and log in with your Cloudflare account:

https://dash.cloudflare.com/argotunnel?callback=https%3A%2F%2Flogin.argotunnel.com%XXXXX-XXX-XXXXXX%3B

Leave cloudflared running to download the cert automatically.
INFO[0030] Waiting for login...                         
INFO[0060] Waiting for login...                         
INFO[0090] Waiting for login...                         
INFO[0120] Waiting for login...                         
You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/root/.cloudflared/cert.pem
[email protected]:~#

Una vez autorizado, debería ver algo como esto.

Empezando el tunel

Comencemos el túnel a continuación.

cloudflared tunnel --hostname [HOSTNAME] http://localhost:80

Ex:

[email protected]:~# cloudflared tunnel --hostname tunnel.geekflare.com http://0.0.0.0:80
WARN[0000] Cannot determine default configuration path. No file [config.yml config.yaml] in [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /usr/local/etc/cloudflared /etc/cloudflared] 
INFO[0000] Version 2020.2.0                             
INFO[0000] GOOS: linux, GOVersion: go1.12.7, GoArch: amd64 
INFO[0000] Flags                                         hostname=tunnel.geekflare.com proxy-dns-upstream="https://1.1.1.1/dns-query, https://1.0.0.1/dns-query"
INFO[0000] cloudflared will not automatically update when run from the shell. To enable auto-updates, run cloudflared as a service: https://developers.cloudflare.com/argo-tunnel/reference/service/ 
INFO[0000] Starting metrics server                       addr="127.0.0.1:35597"
INFO[0000] Proxying tunnel requests to http://0.0.0.0:80 
INFO[0000] Connected to LAX                              connectionID=0
INFO[0001] Each HA connection's tunnel IDs: map[0:xxx]  connectionID=0
INFO[0001] Route propagating, it may take up to 1 minute for your new route to become functional  connectionID=0
INFO[0003] Connected to LAX

¡Felicidades! El origen está bloqueado ahora. Intente acceder a su sitio web utilizando la IP de origen y debería ver el mensaje “conexión rechazada”.

Inicio del túnel Argo en el arranque

Asegurémonos de que Argo Tunnel se inicie cuando se reinicie el servidor. Ejecute el siguiente comando en el servidor.

cloudflared service install

Conclusión

Cloudflare Argo Tunnel parece prometedor. En solo unos 30 minutos, puede proteger el servidor de origen.

Publicaciones relacionadas

Botón volver arriba