Lectura Nro 02 LISTADOS DE ACCESO INTRODUCCION: Los listados de acceso añaden la flexibilidad necesaria para filtrar el flujo de paquetes que entra y sale de las diferentes interfaces del router, siendo un listado secuencial de condiciones de permiso o prohibición que se aplican a direcciones Internet o protocolos de capa superior. El uso más habitual de las listas de acceso es para el filtro de paquetes, aunque también se utilizan para separar el tráfico en diferentes colas de prioridad, y para identificar el tráfico para activar las llamadas en el enrutamiento bajo demanda (DDR). Las listas de acceso no actúan sobre los paquetes originados en el propio router, como las actualizaciones de enrutamiento o las sesiones Telnet salientes. USO DE WILCARD EN LAS ACL Puede ser necesario probar condiciones para un grupo o rengo de direcciones IP, o bien para una dirección IP individual. La comparación de direcciones tiene lugar usando máscaras que actúan a modo de comodines en las direcciones de la lista de acceso, para identificar los bits de la dirección IP que han de coincidir explícitamente y cuáles pueden ser ignorados. El enmascaramiento wildcard para los bits de direcciones IP utiliza los números 1 y 0 para referirse a los bits de la dirección. • Un bit de máscara wildcard 0 significa “comprobar el valor correspondiente” • Un bit de mascara wildcard 1 significa “No comprobar (ignorar) el valor del bit correspondiente” Para los casos más frecuentes de enmascaramiento wildcard se pueden utilizar abreviaturas. Host Any = = mascara 0.0.0.0 comodín 255.255.255.255, 0.0.0.0, utilizado utilizada para definir para a un cualquier host host, especifico red o subred En el caso de permitir o denegar redes o subredes enteras se deben ignorar todos los host pertenecientes a dicha dirección de red o subred. Cualquier dirección de host será leída como dirección de red o subred. Dirección IP 172 16 32 0 En binarios 10101100 00010000 00100000 00000000 11100000 00000000 Mascara de red 11111111 11111111 00011111 11111111 wildcard 00000000 00000000 Resultado Se toman en cuenta 8 bitsSe toman en cuenta 8 bitsSe toman en cuenta 3 bits se ignoran 5ignorados Las Wilcard también permiten identificar rangos simplificando la cantidad de comandos a introducir, en este ejemplo la wildcard debe identificar el rango de subredes entre la 172.16.16.0/24 y la 172.16.31.0/24 Trabaje con el 16 000 1 0000 17 000 1 0001 18 000 1 0010 tercer octeto, se debe trabajar 1 con el rango entra 16 y 31: 19 000 1 0011 20 000 1 0100 21 000 1 0101 22 000 1 0110 ... ......... 30 000 1 1110 31 000 1 1111 El bit común es el correspondiente al valor decimal16. Los bits a ignorar junto con los del cuarto octeto estarán en 1 [00001111.11111111 = 15.255], por lo tanto la Wilcard será: 172.16.16.0 0.0.15.255 Hay dos tipos generales de listas de acceso: Listas de Acceso Estándar. Comprueban únicamente las direcciones de origen de los paquetes que solicitan enrutamiento. Opera en la capa 3. Listas de Acceso Extendidas. Comprueban tanto la dirección de origen como la de destino en cada paquete. También pueden verificar protocolos específicos, números de puerto y otros parámetros. Opera en las capas 3 y 4. Las listas de acceso pueden aplicarse de las siguientes formas: Listas de Acceso de Entrada. Los paquetes entrantes son procesados antes de ser enrutados a una interfaz de salida. Resulta más eficaz dado que evita la sobrecarga asociada a las búsquedas en las tablas de enrutamiento. Listas de Acceso de Salida. Los paquetes entrantes son enrutados a la interfaz de salida y después son procesados por medio de la lista de acceso de salida antes de su transmisión. Las instrucciones de una lista de acceso operan en un orden lógico secuencial. Si la cabecera de un paquete se ajusta a una instrucción de la lista de acceso, el resto de las instrucciones de la lista serán omitidas, y el paquete será permitido o denegado. El proceso de comparación sigue hasta llegar al final de la lista, cuando el paquete será denegado implícitamente. La implicación de este modo de comportamiento es que el orden en que figuran las instrucciones en la lista de acceso es esencial. Cuando se descarta un paquete, ICMP devuelve un paquete notificando al remitente que el destino es inalcanzable. Debido a que las listas de acceso se procesan de arriba a abajo hasta que se encuentra una condición verdadera, si coloca las pruebas más restrictivas y frecuentes al comienzo de la lista, se reducirá la carga de procesamiento. 2 Hay una instrucción final que se aplica a todos los paquetes que no han pasado ninguna de las pruebas anteriores, mediante el cual todos los paquetes que no satisfacen las instrucciones de la lista de acceso son descartados. Debido a dicha condición, es necesario que en toda lista de acceso exista al menos una instrucción permit; en caso contrario, la lista bloquearía todo el tráfico. Otra solución sería finalizar el listado de acceso con una condición de permiso implícito de todo. Un listado de acceso puede asociarse a una o varias interfaces. De hecho, se puede asociar el mismo listado de acceso a una interfaz para que filtre los paquetes entrantes y a otra interfaz para que filtre los paquetes salientes. Sin embargo, sólo puede asociarse un único listado de acceso a cada interfaz, para cada protocolo. Es decir, podemos tener un listado de acceso IP y otro IPX para la misma interfaz, pero nunca dos listados de acceso IP. Utilice los números de listas de acceso dentro del rango definido por Cisco para el protocolo y el tipo de lista que va a crear. Lista de Acceso IP – Estándar IP – Extendida IP – Con nombre IPX – Estándar IPX – Extendida IPX – Filtros SAP IPX – Con nombre Rango numérico 1 a 99 100 a 199 Nombre (Cisco IOS 11.2 o posterior) 800 a 899 900 a 999 1000 a 1099 Nombre (Cisco IOS 11.2F o posterior) Construir un listado de acceso se limita a especificar un conjunto de condiciones permit y deny que forman el propio listado. Necesitará crear la lista de acceso antes de aplicarla a una interfaz. La comprensión de los comandos de configuración de listas de acceso se reduce a dos elementos generales: El comando de configuración global access-list añade condiciones a una lista de acceso. El comando de configuración de interfaz ip access-group activa una lista de acceso IP en una interfaz. Puede ser necesario probar condiciones para un grupo o rango de direcciones IP, o bien para una dirección IP individual. Por esa razón, debe haber algún método de identificar cuáles son los bits de una dirección IP dada que deben ser verificados, para lo que se utilizan máscaras comodin (wildcards), también conocidas como máscaras de subred inversas, en las direcciones de la lista de acceso. Un bit de máscara a 0 significa comprobar el valor del bit correspondiente. Un bit de máscara a 1 significa ignorar el bit correspondiente. 3 Por lo tanto, para establecer un filtro para la subred 200.90.20.0/24 utilizaremos una máscara comodín de 0.0.0.255. En caso de una dirección de nodo, utilizaremos la máscara comodín de 0.0.0.0, o la reemplazaremos por la palabra clave host. Otra condición habitual es la máscara 255.255.255.255 para indicar todo, que puede reemplazarse por la palabra clave any, como sería permit any o deny any. Conforme se vayan creando instrucciones para un determinado listado de acceso, se irán agregando al final de la lista. Puede consultar el listado de acceso ejecutando el comando show access-list [#listado]. Utilizando show access-list sin parámetros, se muestran todos los listados de acceso del router. También suele ser útil el comando show ip interface, ya que muestra información de la interfaz IP e indica si se ha configurado alguna lista de acceso para dicha interfaz, así como si se ha configurado en modo entrante o saliente. No se permite eliminar una única condición de una lista de acceso, por lo que si nos fuera necesario alterar una lista de acceso, deberíamos eliminarla y volverla a crear. En primer lugar debemos desasociar la lista de las interfaces mediante el comando de configuración de interfaz no ip access-group en la interfaz deseada. A continuación, introduzca el comando de configuración global no access-list [#listado]. La práctica recomendada consiste en crear las listas de acceso en un servidor TFTP usando un editor de texto y descargarlas después en el router vía TFTP. Como alternativa puede usar un emulador de terminal o una sesión telnet en un PC para cortar y pegar la lista de acceso en el router desde el modo de configuración. Ejemplo. Bloquear el tráfico de una red externa Config t Access-list 1 permit 172.16.0.0 0.0.255.255 Interface Ethernet 0 Ip access-group 1 out Interface Ethernet 1 Ip access-group 1 out Ejemplo. Bloquear el tráfico de un host Config t Access-list 1 deny 172.16.4.13 0.0.0.0 Access-list 1 permit 0.0.0.0 255.255.255.255 Interface Ethernet 0 Ip access-group 1 out Ejemplo. Bloquear el tráfico de una subred Config t Access-list 1 deny 172.16.4.0 0.0.0.255 4 Access-list 1 permit any Interface Ethernet 0 Ip access-group 1 out Listas de Acceso vty Las listas de acceso no bloquean los paquetes originados por el propio router. Por razones de seguridad, se puede denegar a los usuarios acceso vty al router, o bien permitir el acceso vty hacia el router, pero denegar el acceso a otros destinos desde el router. Normalmente, se establecen las mismas restricciones en todas las líneas de terminal virtual, ya que nunca se puede controlar la vty que recibirá la conexión telnet de un usuario. Utilice el comando line vty {# | rango_vty} para colocar el router en modo de configuración de línea. Utilice el comando access-class [#listado] {in | out} para enlazar una lista de acceso existente a una línea o rango de líneas de terminal. In impide que el router pueda recibir conexiones telnet desde las direcciones de origen que aparecen en el listado. Out impide que los puerto vty del router puedan iniciar conexiones telnet a las direcciones definidas en la lista de acceso estándar. Tenga en cuenta que la dirección de origen especificada en la lista de acceso estándar se considera como una dirección de origen cuando se usa access-class out. Ejemplo. Permitir establecer sesiones telnet a dispositivos 192.89.55.0 Access-list 2 permit 192.89.55.0 0.0.0.255 Line vty 0 4 Access-class 2 in Crear Listas de Acceso Extendidas La creación de listas de acceso extendidas es igual que para listas estandar, salvo la sintaxis utilizada en el comando access-list, que nos permite un mayor conjunto de posibilidades. Access-list [#listado] {permit | deny} protocolo IPorigen mascara [puerto] IPdestino máscara [puerto] [established] [log] El valor protocolo puede ser IP, TCP, UDP, ICMP, GRE, o IGRP. El valor puerto puede ser lt (menor que), gt (mayor que), eq (igual a), o neq (distinto de) y un número de puerto del protocolo. Especificar el valor log, supone que se envíe un mensaje de registro a la consola. 5 Ejemplo. Denegar tráfico FTP desde una subred a otra Access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21 Access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20 Access-list 101 permit ip any any Interface Ethernet 0 Ip access-group 101 out Listas de Acceso IP con nombre Las listas de accesso IP con nombre se identifican mediante cadenas alfanuméricas en lugar de números. Las listas de acceso con nombre no son compatibles con versiones IOS anteriores a la 11.2. Con las listas de acceso IP numeradas, el administrador que desee modificar una de estas listas tendría que borrar primero la lista de acceso numerada y volver a introducirla de nuevo con las correcciones necesarias. Las listas de acceso con nombre permiten eliminar entradas individuales, pero sin embargo no es posible insertar elementos selectivamente en la lista. Los elementos que se agreguen se colocan siempre al final. Así, las listas con nombre son útiles en los siguientes casos: Cuando se desea identificar intuitivamente una lista de acceso. Cuando se hallan utilizado todas las listas numeradas. Para crear una nueva lista de acceso con nombre, siga los siguientes pasos: 1. Entre en el modo de configuración de lista de acceso, con el siguiente comando: Ip access-list {standard | Extended} nombre 2. En el modo de configuración de listas de acceso, teclee las condiciones que desee mediante los comando permit y deny. Para eliminar una instrucción individual, anteponga la palabra no a la instrucción permit o deny. 3. Aplique la lista de acceso a una interfaz, mediante el comando ip access-group nombre {in | out}. Ejemplo. Denegar el tráfico telnet desde una subred específica Ip access-list extended screen Deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 23 Permit ip any any Interface Ethernet 0 Ip access-group screen out Crear Listados de Acceso IPX Estándar Los listados de acceso básico IPX pueden aceptar o rechazar paquetes de acuerdo con las direcciones IPX de origen y de destino, numerándose del 800 al 899. El comando utilizado para construir los listados 6 de acceso IPX es access-list [#listado] [permit|deny] [RedOrigen] [RedDestino], pudiendo utilizar el valor –1 para hacer referencia a todas las redes IPX. Un ejemplo, podría ser el siguiente: 1. Config terminal 2. Access-list 800 deny 763B20F3 02B2F4 3. Access-list 800 permit –1 –1 4. Int e0 5. Ipx access-group 800 in Crear Listados de Acceso IPX Extendidos Las listas de acceso IPX extendidas usan números en el rango de 900 a 999, e incorporan verificación de protocolo, así como las direcciones de origen y destino y números de toma. Para definir una lista de acceso IPX extendida, se utiliza la versión ampliada del comando de configuración global access-list, cuya sintaxis es la siguiente: Access-list [#listado] {deny | permit} protocolo [redOrigen][.Nodo] [Máscara] [TomaOrigen] [redDestino][.Nodo] [Máscara] [TomaDestino] [log] Verificación/Visualización de listas de acceso IPX Utilice el comando show ipx interface para verificar si una lista de acceso ipx está aplicada a una interfaz. Utilice el comando show ipx access-list para mostrar el contenido de las listas de acceso IPX. Crear Listados de Acceso AppleTalk Estándar Los listados de acceso básico AppleTalk pueden aceptar o rechazar paquetes de acuerdo con los rangos de cable o bien los nombres de zona, numerándose del 600 al 699. El uso de nombres de zona es una buena forma de identificar partes de la red AppleTalk, ya que las zonas a menudo pueden incluir más de un rango de cable. Un ejemplo sería el siguiente. 1. Config terminal 2. Access-list 600 deny zone ZoneA 3. Access-list 600 permit additional-zones 4. Interface e0 5. Appletalk access-group 600 Podemos mostrar o eliminar un listado IPX existente, de la misma forma que lo haríamos con un listado IP 7