escribí 5 entradas completas sobre ACLs a manera de Tutorial, se las recomiendo.
¿Qué son ACL complejas?CCNA Exploration varios tipos de ACLs no vistos en las versiones anteriores del currículo, las denomina ACLs complejas. La idea de las ACLs complejas es complementar lo que ya sabemos sobre ACLs estándar y extendidas con comportamientos que las hacen útiles en contextos más interesantes. Para comprender correctamente el tema de las ACL complejas debe entender bien todo lo relacionado con ACLs. Si usted no entiende perfectamente el tema del filtrado de tráfico con ACLs le recomiendo que lea las entradas anteriores de esta serie, en su orden:
- ¿Cómo funcionan las ACL en Cisco? I: Conceptos
- ¿Cómo funcionan las ACLs? II: ACLs estándar
- ¿Cómo funcionan las ACLs? III: ACLs extendidas
ACLs dinámicasÉstas usan un mecanismo básico de autenticación, generalmente Telnet, para activar la ACL, lo que permite usar una ACL como mecanismo de autenticación o vincular una ACL con la autenticación de los usuarios con medios reconocidos. La idea consiste en crear una regla en la ACL que sólo se activará si es disparada por algún evento, en éste caso un acceso por telnet al enrutador. La regla en cuestión agrega antes de la acción (permit/deny) las palabras reservadas dynamic testlist timeout <n>, donde n es la cantidad de minutos que la regla será activa una vez que es disparada, luego de estos parámetros va la regla ordinaria que se hará activa, por ejemplo permit ip host 10.1.1.1 any. Como esta última regla está asociada con un acceso por telnet como disparador, en las líneas de vty se debe poner un comando especial autocommand access-enable host timeout 5, que establece el acceso permitido al telnet como disparador de la acl dinámica.
- access-list 101 permit ip any host 10.1.1.1 eq telnet
- access-list 101 dynamic testlist timeout 10 permit ip 172.16.0.0 0.0.255.255 172.17.0.0 0.0.255.255
- interface fa 0/0
- ip access-group 101 in
- username cesarcabrera password cecab123
- line vty 0 4
- login local
- autocommand access-enable host timeout 5
ACLs reflexivasLas reflexivas son un tipo de firewall primitivo que permite el tráfico sólo si es iniciado en una dirección, pero sin usar las banderas de conexión de TCP. Ya en las ACLs extendidas habíamos visto que en vez de ip se pueden poner otros protocolos y al final poner criterios adicionales particulares al protocolo en cuestión. Específicamente, tcp permite agregar al final del identificador de origen o destino un identificador de puerto en incluso banderas de conexión como established, que indica que la conexión ya se abrió. Éste caso particular de tcp es muy útil cuando se tienen dos redes de las cuales una es confiable y la otra no, entonces es preferible permitir sólo conexiones cuya solicitud provenga de la red confiable, es decir, que se abran desde la red interna y no se puedan abrir conexiones desde la externa. Con el truco de la bandera established (ack activo) se puede permitir de entrada sólo los paquetes con ésta condición, de tal manera que si llegan paquetes solicitando una conexión desde fuera (todavía no tienen el bit ack activo) se rechazan, mientras que si las conexiones se abren desde adentro, todos los paquetes entrantes deberán tener el ack activo y por lo tanto se van a permitir. Pero ¿qué pasa con UDP y otros protocolo no orientados a la conexión? Pues ahí entran en juego las acl reflexivas. La idea es hacer lo mismo que el truco de established, pero basandose sólo en los parámetros básicos de capa 3 y 4. Las acls reflexivas son un poco complejas en su configuración, ya que se aplican varios comandos para establecer las entradas temporales, adicionalmente las ACLs reflexivas son un caso particular de ACL nombrada extendida, por lo tanto no se pueden configurar en acl numeradas ni en acls nombradas estándar. Primero, en una de las direcciones del tráfico se debe marcar la regla cuyo tráfico de vuelta se va a permitir con la palabra clave reflect <nombre>, donde nombre es un identificador arbitrario que le ponemos a esta instancia, luego en la dirección de vuelta del tráfico (la acl que se va a instalar en la dirección contraria) se agrega la sentencia evaluate <nombre> donde nombre es el identificador arbitrario que pusimos en la otra dirección. En otras palabras, se le pone un identificador al tráfico que inicia la acl reflexiva, luego en la otra dirección se le ordena que evalúe si el tráfico corresponde con la regla marcada para permitirlo si coincide. Finalmente se instalan las listas, una de entrada y otra de salida en la misma interfaz (el tráfico entra y sale por la misma interfaz).
- ip access-list extended OUTB
- permit udp 172.16.0.0 0.0.255.255 any reflect UDPTRAFFIC
- permit icmp 172.16.0.0.0.0.255.255 any reflect ICMPTRAFF
- ip access-list extended INB
- evaluate UDPTRAFFIC
- evaluate ICMPTRAFF
- interface ser 0/0
- ip access-group OUTB out
- ip access-group INB in
ACLs basadas en fechas/horariosFinalmente, las más simples de comprender son las basadas en fechas/horarios. La idea de estas acls son que se activan en las fechas y horarios que se hayan establecido previamente, la precondición evidente es que el enrutador debe tener configuradas su hora y fecha correctamente, para ésto se puede configurar manualmente, confiando que el equipo no se vaya a reiniciar por ningún motivo y que el administrador va a mantener actualizado el reloj en caso contrario. Otra alternativa (más confiable) es configurar un servidor ntp para que el enrutador mantenga su tiempo actualizado. La configuración de las acls basadas en tiempo consiste en crear un rango de tiempo (time-range) el cual es después usado en las reglas de la ACL.
- time-range NOCHES
- periodic Monday Tuesday Wednesday Thursday Friday 17:00 to 00:00
- access-list 101 permit tcp 172.16.0.0 0.0.255.255 any eq www time-range NOCHES
- int fa 0/0
- ip access-group 101 out
ACL nombradasFinalmente, hay una forma más fácil de editar las listas de acceso llamadas listas de acceso nombradas. La idea básica de éstas ACLs es permitir una administración mnemónica de las ACL, ya que en vez de números se usan nombres arbitrarios. Éstas listas pueden ser extendidas o nombradas con las mismas características que las ACLs numeradas y abren un modo especial de configuración (nacl) en el que se introducen las reglas una por una empezando por la acción (permit/deny). Después de la versión 12.3 del IOS, éstas listas de acceso permiten eliminar y crear reglas particulares entre las reglas existentes, contrario a la edición ordinaria de ACLs en la que tocaba eliminar completamente una ACL para poder modificarla. En su configuración las palabras clave son ip access-list, lo que hemos visto hasta este momento, todas las listas de acceso comienzan con la palabra reservada access-list, éstas comienzan con ip access-list, seguidas del tipo de lista extended/standard y el nombre (arbitrario). Luego se entra en el modo especial de configuración.
- ip access-list extended INB
- (config-ext-nacl)#permit 172.16.0.0 0.0.255.255 172.17.0.0 0.0.255.255
- (config-ext-nacl)#deny any any
Conclusión
Esta entrada hace parte de la serie sobre ACLs:
muy bien explicado me quedó todo claro, gracias
donde se utlizan las acl´s nombradas cerca del destino o cerca de la salida
Hola Nikolás,
gracias por el comentario. La pregunta no aplica, las acls nombradas pueden ser estándar o extendidas y se les aplica la norma respectiva: estándar más cerca del destino y extendidas más cerca del origen.
Gracias y hasta pronto.
como puedo hacer una ACL nombrada desde un rango definido es decir como por ejemplo desde una ip .30-.60 hacia otra red de .100-200
denegando solo este rango
ejemplo
4. Denegar Ping de los host 30-60 de la VLAN40 hacia los Host 100-200 de la NETB
la vlan 40 ip 172.16.4.0/24
LA NetB ip 192.168.200.0/24
muchas gracias
Como se puede eliminar una ACL estandar nombrada?