Video Soft BBS


Video Soft BBS
Menú Principal
Anti Trojans
Antivirus
Hoaxes
Subscripciones
Otro software
Artículos
Links
Sugerencias
Sobre el BBS
Direcciones
Galería
Chat

Controlado desde el
19/10/97 por NedStat


VSAntivirus   
Esta página es un servicio gratuito de Video Soft BBS -
SUBSCRIBASE en nuestras listas de correo.

La importancia de las reglas en los cortafuegos
 
VSantivirus No. 923 - Año 7 - Jueves 16 de enero de 2003

La importancia de las reglas en los cortafuegos
http://www.vsantivirus.com/dfm-reglas.htm

Por David Fernández Madrid
idoru@videosoft.net.uy


Una mala política de listas de control de acceso (reglas) puede dar acceso total a nuestro PC. Por desgracia los desarrolladores de cortafuegos no ayudan mucho con sus reglas por defecto y sus implementaciones particulares.

En los cortafuegos personales hay básicamente tres tipos de autenticación que podemos configurar para comprobar que un paquete coincide o no con una de nuestras reglas.

Autenticación por IP

Confía en la dirección/es IP para comprobar si un paquete coincide con nuestras reglas. Se puede falsear (spoofing) pero hay que tener en cuenta algunas consideraciones.

- No se puede realizar si el sistema operativo tiene implementado correctamente la generación del ISN (Initial Sequence Number). Generadores de ISN vulnerables a ataque son W95, W98, WMe, SpeedStream, 3Com Office Connect, Zyxell.

- El spoofing se realiza normalmente a ciegas, por lo que es costoso si se tiene que implementar un protocolo orientado a conexión (TCP). No se puede realizar un ataque orientado a conexión si el sistema operativo o cortafuegos perimetral no tiene abierto algún puerto.

- Es sencillo utilizar spoofing para realizar ataques de denegación de servicio no orientados a conexión (UDP, ICMP , TCP Syn).

Ejemplo:

La conocida vulnerabilidad del Sygate y Sygate Pro 5.0

Si se utiliza como dirección origen 127.0.0.1 se puede acceder a todos los puertos protegidos por el cortafuegos. Esto hace posible ataques orientados a conexión y lo hace vulnerable a TODOS los ataques de denegación de servicio no orientados a conexión. En contra de lo que pone en el aviso, Sygate Pro sí los detecta, pero no los para a no ser que se ponga una regla expresa para denegar esa IP. Puede que algún programa que use la interfaz localhost (127.0.0.0 - 127.0.0.255) no funcione correctamente pero no son comunes.

Recomendaciones:

Con poner una regla en el cortafuegos se evitaría la "vulnerabilidad"

in deny all protocols 127.0.0.0 255.255.255.0 all ports all portd

Autenticación por puerto

Se basa en los puertos origen y destino para comprobar si un paquete coincide con una de nuestras reglas. Se puede falsear teniendo en cuenta estas consideraciones:

- El puerto origen de un ataque solo puede ser mayor que 1024 en una máquina Linux/Unix atacante.

- El puerto origen de un ataque puede ser cualquier puerto en una máquina Windows atacante.

Ejemplo:

Fallo de los cortafuegos Kerio y Sygate Pro al permitir el paso si el puerto origen es un puerto determinado.

Si intentamos acceder a los puertos UDP de un PC protegido por Sygate Pro con y sin reglas por defecto con un puerto origen 137 o 138 tendremos pleno acceso a todos los puertos UDP abiertos en el cortafuegos.

Recomendaciones:

Añadir reglas que impidan el paso de los paquetes con puerto origen 137 y 138.

in deny udp all ips 137 all portd
in deny udp all ips 138 all portd

Si intentamos acceder a los puertos UDP de un PC protegido por Kerio con las reglas por defecto al ser la primera regla

in/out accept udp all ips all ports 53

nos permite acceder a los puertos abiertos (no a los cerrados) debido a la mala implementación de su módulo de inspección de estado. Kerio y Sygate deberían poder diferenciar los paquetes pertenecientes a conexiones anteriores y no basarse solo en si el paquete recibido pertenece a un puerto abierto o no para darle paso (tras pasar por las reglas del modulo de filtrado de paquetes).

Recomendaciones:

Restringir el acceso de los paquetes a los puertos mayores de 1024

in/out accept udp dns 255.255.255.255 1024-5000 53

Autenticación por aplicación

Confía en la identificación correcta de aplicaciones que producen el tráfico para hacer coincidir una regla o no. A pesar de que puede llegar a ser muy segura también se puede eludir. En NT, W2000 y XP, simplemente añadiendo las claves correspondientes en el registro para que la aplicación que quiere comunicarse sea cargada por "svchost.exe", el cuál suele estar permitido en el cortafuegos. Esto último, en combinación con las anteriores formas de saltarse las autenticaciones puede permitir a un programa comunicarse a través de un cortafuegos. Esto afectaría a todos.


Enlaces:

ISN e introduccion a tcp/ip
http://gsyc.escet.urjc.es/docencia/asignaturas/redes/transpas/node7.html

Vulnerabilidad de spoofing en Sygate Pro 5.0
http://www.securiteam.com/windowsntfocus/5WP0I2A8AI.html


Glosario:

TCP/IP (Transmission Control Protocol/Internet Protocol) - Básicamente describe dos mecanismos de software empleados para posibilitar la comunicación libre de errores entre múltiples computadoras. TCP/IP es el lenguaje común de Internet, el que permite que diferentes tipos de computadoras utilicen la red y comuniquen unas con otras, indiferentemente de la plataforma o sistema operativo que usen. Aunque menciona implícitamente solo a dos, en realidad está formado por más de 100 protocolos de comunicaciones de bajo nivel (TCP, IP, ICP, UDP, ICMP, PPP, SLIP, RARP, SMTP, SNMP, etc.).

UDP (Universal Data Packet) - Protocolo de transporte de datagramas, o sea de los pequeños paquetes que forman la información que se transfiere de y hacia nuestra computadora a través de Internet.

ICMP (Protocolo de mensajes de control de Internet) - Es una extensión del Protocolo de Internet (IP), y permite generar mensajes de error, paquetes de prueba y mensajes informativos relacionados con IP. Básicamente, se usa para comprobar la existencia de la máquina consultada.

SPOOFING - "Spoofing" es la falsificación de la dirección IP de origen en los paquetes enviados.

ISN (Initial Sequence Number) - En una conexión TCP/IP a un host, tanto el host como el cliente generan un número de secuencia inicial (ISN). Este número es utilizado en la "conversación" entre ambos, y sirve para ayudar al seguimiento de cada paquete --sin que se mezcle con otros--, de modo que la comunicación continúe apropiadamente.



(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com

 

Copyright 1996-2003 Video Soft BBS