You are on page 1of 30

ACLs

Redes II
Trabajo conceptual y prctico sobre ACL.

PROF. Marvin Milln

INTEGRANTES: RONDON, Luisana PERRONI, Kevin ROMERO, Ruth GARRIDO, Diego

Puerto Ordaz, 26 de Abril del 2011

INDICE Pag. INTRODUCCION. ACL Definicin Para que sirven las ACLs en cisco. Como es una ACL. Como aplicar las ACLs. Tipos de ACLs Estndar.. Extendidas Complejas. Dinmica Reflexivas.. Basadas en fechas/horarios. Nombras. Topologa de ejemplos. Otros usos de las ACLs Condiciones para instalar ACL Creacin e Implementacin. Sintaxis de ACLs.. CONCLUSION.. ANEXO 3 4 4 4 5 7 8 8 10 12 13 14 15 16 16 20 21 21 24 26 27

Introduccin Las listas son secuencias de sentencia de permiso o de negacin, que se aplican a los paquetes que atraviesan dicha interfaz, en el sentido indicado con riguoso orden segn hayan sido declaradas. Cualquier trafico que pasa por la interfaz debe cumplir ciertas condiciones que forman parte de la ACL. Se pueden configurar las ACL para todos los protocolos de red enrutado. Un router acta como filtro de paquetes cuando reenvia o deniega paquetes segn segn las reglas de filtrado. Cuando un paquete llega al router de filtrado de paquetes, este extrae determinada informacin del encabezado del paquete y toma decisiones segn las reglas del filtrado, ya sea autorizar el ingreso del paquete o descartarlo. El filtrado de paquetes acta en la capa de red del modelo OSI Como dispositivo de Capa 3, un router de filtrado de paquetes utiliza reglas para determinar la autorizacin o denegacin del trfico segn: Las direcciones IP de origen y de destino. Los puertos TCP/UDP de origen y destino. El protocolo del paquete. Estas reglas se definen mediante las listas de control de acceso o ACL, que se estarn detallando.

ACL

Definicin ACL, ste es una sigla que traduce lista de control de acceso -Access Control Lists en ingls- y es un mtodo popular en redes para controlar qu nodos de la red tienen qu permisos sobre el sistema que implementa las ACLs. En Cisco, las ACLs son un mecanismo genrico para clasificar conjuntos de direcciones o flujos de datos, porque las ACLs en CCNA se ven como un mecanismo de seguridad, pero se dan visos de lo que realmente son: un mecanismo para clasificar direcciones y flujos de datos. Un sistema de red, como Squid por ejemplo, es un sistema que hace algo con el trfico que entra y sale de l. Las ACLs interceptan el trfico y, para cada paquete, se comparan sus valores particulares con valores predefinidos por el administrador en la Lista y, con base en ese condicionamiento, se le aplica a los paquetes alguna accin segn lo que quiera el administrador que suceda. La dinmica compleja de las ACLs es el hecho de imaginar un slo paquete y llevarlo a una secuencia de paquetes mezclada. El hecho es que cuando en una ACL especificamos los valores que se quiere comparar, realmente se estara aplicando eso a cada paquete dentro de un flujo particular de paquetes, as para disearla se tendr en cuenta un paquete.

Para qu sirven las ACLs en Cisco? En el currculo de CCNA, las ACLs se usan para aplicar una poltica de seguridad que permite o niega el acceso de cierta parte de la red a otra. La granularidad de las ACLs permite que estas partes sean o bien PC especficos o partes de una subred arbitrariamente, es decir, permite que se conceda o niegue el acceso desde un nico PC hasta otro, de un segmento de red a otro o cualquier combinacin que se quiera.

En Cisco en general, las ACLs sirven para clasificar conjuntos de direcciones, por ejemplo una subred o una parte de una subred. Pero ms all de eso la palabra importante es arbitrariamente, porque las reglas de ACLs permiten cosas tan particulares como seleccionar los PCs que tengan direcciones IP con el ltimo octeto en nmero impar (sin importar a qu subredes pertenecen). sta caracterstica hace que Cisco utilice ACLsen cualquier parte en la que se deba especificar un conjunto de direcciones o un flujo de datos, por ejemplo, en NAT se especifican las direcciones privadas o internas creando una ACL que permite las direcciones a traducir. Si se quiere filtrar o alterar la forma en que un protocolo de enrutamiento arma sus actualizaciones se usan listas de acceso (route-map) , si se quiere alterar la forma en que trabaja la tabla de enrutamiento se usan listas de acceso (policy-basedrouting), si se quiere especificar qu direcciones pasan por una VPN se usan ACLs, etc. (IPSec). Como se ve, las ACLs son mucho ms que un mecanismo de seguridad y por eso es un tema muy importante si se quiere hacer carrera en las certificaciones de Cisco o tener un buen desempeo en enrutamiento y conmutacin Cisco.

Cmo es una ACL? Las ACLs, son la especificacin de una accin a realizar sobre paquetes que cumplan ciertas condiciones. Una ACL es un conjunto de reglas identificadas con un nmero o un nombre y cada regla especifica una accin y una condicin, las acciones a aplicar son permitir o denegar todos los paquetes que cumplan la condicin asociada a la regla. Una ACL se identifica con un nmero o un nombre y todas las reglas que tengan el mismo nmero/nombre hacen parte de la ACL, stos identificadores suelen indicar tambin qu tanta expresividad tendr la ACL, es decir, qu tan especficas pueden ser las reglas. Un ejemplo de cmo es conceptualmente una ACL es as

Lista-de-acceso X ACCION1 CONDICION1 Lista-de-acceso X ACCION2 CONDICION2 Lista-de-acceso X ACCION3 CONDICION3

La X es el nombre o nmero que identifica la ACL, por lo tanto todas las reglas anteriores componen la ACL X, una sola ACL. Si cierto paquete cumple la condicin1 se le aplica la Accin1, si un paquete cumple la condicin 2 se le aplica la accin 2 y as sucesivamente. Las acciones son slo permitir o denegar y las condiciones dependen del tipo de ACL, las ms simples, las estndar especifican valores para comparar con la direccin IP origen de cada paquete, en las ms expresivas, llamadas extendidas, las condiciones permiten especificar valores para comparar tanto con la direccin IP origen como con la IP destino e incluso protocolos de capa 4 y parmetros de capa 4 como puertos y banderas de la conexin TCP. La lgica de funcionamiento de las ACLs es que una vez que se cumpla una condicin, se aplica su accin correspondiente y no se examinan ms reglas de la ACL. sto para disminur la cantidad de procesamiento del enrutador, pero tambin tiene una consecuencia, si una regla abarca un conjunto de direcciones y otra un subconjunto del primero, la regla de subconjunto debe estar antes de la regla del conjunto completo. Por ejemplo, se especifico en una regla denegar el acceso a un host de cierta subred y en otra permitir toda la subred, la ACL permite el acceso a todos los hosts de la subred X menos al host Y. Si la ACL se escribe con la regla de la subred antes que la regla del host, la ACL permitira incluso al host, porque la regla de host cumplira tambin la regla de la subred y la regla del host nunca se examinara. En otras palabras, las reglas ms especficas deben estar al principio de la ACL para evitar que las reglas generales se apliquen siempre y nunca se examinen las especficas. Finalmente todas las ACLsterminan, implcitamente, con una regla No permitir nada ms. Condicin = ValorDeReferenciaBitsAComparar, donde ValorDeReferencia tiene el formato de direccin IP y BitsAComparar es una mscara wildcard. La condicin entonces es un valor que el administrador va a escribir arbitrariamente con el fin de aplicar la accin a los paquetes que la cumplan. La condicin en ACLs estndar consiste en una direccin de referencia y una mscara wildcardque indica qu bits de la direccin origen de los paquetes comparar con la direccin de referencia que indic el administrador. Por ejemplo: si en la red se tiene una subred de direccin 192.168.1.0/26, para indicar el trfico que provenga de todos los hosts de esa subred se escribira la condicin 192.168.1.0 0.0.0.63, la direccin es una direccin de referencia y no se puede entender sin la wildcard porque sta dice qu bits se van a

comparar. Cada bit en cero en la WC hace comparar el bit correspondiente en ladir.IP origen de los paquetes interceptados con la direccin de referencia escrita por el administrador. Si se quisiera aplicar una accin slo a los hosts de direccin impar de esta misma subred se escribira la condicin 192.168.1.1 0.0.0.62, note que traduciendo el ltimo octeto de la WC a binario 62 = 01111110, el cero al final le indica al enrutador que compare el ltimo bit de la direccin de referencia con el ltimo bit de cada paquete interceptado, por lo tanto, como se sabe que todo nmero impar en binario tiene que tener el ltimo bit en 1, la condicin se cumple para cada paquete que tenga los primeros 3 octetos y el ltimo bit iguales a la direccin de referencia, es decir, toda direccin IP de la forma 192.168.1.[impar], con el ltimo octeto en binario as 0 X XXXXX 1, donde X es un bit cualquiera, porque un 1 en la WC significa no comparar el bit con la direccin de referencia. Si no lo comprende, traduzca los nmeros impares menores que 63 a binario y ver el patrn. Por ejemplo 9 = 00001001, una direccin 192.168.1.9 cumple la condicin pero 192.168.1.8 no la cumple, porque 8 = 00001000 y el ltimo bit no es 1, no todos los bits de la direccin IP origen de ste paquete particular coinciden con la direccin de referencia, el ltimo no coincide. Note tambin que si yo pusiera una condicin 0.0.0.1 255.255.255.254, eso significara que sin importar la red de la que provenga el paquete (la WC indica no comparar los primeros 31 bits, o en otras palabras, no importa qu tenga ni la direccin de referencia ni la direccin origen de los paquetes en los primeros 31 bits), la accin se aplicara a los paquetes cuyo origen sea una direccin impar (las que tienen el ltimo bit en 1).

Cmo aplicar las ACL? Finalmente, dado que se entiende la lgica fundamental de las ACLs, se debe mirar un ltimo aspecto conceptual: cmo se aplican?. La idea es que el trfico de red circula en dos sentidos y en ambos sentidos los patrones de direccin IP origen y destino se intercambian, por lo tanto y como las ACLs se aplican a una interfaz en particular, es necesario tener en cuenta en qu sentido se aplica, porque en un sentido las reglas aplican y en otro sentido no aplicarn porque las direcciones origen no sern las mimas. Es decir, si dos PCs estn transfiriendo un archivo, hay dos flujos de datos, uno del PC1

al PC2 en el que la direccin IP origen de todos los paquetes en ese sentido tienen la direccin Ip del PC1 pero el trfico de retorno tendr como direccin IP origen la del PC2. Lo anterior nos indica que si diseamos una ACL que en una de sus reglas aplica una accin a la direccin del PC1, hay que aplicarla en una interfaz en el sentido en el que ese flujo de datos provenga del PC1. El sentido del flujo se entiende como de entrada o salida del enrutador por la interfaz, es decir, si el trfico sale del enrutador por la interfaz especfica o el trfico entra al enrutador por esa interfaz. Supongamos que el PC1 tiene la direccin 172.17.20.20/24, el PC2 tiene la direccin 192.168.200.200/24 y nuestro enrutador es el Gateway del PC1 por la interfaz Fastethernet 0/0. Si el flujo de datos hacia el PC2, sale por una interfaz serial digamos la serial 0/0, en qu interfaz y en qu sentido los paquetes de este flujo tienen como direccin IP origen la direccin IP del PC1? Si la ACL va a ser aplicada en la Fa 0/0, el flujo de datos de PC1 a PC2 entrando a Fa 0/0 tiene como direccin origen PC1, en la direccin de salida el origen es PC2 y la regla no aplicara. En la interfaz serial, el flujo de datos entrante tendra como origen PC2 y de salida tendra como origen PC1. Dado lo anterior, si yo diseo una ACL con una regla que diga permitir 172.17.20.20 0.0.0.0, sta regla slo encontrara paquetes coincidentes en la interfaz fa 0/0 si la aplico de entrada y en la interfaz serial 0/0 si la aplico de salida.

ACL estndar Dentro de las ACL ms comunes estn las ACL estndar y las ACL extendidas, diferenciadas entre s por su granularidad: las extendidas permiten ms detalles de filtrado, ambos tipos de listas se pueden numerar o nombrar. Dentro de las menos comunes estn las que CCNA Exploration llama complejas: ligadas a rangos de tiempo, reflexivas y dinmicas. Las ms simples en todo sentido son las ACLs estndar, que permiten defnir trfico con base en las direcciones IP de origen de los paquetes que correspondan con las reglas de la ACL. Las ACL estndar entonces especifican un slo par direccin de

referencia/wildcard contra el que se comparan todos los paquetes que entren o salgan de la interfaz en la que se instale la ACL, en otras palabras, una ACL estndar filtra trfico

con base en la direccin IP origen de los paquetes. Estas ACL se crean en modo de configuracin global con el comando access-listseguido de un nmero de 1 a 99 o de 1300 a 1999, stos rangos identifican que el tipo de ACL es estndar, otros rangos identifican ACLs extendidas (100 a 199 y 2000 a 2699). Cada regla debe tener el mismo nmero para pertenecer a la misma ACL, si el nmero cambia, la regla en particular pertenecer a otra ACL. Luego de Access-list<nmero>sigue la accin a ejecutar (permito deny) y finalmente la condicin que deben cumplir los paquetes para aplicarles la accin o continuar examinando ms reglas. Las ACL estndar usan un slo par direccin/wildcard para especificar la condicin que deben cumplir los paquetes para que se les aplique la accin permito deny. La condicin examina la direccin IP origen de cada paquete y la compara con el par direccin/wildcard pero slo en los bits en los que la wildcard tenga ceros.

Cmo se configuran ACL estndar? Los pasos generales para configurar ACLs son 3: 1. Crear la ACL en modo de configuracin global 2. Aplicar la ACL en una interfaz indicando la direccin del trfico al que se le va a aplicar 3. Verificar su funcionamiento La creacin de la ACL consiste en crear una secuencia de reglas con un mismo identificador, cuyo orden filtre el trfico segn los objetivos. Cada regla tiene la forma access-list<n>[ permit | deny ] <referencia1><wildcard1>, donde n es el nmero que identifica la ACL (0 a 99 1300 a 1999 para ACLs estndar) y referenciaN/wildcardN son los pares con los que se compararn los paquetes para aplicarles la accin . Entonces una ACL tiene la forma:

access-list <n> permit <referencia1><wildcard1> access-list <n> deny <referencia2><wildcard2> Como todas las reglas coinciden en el nmero (n), la ACL est compuesta por

todas las reglas listadas. Para simplificar, puse permit y deny pero en las reglas se puede

elegir cualquiera de las dos segn los objetivos perseguidos. Todas las ACLs terminan implcitamente en una regla denyany, es decir, al final de la lista, cualquier paquete que no haya correspondido con ninguna regla se va a descartar por defecto. Para aplicar una ACL, sta ya debe estar creada. Las listas de acceso se aplican en una interfaz, por lo tanto hay que ingresar en modo de interfaz y el comando tiene la forma ipaccess-group<n> [in | out] donde n es el nmero comn a todas las reglas de la ACL y las palabras in/out indican en qu sentido se aplicarn las reglas y sto tiene importantes implicaciones: el trfico en una direccin tiene ciertas direcciones IP origen pero en la otra direccin stas mismas direcciones sern IP destino.

interface serial 0/0 ip access-group <n> [in|out] Finalmente verificar la ACL se hace con varios comandos, uno es show access-list,

que muestra todas las listas de acceso activas y cuntos paquetes han correspondido (match) con cada regla. El comando que muestra si una interfaz tiene una ACL aplicada y en qu direccin es show ip interface, este comando muestra mucha informacin, por la mitad de toda esa informacin dice inbound ACLOutbound ACL.

show access-list show ip interface serial 0/0

ACLs extendidas A diferencia de lo que sucede con la ACL estndar, las extendidas permiten especificar hacia dnde se dirige el trfico y con sta caracterstica, yo puedo bloquear o permitir un trfico mucho ms especfico: slo trfico que proviene del host pero se dirige a una red en particular o a otro host en particular o slo el trfico de una red que se dirige a otra red en particular. El truco se logra con el hecho de permitir comparar las direcciones destino de los paquetes contra la acl, no slo las direcciones origen. Dentro de lo que hemos venido manejando, hablamos que una acl est compuesta por un conjunto de reglas todas con el mismo identificador, que cada regla era una lnea compuesta por una accin y una condicin que el paquete debe cumplir para aplicarle la

10

accin (permitir o denegar). Las condiciones en las aclestandar estn compuestas por una direccin de referencia y una wildcard que dice qu bits de la direccin origen de los paquetes se deben comparar con la direccin de referencia, en las acls extendidas se especifica dos pares de direcciones de referencia/wildcard, un par para la direccin origen de los paquetes y otro par para la direccin destino de los mismos. Vamos a extender el ejemplo que venimos usando y usar sta idea de filtrado ms granular. El requisito dado es permitir un host de una red, el resto de la red la vamos a bloquear y cualquier otra red la vamos a permitir. Para extender el ejemplo digamos que queremos permitir el trfico del host, excepto lo que vaya a un host particular, digamos el 172.16.1.1, y que de la red completa queremos permitir lo que vaya a un servidor en especial de la empresa, digamos el 192.168.2.1. Las reglas de la aclestandar nos sirven de inicio, como de costumbre lo ms especfico lo vamos a poner de primero en la regla para evitar que las reglas ms generales incluyan a las particulares.

access-list 100 denyip 192.168.1.1 0.0.0.0 172.16.1.1 0.0.0.0 access-list 100 permitip 192.168.1.1 0.0.0.0 0.0.0.0 255.255.255.255 access-list 100 permitip 192.168.1.0 0.0.0.63 192.168.2.1 0.0.0.0 access-list 100 denyip 192.168.1.0 0.0.0.63 0.0.0.0 255.255.255.255 access-list 100 permit ip any any En sta lista observamos varias cosas nuevas: ip, las acl extendidas no slo

permiten especificar las direcciones origen y destino sino discriminar por protocolos e incluso por parmetros particulares de cada protocolo pero eso lo veremos luego, por lo pronto lo importante es que ipindica que todos los protocolos que se encapsulan dentro de ip sern afectados por sta lista de acceso. En este caso, la palabra ippara los protocolos es similar a anyen las direcciones, casi todo se encapsula en ip por lo tanto especificar ip es como especificar cualquier protocolo (de capa 4 en adelante). En vez de ipse puede poner un protocolo equivalente o de capa 4, por ejemplo se puede filtrar icmp, tcp o udp, cambiando la palabra ippor stas ltimas. Otra cosa importante y nueva es un segundo par de direccin de

referencia/mscara wildcard, ste segundo par compara la direccin destino de los paquetes con la direccin de la regla. Para las acls extendidas, el paquete debe coincidir tanto en la direccin origen como en la destino.

11

Finalmente,

la

direccin

de

referencia

0.0.0.0

con

mscara

wildcard255.255.255.255. Como esta mscara es todo unos, eso significa que ningn bit del paquete se compara con la direccin de referencia, es decir, no importa qu escriba en la direccin de referencia cualquier destino coincide. Esta mscara es lo mismo que any, debido a que la mscara es equivalente a cualquier direccin y puede usarse tanto para el origen como para el destino. Explicacin de la ACL La primera regla aplica denyslo si el paquete tiene como origen la direccin 192.168.1.1 y direccin destino 172.16.1.1, por lo tanto slo el trfico especfico de entre esos host se deniega, la segunda regla permite el resto del trfico del host hacia cualquier destino. La tercera regla permite el trfico de la red 192.168.1.0/26 hacia el host 192.168.2.1. La 4a regla complementa a la anterior y niega todo el trfico de la red, como sta regla general esta despus de la especfica, el trfico comparado con sta regla ya no coincidi con el trfico dirigido al servidor, que es una condicin ms especfica dentro de la misma red. Finalmente cualquier trfico que no coincida con las reglas anteriores se permite sin importar de dnde provenga y hacia dnde vaya

ACL complejas CCNA Exploration varios tipos de ACLs no vistos en las versiones anteriores del currculo, las denomina ACLs complejas. La idea de las ACLs complejas es complementar lo que ya sabemos sobre ACLs estndar y extendidas con comportamientos que las hacen tiles en contextos ms interesantes. Para comprender correctamente el tema de las ACL complejas debe entender bien todo lo relacionado con ACLs. Dentro de las ACLs complejas tenemos 3 tipos: dinmicas, reflexivas y basadas en tiempo pero en el currculo oficial no se ven muy a fondo ni se dan mayores ejemplos. A continuacin les describo cada una de ellas y al final de la entrada describo las acl nombradas son un tipo de acl que facilita la configuracin y administracin de ACLs.

12

ACLs dinmicas stas usan un mecanismo bsico de autenticacin, generalmente Telnet, para activar la ACL, lo que permite usar una ACL como mecanismo de autenticacin o vincular una ACL con la autenticacin de los usuarios con medios reconocidos. La idea consiste en crear una regla en la ACL que slo se activar si es disparada por algn evento, en ste caso un acceso por telnet al enrutador. La regla en cuestin agrega antes de la accin (permit/deny) las palabras reservadas dynamictestlisttimeout<n>, donde n es la cantidad de minutos que la regla ser activa una vez que es disparada, luego de estos parmetros va la regla ordinaria que se har activa, por ejemplo permitip host 10.1.1.1 any. Como esta ltima regla est asociada con un acceso por telnet como disparador, en las lneas de vty se debe poner un comando especial autocommandaccess-enable host timeout 5, que establece el acceso permitido al telnet como disparador de la acl dinmica.

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 ipaccess-group 101 in usernamecesarcabrerapassword cecab123 line vty 0 4 login local autocommand access-enable host timeout 5 El anterior listado de comandos instala una lista de acceso dinmica de entrada en

la interfaz fa 0/0 que slo despus que un usuario cesar abre exitosamente una sesin por telnet con la clave cecab123 con el enrutador se activa, permitiendo acceso de la red 172.16.0.0/16 a la 172.17.0.0/16. Valga la aclaracin que el comando autocommand cierra automticamente la sesin de telnet pero dispara la acl, es decir, la sesin de telnet es slo un disparador de la acl y no tiene que quedar activa para que la acl est en funcionamiento.

13

ACLs reflexivas Las reflexivas son un tipo de firewall primitivo que permite el trfico slo si es iniciado en una direccin, pero sin usar las banderas de conexin de TCP. Ya en las ACLs extendidas habamos visto que en vez de ip se pueden poner otros protocolos y al final poner criterios adicionales particulares al protocolo en cuestin. Especficamente, tcp permite agregar al final del identificador de origen o destino un identificador de puerto en incluso banderas de conexin como established, que indica que la conexin 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 slo 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 slo los paquetes con sta condicin, de tal manera que si llegan paquetes solicitando una conexin desde fuera (todava no tienen el bit ack activo) se rechazan, mientras que si las conexiones se abren desde adentro, todos los paquetes entrantes debern tener el ack activo y por lo tanto se van a permitir. Pero qu pasa con UDP y otros protocolo no orientados a la conexin? Pues ah entran en juego las acl reflexivas. La idea es hacer lo mismo que el truco de established, pero basandose slo en los parmetros bsicos de capa 3 y 4. Las acls reflexivas son un poco complejas en su configuracin, 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 estndar. Primero, en una de las direcciones del trfico se debe marcar la regla cuyo trfico 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 direccin de vuelta del trfico (la acl que se va a instalar en la direccin contraria) se agrega la sentencia evaluate<nombre> donde nombre es el identificador arbitrario que pusimos en la otra direccin. En otras palabras, se le pone un identificador al trfico que inicia la acl reflexiva, luego en la otra direccin se le ordena que evale si el trfico 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 trfico entra y sale por la misma interfaz).

ipaccess-list extended OUTB

14

permitudp 172.16.0.0 0.0.255.255 anyreflect UDPTRAFFIC permiticmp 172.16.0.0.0.0.255.255 anyreflect ICMPTRAFF ipaccess-list extended INB evaluate UDPTRAFFIC evaluate ICMPTRAFF interface ser 0/0 ipaccess-group OUTB out ipaccess-group INB in El listado anterior instala una lista de acceso reflexiva que permite el trfico de

UDP e ICMP slo si se origin en la red 172.16.0.0/16.

ACLs basadas en fechas/horarios Finalmente, las ms 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 precondicin 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 ningn motivo y que el administrador va a mantener actualizado el reloj en caso contrario. Otra alternativa (ms confiable) es configurar un servidor ntp para que el enrutador mantenga su tiempo actualizado. La configuracin de las acls basadas en tiempo consiste en crear un rango de tiempo (time-range) el cual es despus 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 ipaccess-group 101 out El anterior listado crea una lista de acceso que se permite el acceso a Internet

para la red 172.16.0.0 slo despus de las 17hrs en das de trabajo (Lunes a Viernes).

15

ACL nombradas Finalmente, hay una forma ms fcil de editar las listas de acceso llamadas listas de acceso nombradas. La idea bsica de stas ACLs es permitir una administracin mnemnica de las ACL, ya que en vez de nmeros se usan nombres arbitrarios. stas listas pueden ser extendidas o nombradas con las mismas caractersticas que las ACLs numeradas y abren un modo especial de configuracin (nacl) en el que se introducen las reglas una por una empezando por la accin (permit/deny). Despus de la versin 12.3 del IOS, stas listas de acceso permiten eliminar y crear reglas particulares entre las reglas existentes, contrario a la edicin ordinaria de ACLs en la que tocaba eliminar completamente una ACL para poder modificarla. En su configuracin las palabras clave son ipaccess-list, lo que hemos visto hasta este momento, todas las listas de acceso comienzan con la palabra reservada access-list, stas comienzan conipaccess-list, seguidas del tipo de lista extended/standard y el nombre (arbitrario). Luego se entra en el modo especial de configuracin.

ipaccess-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 stas listas se aplican como se aplican todas las acls y se verifican con los

mismos comandos. showipaccess-list y show ip interface.

Topologa de ejemplo La siguiente va a ser nuestra topologa de ejemplo. Infortunadamente el PacketTracer no soporta las ACLs reflexivas ni dinmicas, as que si usted desea hacer el ejercicio completo debe hacerlo o bien con enrutadores reales o con GNS3. La topologa consiste en 5 enrutadores interconectados por enlaces seriales, uno de ellos es el enrutador central que conecta con el servidor y el resto tienen slo una subred conectada. Las direcciones de las LAN pertenecen al prefijo 172.16.0.0/12, asignandolas en orden de izquierda a derecha 172.16.0.0/24, 172.17.0.0/24, 172.18.0.0/24 (PC4) y 172.19.0.0/24 (PC5). El servidor tiene la direccin 10.1.1.1 y los enlaces entre enrutadores son 10.0.0.0/30, 10.0.0.4/30, 10.0.0.8/30, 10.0.0.12/30. El enrutamiento se lleva a cabo con

16

eigrp de AS 1 sin autoresmen por el hecho de haber redes discontiguas (10.0.0.0). La poltica (requerimientos) de seguridad de la organizacin son los siguientes:

Estndar: Filtrar el acceso de la red del PC1 al servidor Extendidas: Filtrar el acceso del PC2 al servidor Dinmicas (No soportadas): Acceder al servidor desde PC5 slo si se autentica previamente por telnet.

Reflexivas (No soportadas): Permitir el trfico de ICMP que se ogirine en PC4, pero no al revs

Un aspecto importante, antes de hacer cualquier cosa con ACLs es verificar que exista conectividad completa en la red objetivo. Si no comprobamos eso previamente, podramos ignorar problemas actuales de conectividad en la red y podramos creer que eso es efecto de la instalacin de las acls. En esos casos el diagnstico de un problema de esa naturaleza puede resultar muy difcil de diagnosticar y ms dificil aun de solucionar. Otra consideracin que hay que hacer es verificar que la instalacin de una ACL afecta la red estrictamente como se espera y no genera efectos no previstos e indeseados. Lo anterior hay que hacerlo por cada acl y verificando la conectividad total -o la ms importante si la red es muy grande. Listas de Control de Acceso Estndar En el ejemplo, el requerimiento de filtrar la red del PC1 con ACL estndar nos enfrenta a la primera decisin: dnde instalar la ACL?. La respuesta tiene dos sentidos, en qu enrutador y en qu interfaz de ese enrutador. Como las ACL estndar slo filtran el trfico con base en las direcciones IP origen, si la acl se instala en Router1, eso filtrara

17

todo el trfico de la red hacia todos los destinos, por lo tanto no es viable esa decisin. Una alternativa, si no es posible instalarla en otro enrutador, sera filtrar el trfico proveniente del servidor en ese mismo enrutador lo que impidira que las respuestas a trfico que sali de la red de PC1 y PC3 regrese, lo cual sera un cumplimiento indirecto de la poltica de impedir conectividad entre esa red y el servidor. Segn lo anterior, la nica alternativa es instalar la ACL estndar en Router0, y con eso se cumple la regla de oro de las acls estndar: instale lo ms cerca posible del destino. En ste caso, en el que podemos configurar el enrutador ms cercano al servidor, la instalamos en la interfaz por la que se conecta el servidor en la direccin de salida, filtrando efectivamente el trfico cuyo origen es la red del PC1. El resto es carpintera como deca un antiguo profesor que tuve:

access-list 1 deny 172.16.0.0 0.0.0.255 access-list 1 permitany interface FastEthernet0/0 ipaddress 10.0.0.1 255.255.0.0 ipaccess-group 1 out Una vez que se instala esta acl, los paquetes originados en cualquier pc de la red

del PC1 no llegarn al servidor pero s a cualquier otro pc de la red. La conectividad con el resto de las redes de la topologa sigue intacta. ACL extendidas El segundo requerimiento es filtrar el trfico desde el PC2 hasta el Servidor. Evidentemente no se puede hacer un filtrado as con una sola acl estndar, por ejemplo, si ponemos una ACL estandar en router0 que filtre el trfico cuya IP es la de PC2 en la fa 0/0 de salida, ste quedar sin conectividad con cualquier PC de la red del servidor, no slo el servidor. Si, por otro lado, la ponemos de entrada la situacin es peor: el servidor no se podr comunicar. Otra alternativa sera instalarla en la interfaz LAN que pertenece a la red de PC2 (en Router1) y ste no se podr comunicar con ninguna otra red. La solucin es una ACL extendida, que por norma se instala lo ms cercano al origen posible. El razonamiento es que haciendolo de sta manera evitamos que trfico

18

innecesario corra por la red ocupando ancho de banda y procesamiento en los dispositivos.

access-list 101 deny ip host 172.17.0.3 host 10.0.0.5 access-list 101 permit ip any any interface FastEthernet0/0 ipaddress 172.17.0.1 255.255.0.0 ipaccess-group 101 in Lo anterior en el enrutador Router1, donde se conecta el host que se quiere filtrar.

De nuevo, hay que verificar que otros PCs no quedan afectados por la acl, eso lo verificamos enviando y recibiendo paquetes exitosamente desde el PC6 al servidor. La conectividad del resto de las redes de la topologa sigue inalterada, eso incluye la conectividad de otras redes al pc2. ACLs dinmicas y reflexivas Infortunadamente el PT 5.1 no soporta ninguno de estos tipos de acls. Para poder hacer el ejercicio habra que usar gns3, netlab o enrutadores reales. De todas formas ilustrar cmo sera la configuracin correspondiente en esta topologa. Recordemos que las dinmicas son, entre otras cosas, un mecanismo de autenticacin simple. Lo primero que haremos ser crear un nombre de usuario y contrasea para autenticar al PC 5, luego crearemos la acl que incluya la palabra reservada dynamic, cuidando que la misma acl permita el trfico de telnet desde el pc en cuestin, instalamos la acl y luego en la configuracin de las vty agregamos el comando que vincula estas dos instrucciones.

usernamecesarcabrerapassword cecab123 access-list 101 permit ip any host 172.19.0.1 eq telnet access-list 101 dynamic testlist timeout 15 permit ip host 172.19.0.3 host 10.0.0.5 interface fa 0/0 ipaccess-group 101 in

19

Lo anterior, una vez instalado en el enrutador Router2, slo permitir el acceso del PC5 al servidor si primero se intenta hacer un telnet al enrutador y se autentica exitosamente al mismo. El requerimiento de acl reflexiva se debe instalar en el ltimo enrutador, Router3, usando una acl nombrada extendida -no numerada- y con dos palabras clave adicionales: reflect/evaluate. En la direccin de salida se permite el trfico pero se establece que se creen las acls necesarias para el trfico de retorno con reflect y de entrada se le indica a la acl que evale las entradas dinmicas creadas por la acl de salida.

ipaccess-list extended SALIDA permiticmp 172.18.0.0.0.0.0.255 anyreflect TICMP ipaccess-list extended ENTRADA evaluate TICMP interface ser 0/0/0 ipaccess-group SALIDA out ipaccess-group ENTRADA in Note que una vez que se instalan estos comandos en el ltimo enrutador, lo nico

que se puede hacer desde la red 172.18.0.0n es enviar exitosamente pings, pero no sern exitosos si se originan en otras redes hacia sta ltima.

Otros usos de las ACLs Finalmente, como les he venido mencionando en otras entradas, las acls son un mecanismo de clasificacin de trfico y por eso son tiles en otros contextos. Voy a citar dos, uno de ccna y otro de ccnp, particularmente de BSCI. En el ltimo semestre de CCNA se estudia el tema de NAT, NAT se usa para tener una red con direccionamiento privado arbitrariamente grande conectada a una red pblica usando slo un pequeo conjunto de direcciones pblicas. El mecanismo consiste en examinar los paquetes provenientes de la red privada y cambiar las direcciones IP y puertos TCP/UDP del encabezado por las direcciones pblicas disponibles. De ese proceso se guarda en memoria una registro de qu puertos origen han sido asignados a qu direccin privada, de tal manera que cuando se recibe la respuesta de la red pblica con IP destino pblica

20

(o global como dice el currculo), el puerto TCP/UDP destino determina la direccin IP de host local al que hay que cambiar la direccin IP para enviar el paquete al interior de nuestra red (en otra ocasin escribo ms en detalle el proceso). NAT debe especificar dos conjuntos de direcciones: las direcciones privadas a traducir a direcciones pblicas y el conjunto de direcciones pblicas. El conjunto de direcciones pblicas es un rango de direcciones arbitrarias que dificilmente

correspondern con una regla tipo acl, pero las direcciones privadas s deben tener un patrn que se corresponda con una acl estndar, en la que las direcciones a las que se aplique la accin permit sern las direcciones que hay que traducir a direcciones pblicas (o globales). En otras palabras, para crear una regla de traduccin de direcciones, se especifica por medio de una acl qu direcciones privadas (o locales) deben ser traducidas. En BSCI (uno de los exmenes de ccnp) se habla de un mecanismo de manipulacin de trfico llamado mapas de ruta (route-map). Los mapas de ruta permiten manipular la forma en que se realiza el enrutamiento por ejemplo yo podra arbitrariamente y sin contar con la tabla de enrutamiento, decir que el trfico de cierta red debe usar siempre un enlace en particular de salida. se es el ejemplo ms simple de un mapa de ruta, pero los mapas de ruta permiten muchas cosas ms, por ejemplo cambiar parmetros de enrutamiento como mtricas o filtrar actualizaciones de enrutamiento que provengan de otro enrutador. El mecanismo bsico por el que se especifica qu trfico ser afectado por las reglas del mapa de ruta son las acl extendidas.

Qu consideraciones hay que tener para instalar ACLs? Denegacin por defecto y Log La primera consideracin importante es tener en cuenta siempre que las listas de acceso terminan en denegacin por defecto, por lo tanto, si una ACL slo tiene reglas de denegacin lo nico que logra es denegar TODO el trfico. Una ACL debe tener siempre por lo menos una regla de permitir. Algunos administradores prefieren poner una regla final, sea denyanyo permitanyde manera explcita para poder ver con show accesslistcuntos paquetes se han filtrado por la ltima regla o mejor, cuntos paquetes no han

21

correspondido con ninguna otra regla. Otros administradores usan la lista de acceso para recolectar informacin sobre el trfico de la red, combinando reglas que terminan con la palabra log que hace que la ACL genere entradas de registro como si fueran mensajes del sistema. Combinar reglas permitcon log hace que la acl evidencie algn trfico que se necesita saber cmo se est comportando. Orden de verificacin: Reglas especficas y generales Como cada regla se verifica en secuencia comenzando por la primera, si una regla es general, es decir, abarca ms direcciones o flujos de datos que otra, sta regla debera ir despus de las ms especficas. Para ilustrar sto, observe el siguiente ejemplo: yo quiero bloquear un host de la red 192.168.1.0/24 pero permitir el resto de esta red, necesito dos reglas: permitir la red y denegar el host, como la regla para la red es ms general e incluye el host mismo, ponerla de primera va a tener como efecto que nunca se mire la regla que dice denegar el host, porque siempre aplicar la primera y no se verificarn ms reglas, permitiendo al host transmitir informacin cuando el objetivo era denegar precisamente ese host.La regla se debera escribir de la siguiente manera:

access-list 1 deny 192.168.1.1 0.0.0.0 access-list 1 permit 192.168.1.0 0.0.0.255 La anterior ACL tiene como resultado, cuando se aplica a una interfaz, que slo el

trfico perteneciente a la red 192.168.1.0, excepto el host 192.168.1.1, puede salir por la interfaz en la que se aplique. Lo anterior siempre y cuando, el trfico tenga como orgenes stas direcciones. Trfico con orgen en el enrutador Finalmente, cierto trfico proveniente del enrutador no pasa por las listas de acceso, por ejemplo, el acceso a VTY (telnet/ssh) al enrutador no es examinado por las ACL, por lo tanto hay que poner una regla especial para este trfico. La regla se llama access-group<n>y debe ser ACL estndar. Una regla de este tipo limita el acceso por telnet al enrutador slo a los hosts que correspondan a la lista especificada.

22

Caractersticas de las ACL estndar: poca granularidad Antes de comentar las cualidades de las ACL extendidas (extended ACL) debemos recordar las ACL estndar y ver qu diferencia funcionan tienen las extendidas respecto a las primeras, es decir, para valorar los beneficios de las extendidas. La idea de las ACLs estndar es filtrar trfico con base en las direcciones origen de los paquetes que entran o salen de una interfaz, aquella en la que se instala la ACL. Lo anterior implica un nivel bsico de filtrado: direcciones IP origen de todos los paquetes interceptados, para ilustrarlo con un ejemplo, digamos que deseamos filtrar el trfico proveniente de la red 192.168.1.0/26, pero que de esa red queremos permitir un host en particular y las dems redes diferentes deberan pasar. A stas alturas tenemos muy claro que las ACLs son conjuntos de reglas con un identificador comn y que las reglas aplican una accin a los paquetes que cumplan una condicin que, en el caso de las ACL estndar, es que tengan la direccin origen coincidente con la direccin de referencia. La ACL que filtra el trfico como se solicita (bloquear 192.168.1.0/26, permitir un host 192.168.1.1 y permitir paquetes de cualquier otra subred) creamos la siguiente ACL:

access-list 1 permit 192.168.1.1 0.0.0.0 access-list 1 deny 192.168.1.0 0.0.0.63 access-list 1 permitany En efecto, cada vez que llegue un paquete se compararn las direcciones IP

origen de cada uno con cada una de las reglas de la lista de acceso, si el paquete corresponde con alguna, se aplica la accin (permito deny) y no se compara con ninguna otra regla. En este caso, la regla permite primero el host, luego niega la red y finalmente permite cualquier otra cosa. La acl descrita significa que todo el trfico del host particular se va a permitir, no se puede bloquear un trfico especfico que provenga del host, se deniega o se permite todo el trfico y sera deseable bloquear slo una porci de su trfico, algo de lo que hace ste host en caso de ser necesario. Para la red tambin sucede lo mismo: si se pudiera bloquear slo el trfico que sale de esa red a un destino especfico sin bloquear todo el

23

trfico con origen en esta red sera mucho mejor. Ese es el problema que resuelve la ACL extendida. Sintaxis para ACL Estndar y para ACL Extendida ACLs Estndar.

Usan el rango de (1-99) Solo filtran la direccin IP de origen (se configuran al destino) Usan el siguiente formato Router#configure terminal Router (config)# access-list [Numero] {deny|permit} Direccin IP origen [wildcard-origen]

Ejemplo: Si se quiere denegar en la interfaz s0 de salida cualquier paquete que provenga de la red 10.1.1.0/24. Router#configure terminal Router (config)# access-list 1 deny 10.1.1.0 0.0.0.255 Router (config)# access-list 1 permit any Router (config)# interface s0 Router (config-if)# ip access-group 1 out Router (config-if)# exit Router# show access-lists ACL Extendidas

Usan el rango de (100-199) (2000-2699) Filtra la direccin IP de origen, protocolos y puertos/ aplicaciones Router#configure terminal Router (config)# access-list <numero> <permit|deny> <protocolo> <direccin-origen> <wildcard-origen> <direccin-destino> <wildcarddestino> eq <nmero de puerto o aplicacin> Ejemplo: Se quiere denegar en la interfaz s0 de salida cualquier paquete ICMP que

provenga de la red 10.1.1.0/24 y el acceso a cualquier puerto Telnet (puerto 23) por parte de un host de esa red.

24

Router# configure terminal Router (config)# access-list 101 deny icmp 10.1.1.0 0.0.0.255 any Router (config)# access-list 101 deny tcp 10.1.1.0 0.0.0.255 any eq 23 Router (config)# access-list 101 permit ip any any Router (config)# interface s0 Router (config-if)# access-group 101 out Router (config-if)# exit Router# show access-lists

Otras sintaxis adicionales Sintaxis para definir ACL triviales Una ACL se considera trivial en el sentido de que slo representa las entradas de UNIX owner/group/other tradicionales. chmod [options] A[index]{+|=}owner@ |group@ |everyone@: accesspermissions/...[:inheritance-flags]: deny | allow archivo chmod [options] A-owner@, group@, everyone@:access-permissions /...[:inheritanceflags]:deny | allow archivo ... chmod [options] A[index]- archivo Sintaxis para definir ACL no triviales chmod [options] A[index]{+|=}user|group:name:access-permissions /...[:inheritanceflags]:deny | allow archivo chmod [options] A-user|group:name:access-permissions /...[:inheritance-flags]:deny | allow archivo ... chmod [options] A[index]- archivo owner@, group@, everyone@

25

CONCLUSION Las listas de acceso son secuencias de instrucciones que son chequeadas contra el paquete, una vez que se cumpla la condicin toman una accin y se salen de la lista de acceso, es decir no se continua chequeando para comprobar que haya otra lnea de la secuencia que tambin resulta cierta. Por lo tanto, es importante disear la ACL en la secuencia que mas se requiera. De igual manera se debe destacar que siempre al final de una lista de acceso est implcito el negar todo, aunque nunca aparece pero es: deny any, y no se puede insertar lneas en la secuencia de las ACLs, si hay un tipo de error al crearla o se quiere insertar una lnea a la que existe, hay que borrar toda la ACL y volverla a crear. Solamente las listas con nombre permiten cambiar o eliminar instrucciones.

Otro punto importante es que una ACL se aplica a la interfaz de entrada o de salida. Se pueden crear una ACL para la interfaz de salida y otra distinta para esa interfaz de entrada.

26

ANEXOS

27

Tabla 1 Tipos de entradas de ACL

Tipo de entrada de ACL


owner@ group@ everyone@

Descripcin

Especifica el acceso que se concede al propietario del objeto. Especifica el acceso que se concede al grupo propietario del objeto. Especifica el acceso que se concede a cualquier usuario o grupo que no coincida con ninguna otra entrada de ACL. Con un nombre de usuario, especifica el acceso que se concede a un usuario adicional del objeto. Esta entrada debe incluir el ID de entrada ACL, que contiene un nombre_usuario o ID_usuario. Si el valor no es un ID de usuario numrico o nombre de usuario vlido, el tipo de entrada de ACL tampoco es vlido. Con un nombre de grupo, especifica el acceso que se concede a un grupo adicional del objeto. Esta entrada debe incluir el ID de entrada ACL, que contiene un nombre de usuario o ID de grupo. Si el valor no es un ID de grupo numrico o nombre de grupo vlido, el tipo de entrada de ACL tampoco es vlido.

User

Group

Tabla 2 Privilegios de acceso de ACL

Privilegio de acceso

Privilegio de acceso compacto


w

Descripcin

add_file

Permiso para agregar un archivo nuevo a un directorio. En un directorio, permiso para crear un subdirectorio. Marcador de posicin. Actualmente no se ha implementado. Permiso para eliminar un archivo. Permiso para eliminar un archivo o un directorio dentro de un directorio.

add_subdirectory

append_data

Delete delete_child

d D

28

Privilegio de acceso

Privilegio de acceso compacto


x

Descripcin

execute

Permiso para ejecutar un archivo o buscar en el contenido de un directorio. Permiso para resumir el contenido de un directorio. Permiso para leer la ACL (ls). Permiso para leer los atributos bsicos (no ACL) de un archivo. Los atributos de tipo stat pueden considerarse atributos bsicos. Permitir este bit de la mscara de acceso significa que la entidad puede ejecutar ls(1) y stat(2). Permiso para leer el contenido de un archivo. Permiso para leer los atributos extendidos de un archivo o al buscar en el directorio de atributos extendidos del archivo. Marcador de posicin. Actualmente no se ha implementado. Permiso para crear atributos extendidos o escribir en el directorio de atributos extendidos. Si se concede este permiso a un usuario, el usuario puede crear un directorio de atributos extendidos para un archivo. Los permisos de atributo del archivo controlan el acceso al atributo por parte del usuario.

list_directory read_acl read_attributes

r c a

read_data read_xattr

r R

synchronize

write_xattr

write_data

Permiso para modificar o reemplazar el contenido de un archivo. Permiso para cambiar los sellos de fecha asociados con un archivo o directorio a un valor arbitrario. Permiso para escribir en la ACL o posibilidad de modificarla mediante el comando chmod.

write_attributes

write_acl

29

Privilegio de acceso

Privilegio de acceso compacto


o

Descripcin

write_owner

Permiso para cambiar el grupo o propietario del archivo. O posibilidad de ejecutar los comandos chown o chgrp en el archivo. Permiso para adquirir la propiedad de un archivo o para cambiar la propiedad del grupo de un archivo a un grupo al que pertenezca el usuario. Si desea cambiar la propiedad de grupo o archivo a un usuario o grupo arbitrario, se necesita el privilegio PRIV_FILE_CHOWN.

30

You might also like