Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Configuración de Iptables para Frontend Seguro mediante Proxies de Cloudflare

Loading

En este artículo, exploraremos un archivo de configuración de iptables diseñado para proteger un servidor frontend permitiendo el acceso exclusivamente a través de los proxies de Cloudflare. Esta configuración se adapta a cualquier aplicación web o servicio que funcione como frontend, asegurando que sólo las solicitudes válidas y provenientes de Cloudflare puedan alcanzar el servidor.

Descripción del Archivo de Configuración

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Bloqueos generales
-A INPUT -f -j DROP
-A INPUT -p tcp -m tcp --tcp-flags ALL FIN,PSH,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags ALL NONE -j DROP
-A INPUT -m conntrack --ctstate INVALID -j DROP

# Aceptar trafico local
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# Permitir conexiones establecidas y relacionadas
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# Permitir SSH desde la red interna
-A INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT

# Permitir trafico HTTP/HTTPS para Cloudflare
-A INPUT -s 173.245.48.0/20 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 103.21.244.0/22 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 103.22.200.0/22 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 103.31.4.0/22 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 141.101.64.0/18 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 108.162.192.0/18 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 190.93.240.0/20 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 188.114.96.0/20 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 197.234.240.0/22 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 198.41.128.0/17 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 162.158.0.0/15 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 104.16.0.0/13 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 104.24.0.0/14 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 172.64.0.0/13 -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 131.0.72.0/22 -p tcp -m multiport --dports 80,443 -j ACCEPT
COMMIT

Explicación de la Configuración

Políticas Predeterminadas

  • INPUT DROP: Bloquea por defecto todo el tráfico entrante.
  • FORWARD DROP: Impide el reenvío de paquetes entre interfaces.
  • OUTPUT ACCEPT: Permite todo el tráfico saliente desde el servidor.

Bloqueos Generales

  • Fragmentos de paquetes: Se descartan paquetes fragmentados para prevenir ataques.
  • Paquetes con flags sospechosos: Se bloquean paquetes con combinaciones de flags no válidas o vacías.
  • Conexiones inválidas: Se descartan paquetes que no corresponden a conexiones válidas.

Excepciones Permitidas

  • Tráfico local: Acepta comunicaciones locales (loopback).
  • Conexiones establecidas: Permite paquetes de conexiones ya existentes o relacionadas.
  • SSH: Permite acceso SSH solo desde una red interna (en este caso, 192.168.10.0/24).

Restricción a Proxies de Cloudflare

Cada rango de direcciones IP especificado corresponde a los proxies de Cloudflare. Las reglas permiten tráfico HTTP y HTTPS (puertos 80 y 443) desde estos rangos, bloqueando cualquier otra solicitud directa al servidor. Esto asegura que todas las conexiones se gestionen a través de Cloudflare, lo que ofrece beneficios como:

  • Protección contra DDoS.
  • Cacheo de contenido estático.
  • Filtrado de solicitudes maliciosas.

Ventajas de Esta Configuración

  1. Seguridad Mejorada: Al bloquear el acceso directo y depender de los proxies de Cloudflare, el servidor queda protegido contra ataques directos.
  2. Simplicidad: Las reglas son claras y eficientes, evitando configuraciones innecesarias.
  3. Compatibilidad: Esta configuración funciona con cualquier servicio frontend que utilice HTTP/HTTPS.

Consideraciones Adicionales

  • Actualización de IPs de Cloudflare: Cloudflare actualiza periódicamente sus rangos de IP. Es importante sincronizar estos cambios regularmente.
  • Monitorización: Utilizar herramientas como fail2ban o logwatch para supervisar posibles intentos de conexión bloqueados.

Con esta configuración, su servidor frontend estará bien protegido y operará de manera eficiente con los servicios de Cloudflare como intermediario seguro.

You may also like...