ย Ya hemos hablado de Cloudflare, el servicio web que sirve cono CDN, cahcรฉ, firewall y mucho mรกs. Tiene varios planes, gratis y de pago. Pero para la mayorรญa de las pรกginas web el modo gratis es suficiente. Mientras seรกis conscientes de los lรญmites de subida que establece Cloudflare.
Hoy os vamos a enseรฑar “un truco” por el que vamos a limitar a nuestro servidor a que acepte sรณlo peticiones web que accedan de las IPs de Cloudflare. Esto aumentarรก la seguridad en nuestra web, porque eliminarรก cualquier peticiรณn que no proceda de Cloudflare, y las que procedan de ahรญ vienen filtradas por sus sistemas de seguridad. Ademรกs, tambiรฉn aprovechamos la cachรฉ de Cloudflare lo que hace que el rendimiento de nuestra pรกgina y la experiencia de usuario mejore.
Cรณmo hacerlo.
1.
Lo primero que debemos hacer es activar Cloudflare. Nos registramos en ese servicio, damos de alta nuestra web y nos dirรก los DNS que tenemos que poner en nuestro dominio. Despuรฉs tenemos que ir al proveedor de nuestro dominio y cambiar los DNS. Apunta todos los registros de DNS que tienes para copiarlos en Cloudflare.
Nota: si tienes el correo con tu proveedor, puede que tengas problemas al cambiar los DNS a otro proveedor. Consulta con ellos antes.
Seguramente tambiรฉn se puede hacer todo esto sin cambiar los DNS a Cloudflare, pero explicamos la manera mรกs sencilla.
Una vez que hayas cambiado los DNS a Cloudflare ya podemos gestionar todo desde su panel. Tenemos que activar para nuestro dominio y para www.nuestrodominio el servicio de Cloudflare. Aseguraos que en el DNS tienen la nube en naranja, no en gris. Eso significa que pasa por sus sistemas.
2.
Ya tenemos el que cualquier persona de fuera que escriba nuestro dominio irรก por Cloudlfare. Ahora tenemos que asegurarnos que nuestro servidor no admita peticiones de ningรบn otra fuente.
2.1 Por IpTables.
Para eso nos vamos a nuestro servidor (suponemos que es dedicado o Cloud). Tenemos que activar en iptables el filtro para que sรณlo acepte las IPs de Cloudflare. Tenemos siempre un listado actualizado de las mismas aquรญ.
Cuidado: siempre que manejes un firewall corres riesgo. Asegรบrate que pruebas todo antes de activarlo y que luego tienes una manera de retroceder.
Si queremos hacer esto directamente por iptables podemos hacerlo de esta manera que sugiere Cloudflare. ย Sin embargo ya hemos dicho que es mรกs fรกcil realizar todas estas gestiones por programas como Firehol.
En Firehol abrimos el fichero firehol.conf y despuรฉs de los primeros comentarios aรฑadimos las ips de cloudflare asรญ (una por lรญnea). Los puntos suspensivos indican que estรก el resto de ips:
cloudfl_ips=”103.21.244.0/22
103.22.200.0/22
…..
“
Despuรฉs, en la interfaz que estรฉ conectada al exterior ponemos:
server http accept src “$cloudfl_ips”
server https accept src “$cloudfl_ips”
Con esto graba el fichero y asegรบrate de probar la configuraciรณn antes de reiniciar el servicio.
2.2 Por configuraciรณn del servidor web (Nginx en este caso).
Podemos restringir las ips de Cloudflare en el servidor web. Hoy lo mostraremos en Nginx.
Para ello creamos el fichero:ย etc/nginx/cloudflare-allow.conf ย con un contenido como este:
# https://www.cloudflare.com/ips
# IPv4
allow 199.27.128.0/21;
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
# IPv6
allow 2400:cb00::/32;
allow 2606:4700::/32;
allow 2803:f800::/32;
allow 2405:b500::/32;
allow 2405:8100::/32;
Despuรฉs, en la carpeta sites-available (o sites-enabled), editamos el fichero de configuraciรณn de tu dominio y en el apartado server ponemos:
include /etc/nginx/cloudflare-allow.conf;
deny all;
Y reiniciamos nginx. Esto deberรญa restringir las ips a sรณlo las de Cloudflare y rechazar el resto.
Tambiรฉn se puede hacer asรญ.
Os recomendamos los siguientes productos relacionados con la informรกtica:
Ey, gracias por este tutorial, es JUSTO lo que necesitaba <3 ยกGRACIAS!