Implementación y Conceptos Clave de Proxy, Firewall e IDS en Seguridad de Redes
Clasificado en Informática
Escrito el en
español con un tamaño de 6,78 KB
Servidores Proxy: Conceptos Fundamentales
Un Servidor Proxy es una aplicación o sistema que gestiona las conexiones de red entre las peticiones de servicio que requieren los clientes. Crea una memoria caché de peticiones y respuestas, autentica usuarios, filtra contenidos y mantiene registros. Su uso principal es mejorar la velocidad de respuesta de las peticiones.
Tipos de Proxy
- Proxy Caché Web: Proxy diseñado para mantener peticiones y respuestas en caché.
- Proxy NAT (o Proxy Transparente): El cliente no es consciente de la existencia del proxy. Requiere la redirección del tráfico.
- Proxy Anónimo: Permite la navegación anónima, eliminando las características que identifican al cliente (IP, cookies, etc.).
- Proxy Inverso: Proxy utilizado para gestionar conexiones externas hacia la red interna.
- Proxy Abierto: Acepta peticiones de equipos conectados o no a la red local.
Parámetros de Configuración Comunes (Squid)
visible_hostname- Determina el nombre visible del servidor.
http_port- Puerto de escucha del servicio.
cache_peer- Configuración de redirección o jerarquía de caché.
- Registro (Log)
- Contiene información detallada: peticiones aceptadas y rechazadas, hora, tiempo de respuesta, IP de la petición, protocolo, tamaño del archivo y método de envío.
Listas de Control de Acceso (ACL)
Las ACL conceden o deniegan el acceso. La sintaxis general es: acl nombre_lista tipo_filtrado parametros_tipo_filtrado. Las ACL se aplican mediante la directiva http_access.
Tipos de Filtrado Comunes:
src(IP/Máscara): IP de origen.dst: Destino.url_regex: Filtra por contenido de la URL (expresiones regulares).dstdomain: Dominios de destino permitidos o no permitidos.srcdomain: Dominios de origen.
Ejemplos de Configuración de Squid
Configuración básica de caché y memoria:
visible_hostname proxy
cache_dir ufs /var/spool/squid 2000 16 256
cache_mem 32 MB
maximum_object_size 512 KB
access_log /var/log/squid/access.logDefinición y aplicación de ACL:
acl localnet src 192.168.0.0/24
http_access allow localnetComando de reinicio:
systemctl restart squidConfiguración de Proxy Transparente
Se requiere la directiva transparent en el puerto HTTP y reglas de iptables para redireccionar el tráfico:
http_port 3128 transparentReglas de iptables para redirección (puertos 80 y 443):
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 3128
# Se aplica una regla similar para el puerto 443 (HTTPS)Reglas de iptables para permitir tráfico de red (ejemplos):
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
# Se aplica una regla similar para UDPCortafuegos (Firewalls)
Un Cortafuegos es una aplicación o dispositivo diseñado para bloquear comunicaciones no autorizadas. Permite el filtrado de paquetes de la red basándose en diversos criterios (incluyendo filtrado por aplicación). Aplica tres tipos de reglas principales: INPUT, OUTPUT y FORWARD, y mantiene un registro de los eventos filtrados.
Arquitecturas de Cortafuegos
- Screening Router: Actúa como frontera entre la red pública y la privada. Filtra y funciona como router.
- Dual Homed Host: Ubicado entre el router y la red, su función principal es el filtrado.
- Screened Host: Combina un router y un servidor proxy.
- Screened Subnet (Subred Filtrada): Utiliza dos redes internas. Una aloja los servicios (DMZ) y la otra es la red interna. Hay un cortafuegos entre cada segmento.
Conceptos Relacionados
- DMZ (Zona Desmilitarizada)
- Red perimetral ubicada entre la red pública y la privada. Contiene equipos accesibles desde el exterior.
- Tabla Mangle (iptables)
- La primera tabla procesada, permite modificar elementos del paquete como TTL (Time To Live) o TOS (Type of Service).
Configuración en SUSE Linux
Herramientas de inicialización: SuseFirewall2_init y suse_firewall_setup.
Para añadir reglas personalizadas, se edita /etc/sysconfig/Susefirewall2 y se activa FW_customrules="/etc/sysconfig/scripts/SUsefirewall2-custom". El script debe copiarse dentro de la función fw_custom_after_chain_creation(){}. (Nota: En la versión 13, el binario se encuentra en /usr/sbin/susefirewall2).
Sistemas de Detección de Intrusiones (IDS)
Un IDS es una herramienta que monitoriza eventos en un sistema informático buscando intentos de ataque. Se ubica en un punto de enrutamiento, actuando como sniffer para monitorizar la red y comparar los paquetes con una lista de patrones dudosos. Si hay coincidencia, realiza una acción predefinida.
Tipos de IDS
- HIDS (Host IDS): Protege un solo servidor. Recopila información de logs, ficheros, etc.
- NIDS (Network IDS): Protege sistemas en red. Ejemplo: Snort.
Tipos de Ataques de Denegación de Servicio (DoS/DDoS)
Los ataques buscan vulnerar la disponibilidad de recursos o de la red.
- Interrupción de Servicio: Vulneración de la disponibilidad de un recurso o red.
- DoS (Denegación de Servicio): Ataque que proviene de un único ordenador.
- DDoS (Denegación de Servicio Distribuida): El atacante utiliza una red de ordenadores zombies para enviar datos erróneos o saturar el servicio.
Ataques de Saturación Comunes
- ICMP Flood (Ping de la Muerte)
- Envío masivo de paquetes ICMP de gran tamaño, que suelen tener prioridad absoluta en el procesamiento.
- SMURF
- Una variante del ataque ICMP Flood que utiliza la difusión de red.
- SYN Flood
- Ataque basado en TCP donde se deja incompleto el handshake inicial (SYN-ACK), provocando que el servidor quede esperando la respuesta final y sature sus recursos de conexión.