ACL -LISTAS DE ACCESO-Una Lista de Control de Acceso o ACL (del ingls, Access Control List)
es un concepto de seguridad informtica usado para fomentar la separacin de privilegios. Es una
forma de determinar los permisos de acceso apropiados a un determinado objeto, dependiendo de ciertos aspectos del proceso que hace el pedido. Las ACLs permiten controlar el flujo del trfico en equipos de redes, tales como routers y switches. Su principal objetivo es filtrar trfico, permitiendo o denegando el trfico de red de acuerdo a alguna condicin. Sin embargo, tambin tienen usos adicionales, como por ejemplo, distinguir "trfico interesante" (trfico suficientemente importante como para activar o mantener una conexin) en ISDN. Los administradores de red deben buscar maneras de impedir el acceso no autorizado a la red, permitiendo al mismo tiempo el acceso de los usuarios internos a los servicios requeridos. Aunque las herramientas de seguridad, como por ejemplo: las contraseas, equipos de callback y dispositivos de seguridad fsica, son de ayuda, a menudo carecen de la flexibilidad del filtrado bsico de trfico y de los controles especficos que la mayora de los administradores prefieren. Por ejemplo, un administrador de red puede permitir que los usuarios tengan acceso a Internet, pero impedir a los usuarios externos el acceso telnet a la LAN. Las ACL se definen segn el protocolo, la direccin o el puerto. Para controlar el flujo de trfico en una interfaz, se debe definir una ACL para cada protocolo habilitado en la interfaz. Las ACL controlan el trfico en una direccin por vez, en una interfaz. Se necesita crear una ACL por separado para cada direccin, una para el trfico entrante y otra para el saliente. Finalmente, cada interfaz puede contar con varios protocolos y direcciones definidas. Si el router tiene dos interfaces configuradas para IP, AppleTalk e IPX, se necesitan 12 ACLs separadas. Una ACL por cada protocolo, multiplicada por dos por direccin entrante y saliente, multiplicada por dos por el nmero de puertos.(Ver figura). Una access list es una lista secuencial de filtros, cada uno define un conjunto de criterio y una accin Razones para crear una ACL. Limitar el trfico de red y mejorar el rendimiento de la red. Al restringir el trfico de video, por ejemplo, las ACL pueden reducir ampliamente la carga de la red y en consecuencia mejorar el rendimiento de la misma. Brindar control de flujo de trfico. Las ACL pueden restringir el envo de las actualizaciones de enrutamiento. Si no se necesitan actualizaciones debido a las condiciones de la red, se preserva el ancho de banda. Proporcionar un nivel bsico de seguridad para el acceso a la red. Por ejemplo, las ACL pueden permitir que un host acceda a una parte de la red y evitar que otro acceda a la misma rea. Por ejemplo, al Host A se le permite el acceso a la red de Recursos Humanos, y al Host B se le niega el acceso a dicha red. Se debe decidir qu tipos de trfico se envan o bloquean en las interfaces del router. Permitir que se enrute el trfico de correo electrnico, pero bloquear todo el trfico de telnet. Permitir que un administrador controle a cules reas de la red puede acceder un cliente. Analizar ciertos hosts para permitir o denegar acceso a partes de una red. Otorgar o denegar permiso a los usuarios para acceder a ciertos tipos de archivos, tales como FTP o HTTP. Si las ACL no estn configuradas en el router, todos los paquetes que pasen a travs del router tendrn acceso a todas las partes de la red. Funcionamiento de las ACL El orden en el que se ubican las sentencias de la ACL es importante (Ver figura 9.3). El software Cisco IOS verifica si los paquetes cumplen cada sentencia de condicin, en orden, desde la parte superior de la lista hacia abajo. Una vez que se encuentra una coincidencia, se lleva a cabo la accin de aceptar o rechazar y no se verifican otras sentencias ACL. Si una sentencia de condicin que permite todo el trfico est ubicada en la parte superior de la lista, no se verifica ninguna sentencia que est por debajo. Si se requieren ms cantidad de sentencias de condicin en una lista de acceso, se debe borrar y volver a crear toda la ACL con las nuevas sentencias de condicin. Las access list son usadas como filtros de seguridad, como filtros de trfico, y para identificacin de paquetes A medida que una trama ingresa a una interfaz, el router verifica si la direccin de Capa 2 concuerda o si es una trama de broadcast. Si se acepta la direccin de la trama, la informacin de la trama se elimina y el router busca una ACL en la interfaz entrante. Si existe una ACL, entonces se verifica si el paquete cumple o no las condiciones de la lista. Si el paquete cumple las condiciones, se lleva a cabo la accin de aceptar o rechazar el paquete. Si se acepta el paquete en la interfaz, se lo compara con las entradas de la tabla de enrutamiento para determinar la interfaz destino y conmutarlo a aquella interfaz. A continuacin, el router verifica si la interfaz destino tiene una ACL. Si existe una ACL, se compara el paquete con las sentencias de la lista y si el paquete concuerda con una sentencia, se lleva a cabo la aceptacin o el rechazo del paquete. Si no hay ACL o se acepta el paquete, el paquete se encapsula en el nuevo protocolo de Capa 2 y se enva por la interfaz hacia el dispositivo siguiente. (Ver figura 9.4) Si la capa de un filtro individual de una access list no es configurada en la secuencia correcta, la access list no funcionar correctamente. A manera de revisin, las sentencias de la ACL operan en orden secuencial lgico. Si se cumple una condicin, el paquete se permite o deniega, y el resto de las sentencias de la ACL no se verifican. Si todas las sentencias ACL no tienen coincidencias, se coloca una sentencia implcita que dice deny any (denegar cualquiera) en el extremo de la lista por defecto. Reglas para aplicar y crear una ACL. Una lista de acceso por protocolo y por direccin. El filtro de paquetes entrantes es invocado antes del proceso de enrutamiento, mientras que el filtro de paquetes salientes es invocado despus del proceso de enrutamiento Se deben aplicar las listas de acceso estndar que se encuentran lo ms cerca posible del destino a restringir. (Ver figura (a)) Se deben aplicar las listas de acceso extendidas que se encuentran lo ms cerca posible del origen a restringir. (Ver figura (a)) Los filtros que usan una access list estandar generalmente deben estar en el lugar cerca del destino (a), mientras que una access list extendida puede estar lo mas cerca del origen. Utilice la referencia de la interfaz entrante y saliente como si estuviera mirando el puerto desde adentro del router.
Las sentencias se procesan de forma secuencial desde el principio de la lista hasta el final hasta que se encuentre una concordancia, si no se encuentra ninguna, se rechaza el paquete. Hay un deny any (denegar cualquiera) implcito al final de todas las listas de acceso. Esto no aparece en la lista de configuracin.(Ver figura siguiente) Todas las access list finalizan con un deny any implcito, el cual descarta todos los paquetes que no corresponde con la lnea de la lista. Las entradas de la lista de acceso deben realizar un filtro desde lo particular a lo general. Primero se deben denegar hosts especfico y por ltimo los grupos o filtros generales.
Primero se examina la condicin de concordancia. El permiso o rechazo se examina SLO si la concordancia es cierta. Nunca trabaje con una lista de acceso que se utiliza de forma activa. Utilice el editor de texto para crear comentarios que describan la lgica, luego complete las sentencias que realizan esa lgica. Siempre, las lneas nuevas se agregan al final de la lista de acceso. El comando no access-list x elimina toda la lista. No es posible agregar y quitar lneas de manera selectiva en las ACL numeradas. Una lista de acceso IP enva un mensaje ICMP llamado de host fuera de alcance al emisor del paquete rechazado y descarta el paquete en la papelera de bits. Se debe tener cuidado cuando se descarta una lista de acceso. Si la lista de acceso se aplica a una interfaz de produccin y se la elimina, segn sea la versin de IOS, puede haber una deny any (denegar cualquiera) por defecto aplicada a la interfaz, y se detiene todo el trfico. Los filtros salientes no afectan al trfico que se origina en el router local. Tipos de ACL. ACL Estndar. Las ACL estndar verifican la direccin origen de los paquetes IP que se deben enrutar. Con la comparacin se permite o rechaza el acceso a todo un conjunto de protocolos, segn las direcciones de red, subred y host. Por ejemplo, se verifican los paquetes que vienen en Fa0/0 para establecer la direccin origen y el protocolo. Si se les otorga el permiso, los paquetes se enrutan a travs del router hacia una interfaz de salida. Si se les niega el permiso, se los descarta en la interfaz entrante. ACL Extendidas. Las ACL extendidas se utilizan con ms frecuencia que las ACL estndar porque ofrecen un mayor control. Las ACL extendidas verifican las direcciones de paquetes de origen y destino, y tambin los protocolos y nmeros de puerto. Esto ofrece mayor flexibilidad para establecer qu verifica la ACL. Se puede permitir o rechazar el acceso de los paquetes segn el lugar donde se origin el paquete y su destino as como el tipo de protocolo y direcciones de puerto. Una ACL extendida puede permitir el trfico de correo electrnico de Fa0/0 a destinos especficos S0/0, al mismo tiempo que deniega la transferencia de archivos y la navegacin en la red. Una vez descartados los paquetes, algunos protocolos devuelven un paquete al emisor, indicando que el destino era inalcanzable. Al final de la sentencia de la ACL extendida, se obtiene ms precisin con un campo que especifica el Protocolo para el control de la transmisin (TCP) o el nmero de puerto del Protocolo de datagrama del usuario (UDP). Los nmeros de Puerto conocidos parar TCP/IP se muestran en la Figura. Las operaciones lgicas pueden especificarse como igual (eq), desigual (neq), mayor a (gt) y menor a (lt) aqullas que efectuarn las ACL extendidas en protocolos especficos. Las ACL extendidas utilizan el nmero de lista de acceso entre 100 y 199 (tambin entre 2000 y 2699 en IOS recientes). Flujo de decisin de una access list extendida. Colocacin Deben colocarse donde tengan mayor impacto en el incremento de la eficacia de la red. Las extendidas se colocarn tan cerca del trfico denegado como sea posible. Las estndar se colocarn tan cerca del destino como sea posible Sintaxis de la listas de acceso. Sintaxis de las listas de acceso estndar (Standar ACLs): access-list nmero_identificador [permit|deny] condicin Sintaxis de las listas de acceso extendidas (extended ACLs): Para el protocolo IP: access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log | log-input] [time-range time-range-name] Para el protocolo ICMP: access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} icmp source source-wildcard destination destination-wildcard [icmp-type | [[icmp-type icmp-code] | [icmp-message]] [precedenceprecedence] [tos tos] [log | log-input] [time-range time-range-name] Para el protocolo TCP: access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} tcp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]] [established] [precedence precedence] [tos tos] [log | log-input] [time-range time-range-name] Para el protocolo UDP: access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} udp source source-wildcard [operator [port]] destination destination wildcard [operator [port]] [precedence precedence] [tos tos] [log | log-input] [time-range time-range-name] 9.6.3. Aplicar una access list a una interfaz interface tipo_de_interfaz # ip access-group nmero [in | out] El comando ip access-group usa una access list especfica al crear un filtro sobre una interfaz para uno u otro entrada o salida de paquetes. La access list 110 es usada por el filtro de entrada de paquete sobre la interfaz token ring. La access list 111 es usada en el filtro de paquetes de salida sobre la misma interfaz. Mascara Wildcard. Una mascara wildcard es sencillamente una agrupacin de 32 bits dividida en cuatro bloques de ocho bits cada uno (octetos). La apariencia de una mascara wildcard le recordara probablemente a una mascara de subred. Pero no existe relacin. Las mascaras wildcard se emplean junto con un valor IP para seleccionar direcciones IP, esto es as gracias a que la mascara wildcard indica con sus ceros y sus unos qu bits han de compararse o no. Un cero indica que el bit ha de compararse y un uno indica que se ignore. Por lo general las mascaras wildcard se utilizan en el protocolo de enrutamiento OSPF y en el calculo de las Listas de Acceso (ACL) para especificar que redes/subredes/host intervienen en las ACLs. Por ejemplo, suponga que empleamos la IP 192.168.1.0 junto con la mscara wildcard 0.0.0.255 para seleccionar direcciones IP. Los ceros nos estn diciendo que debemos comparar los valores de los tres primeros octetos y los unos del cuarto octeto nos dice que da igual que valor tenga dicho octeto. Por tanto, quedarn seleccionados valores como: 192.168.1.1 192.168.1.23 192.168.1.145 Y se quedarn descartadas IP como: 192.168.2.145 100.168.1.0 192.167.1.76 Es decir, con la mscara wildcard 0.0.0.255 todas las IPs que se seleccionen debern tener los tres primeros octetos de la forma 192.168.1, en tanto que le cuarto octeto, como queda oculto por los unos de las mscara, puede tomar cualquier valor. Suponga que tenemos la mascara wildcard 0.0.255.255 y la IP 10.1.0.0, qu valores de la siguiente lista se seleccionarn? 10.1.1.1 10.2.1.1 20.1.0.1 10.1.255.255 10.10.0.1 10.1.20.2 11.1.3.2 100.1.0.0 10.10.1.1 10.3.0.1 En efecto, las IPs seleccionadas son: 10.1.1.1 10.1.255.255 10.1.20.2 Las IPs seleccionadas debern tener los dos primeros octetos de la forma 10.1, mientras que no importa qu valores ocupen las posiciones de los octetos tercero y cuarto. Sin embargo, no todas las mscaras wildcard se interpretan tan rpidamente. Hasta ahora hemos visto ejemplos en los que los octetos o bien tenan todos sus bits a cero o bien a uno. Supongamos ahora una mscara wildcard de la forma 0.0.0.15 asociada con la IP 192.168.1.48, qu IPs quedarn seleccionadas? Es fcil ver que los tre primeros octetos habrn de ser de la forma 192.168.1. Respecto al cuarto octeto de la mscara wildcard observe que su expresin binaria es: 0000 1111 Es decir, no debemos tener en cuenta el valor de los ltimos cuatros bits a la hora de compararlo con el nmero 48, que en binario se escribe como: 0011 0000 Analicemos, por ejemplo, si la IP 192.168.1.51 es seleccionada. Observe que 51 se escribe como: 0011 0011 Al aplicar la mscara wildcard, ignoramos el valor de los ltimos cuatros bits: 0011 0011 Fjese que al ignorar el valor de estos bits el nmero resultante es 48 y por tanto la IP s es seleccionada. Es fcil ver la lista de valores que sern seleccionados, basta con calcular el valor de las combinaciones de la 0011 0000 Hasta la 0011 1111 Es decir, des la IP 192.168.1.48 hasta la 192.168.1.63. en resumen, la IP 192.168.1.48 con mscara wildcard 0.0.0.15 selecciona un rango de direcciones IP. Una aplicacin fundamental de la mscara wildacard es en el uso al redactar ACL. Las ACL son filtros de paquetes IP y permite aceptar o descartar paquetes en funcin de la IP de origen (ACL estndar) o bien en funcin de la IP de origen, IP destino y protocolo (tcp, udp, icm,) (ACL extendidas). Como ha visto por los ejemplos anteriores, las mscaras wildacard nos van a permitir seleccionar rangos IPs. Aplicando mscaras wildcard. Ejemplo 1. Dada la siguiente IP y mscara wildcard IP 202 20 0 0 Mscara Wildcard 0 0 255 255