2. • Con el tiempo, los ingenieros han creado filtros más
sofisticados basándose en parámetros cada vez más precisos.
• Los ingenieros también han expandido el rango de
plataformas y el rango de ACLs que pueden ser procesadas a
la velocidad máxima del cable (wirespeed).
• Estas mejoras a las plataformas y las ACLs permiten a los
profesionales de la seguridad en redes implementar
soluciones de firewall de última generación sin sacrificar el
rendimiento de la red.
• El firewall de la red debe ubicarse entre el interior y el exterior
de la red.
3. • La idea básica es que se bloquee el acceso al tráfico del
exterior salvo que se lo permita explícitamente por medio de
una ACL, o, si se trata de tráfico de retorno, que el mismo se
corresponda con tráfico que se inició dentro de la red interna.
• Este es el rol fundamental de un firewall de red, ya sea un
dispositivo de hardware dedicado o un router Cisco con un IOS
firewall.
• Muchas aplicaciones comunes usan TCP, ya que forma un
circuito virtual entre dos extremos.
• La solución de filtrado de tráfico IOS de primera generación
que soporta la naturaleza de dos vías de los circuitos virtuales
TCP es la palabra clave TCP established de las ACLs IP
extendidas.
4. • Presentada en 1995, la palabra clave established para las ACLs
IP extendidas dio pie a la creación de un firewall de red
primitivo en un router Cisco.
• Este bloqueaba todo el tráfico que provenía de Internet
excepto el tráfico de respuesta de TCP asociado con el tráfico
TCP establecido iniciado dentro de la red.
• La solución de filtrado de sesiones de segunda generación
fueron las ACLs reflexivas.
• Las ACLs reflexivas fueron introducidas al IOS en 1996. Estas
ACLs filtran el tráfico basándose en las direcciones de origen y
destino y los números de puerto, además de monitorear las
sesiones.
5. • El filtrado de sesiones de las ACLs reflexivas usa filtros
temporales que se eliminan una vez que la sesión finaliza.
• La opción TCP established y las ACLs reflexivas son ejemplos
de ACLs complejas
6. • Esta es la sintaxis de la opción TCP established en una ACL IP
extendida numerada.
• Router(config)# access-list {100-199} {permit | deny}
protocolo dir-origen [wildcardorigen] [operador operando]
dir-destino [wildcard-destino] [operador operando]
[established]
• La palabra clave established fuerza al router a revisar si los
flags de control TCP ACK o RST están activados.
• Si el flag ACK está activado, se permite el tráfico TCP.
• Si no lo está, se asume que el tráfico está asociado con una
nueva conexión iniciada fuera de la red.
7. • El uso de la palabra clave established no implementa un
firewall de estados en el router.
• No se mantiene información de estados para monitorear el
tráfico iniciado dentro de la red.
• Todo lo que hace el parámetro established es permitir el paso
de los segmentos TCP con el flag de control apropiado.
• El router no monitorea las conversaciones para determinar si
el tráfico es de retorno, asociado con una conexión iniciada
dentro de la red.
8. • Por lo tanto, el uso de la palabra clave established para
permitir el tráfico de retorno abre una brecha de seguridad en
el router.
• Un hacker puede aprovecharse de esta brecha usando un
generador de paquetes o escáner, como Nmap, para pasar
paquetes TCP adentro de la red disfrazándolos como tráfico de
retorno.
• Los hackers logran esto usando el generador de paquetes para
que establezca el bit o los bits apropiados en el campo de
control TCP.
• La opción established no se aplica al tráfico UDP o ICMP, ya
que el tráfico UDP e ICMP no utiliza flags de control como lo
hace el tráfico TCP.
9. • A pesar de la brecha de seguridad, el uso de la palabra clave
established no proporciona una solución más segura ya que
sólo hay coincidencia si el paquete TCP tiene los bits de
control ACK o RST activados.
• R1(config)# access-list 100 permit tcp any eq 443 192.168.1.0
0.0.0.255 established
• R1(config)# access-list 100 permit tcp any 192.168.1.3 0.0.0.0
eq 22
• R1(config)# access-list 100 deny ip any any
• R1(config)# interface s0/0/0
• R1(config-if)# ip access-group 100 in
• Si la palabra clave established se omitiera, todo el tráfico TCP
que proviniera del puerto 443 se permitiría.
• Con la palabra clave, sólo el tráfico del puerto 443 que tenga
el flag de control TCP ACK se permitirá.
10. • Como es común en una configuración de firewall, todo el
tráfico entrante se deniega salvo que se permita
explícitamente (tráfico SSH, puerto 22) o salvo que esté
asociado con tráfico que se genera dentro de la red (tráfico
HTTPS en este caso).
• Se permite todo el tráfico que provenga del puerto 443 y de
fuera de la red con el flag de control apropiado.
11. • Las ACLs reflexivas fueron introducidas al IOS de Cisco en
1996, aproximadamente un año después de que se habilitó la
opción established.
• Las ACLs reflexivas proporcionan una forma más real de
filtrado de sesiones que el que ofrece la opción TCP
established.
• Las ACLs reflexivas son mucho más difíciles de falsificar ya que
deben coincidir muchos más criterios de filtrado antes de que
se permita acceso a un paquete.
• Por ejemplo, se revisan las direcciones de origen y destino y
los números de puerto, no sólo los bits ACK y RST.
• Además, el filtrado de sesiones usa filtros temporales que se
eliminan una vez que la sesión finaliza.
• Esto agrega un límite de tiempo a la oportunidad de ataque
del hacker.
12. • La palabra clave established está disponible sólo para el protocolo
TCP de capa superior.
• Los otros protocolos de capa superior, como UDP e ICMP, deben o
permitir todo el tráfico ingresante o definir todos los pares de
puertos y direcciones de origen y destino posibles, para cada
protocolo.
• La mayor limitación de las ACLs estándar y extendidas es que fueron
diseñadas para filtrar conexiones unidireccionales en lugar de
bidireccionales.
• Las ACLs estándar y extendidas no monitorean el estado de la
conexión.
• Si alguien dentro de la red envía tráfico a Internet, es difícil permitir
el ingreso a la red del tráfico de retorno de una manera segura sin
abrir una gran brecha en el router de perímetro.
• Las ACLs reflexivas fueron desarrolladas para este propósito.
Permiten al administrador realizar filtrado de sesiones para
cualquier tipo de tráfico IP.
13. • Las ACLs reflexivas trabajan utilizando entradas de control de
acceso (ACEs) temporales insertadas en una ACL extendida,
que se aplica en la interfaz externa del router de perímetro.
• Una vez que la sesión finaliza o la entrada temporal vence, es
eliminada de la configuración de la ACL en la interfaz externa.
• Esto reduce la exposición de la red a ataques de DoS.
14. • Para que esto funcione, una ACL extendida nombrada examina
el tráfico a medida que éste sale de la red.
• La ACL puede ser aplicada como de entrada en una interfaz
interna o de salida en una interfaz externa.
• Las ACEs examinan el tráfico asociado con nuevas sesiones
usando el parámetro reflect.
• Las ACEs de conexión se crean dinámicamente basándose en
estas sentencias (usando reflect) para permitir el tráfico de
retorno.
• Sin las sentencias reflect, el tráfico de retorno se descarta por
defecto.
• Por ejemplo, el administrador puede configurar las sentencias
de la ACL para que examinen sólo las conexiones HTTP,
permitiendo entonces la creación de ACEs reflexivas sólo
temporales para el tráfico HTTP.
15. • A medida que el tráfico deja la red, si coincide con una
sentencia de permiso con un parámetro reflect, se agrega una
entrada temporal a la ACL reflexiva.
• Por cada sentencia permit-reflect, el router crea una ACL
reflexiva aparte.
• La ACE reflexiva es una entrada invertida: la información de
origen y destino se da vuelta.
• Por ejemplo, cuando un usuario en la estación de trabajo con
la dirección IP 192.168.1.3 hace telnet 209.165.200.5, donde
el número de puerto de origen es el 11000, se crea una ACE
reflexiva como la siguiente:
• R1(config-ext-nacl)# permit host 209.165.200.5 eq 23 host
192.168.1.3 eq 11000
16. • Cualquier ACE reflexiva temporal que se cree contendrá la
acción permit para permitir el ingreso a la sesión del tráfico de
retorno.
17. • La configuración de un router para que use ACLs reflexivas
requiere sólo unos pocos pasos:
• Paso 1. Cree una ACL interna que busque nuevas sesiones de
salida y cree ACEs reflexivas temporales.
• Paso 2. Cree una ACL externa que use las ACLs reflexivas para
examinar el tráfico de retorno.
• Paso 3. Active la ACL nombrada en las interfaces apropiadas.
• Esta es la sintaxis de una ACL interna.
• Router(config)# ip access-list extended nombre_ACL_interna
• Router(config-ext-nacl)# permit protocolo dir-origen [máscara-
origen] [operador operando] dir-destino [máscara-destino]
[operador operando] [established] reflect
nombre_ACL_reflexiva [timeout segundos]
18. • Por ejemplo, estos son los comandos que se ajustan a una
situación en que los usuarios internos navegan por Internet
con un navegador web usando DNS.
• R1(config)# ip access-list extended internal_ACL
• R1(config-ext-nacl)# permit tcp any any eq 80 reflect web-
only-reflexive-ACL
• R1(config-ext-nacl)# permit udp any any eq 53 reflect dns-
only-reflexive-ACL timeout 10
• El IOS de Cisco crea dos ACEs reflexivas que mantienen
información de sesión de conexiones web de salida (web-only-
reflexive-ACL) y consultas DNS (dns-onlyreflexive-ACL).
• Note que se ha configurado un tiempo de vencimiento de 10
segundos para las consultas DNS.
19. • Luego de crear la ACL nombrada interna extendida, lo cual
origina las ACEs reflexivas, debe hacerse referencia a las
entradas temporales a medida que el tráfico fluye de vuelta a
la red.
• Esto se logra creando una segunda ACL nombrada extendida.
• En esta ACL nombrada, se usa la sentencia evaluate para hacer
referencia a las ACEs reflexivas que fueron creadas por la ACL
interna.
• Router(config)# ip access-list extended nombre_ACL_externa
• Router(config-ext-nacl)# evaluate nombre_ACL_reflexiva
• Continuando el ejemplo con tráfico HTTP y DNS, esta sintaxis
crea una ACL externa que deniega todo el tráfico que se
origina fuera de la red, pero permite el tráfico HTTP y DNS de
retorno.
20. • R1(config)# ip access-list extended external_ACL
• R1(config-ext-nacl)# evaluate web-only-reflexive-ACL
• R1(config-ext-nacl)# evaluate dns-only-reflexive-ACL
• R1(config-ext-nacl)# deny ip any any
• El último paso consiste en aplicar las ACLs.
• R1(config)# interface s0/0/0
• R1(config-if)# description connection to the ISP.
• R1(config-if)# ip access-group internal_ACL out
• R1(config-if)# ip access-group external_ACL in
21. • Las ACLs reflexivas proporcionaron la primera solución para el
filtrado de sesiones en los routers Cisco.
• Las ACLs reflexivas son sólo uno de los diferentes tipos de
ACLs complejas soportadas en los dispositivos de networking
de Cisco.
• Algunas ACLs complejas son diseñadas para permitir
conexiones dinámicas a través de routers construidas bajo
demanda del usuario.
• Otras ACLs complejas se habilitan automáticamente en fechas
u horas particulares.