Vous êtes sur la page 1sur 7

Tutorial: Listas de control de accesos (ACL, Access Control Lists)

___________________________________________________________________________________________________________________________________________________________________

Introducción
Ante todo, la función de este recurso es controlar qué nodos tienen permiso para acceder de una parte de
una red a otra.

Esta solución no solo es útil desde el punto de vista de la seguridad, sino que permite clasificar conjuntos de
direcciones para diversos usos.

¿Cómo es una ACL?

Describe la acción a realizar sobre datagramas que cumplan ciertas condiciones, mediante un conjunto de
reglas identificadas con un nombre o un número.

Cada regla especifica una acción y una condición:

 Las acciones identifican permitir o denegar los datagramas que cumplan con la condición asociada a
esa regla.
 La aceptación y rechazo se pueden basar en dirección origen, dirección destino, protocolo de capa
superior y número de puerto.

El diagrama de flujo es el siguiente:

La lógica de funcionamiento de las ACLs es que una vez que se cumpla una condición se aplica su acción
correspondiente y no se examinan más reglas de la ACL.
Este es el motivo por el cual las reglas más específicas deben ir al comienzo. Si una regla autoriza algo, ese
mensaje ya pasó y no hay forma de limitarlo luego.

Es decir que las reglas deben estar ordenadas de acuerdo a la prioridad que corresponda.

Cabe mencionar que todas las ACL terminan con la regla: No permitir nada más, aunque no esté escrita.

Tipos de ACLs:

Tipo Control Intervalo Qué controla


Estándar IP 1 a 99 Dirección IP de origen
Extendida TCP/UDP 100 a 199 Nº puertos y protocolos

ACL estándar: permiten filtrar en base a las direcciones IP de origen de los datagramas a analizar.
Una ACL estándar es una herramienta simple y efectiva para controlar qué paquetes pueden pasar a través
de un Router desde una red a otra. Las ACL estándar son una forma básica de control con capacidades
limitadas. Pueden filtrar (permitir o denegar) paquetes que salen de o entran a una interfaz de Router
utilizando sólo la dirección IP de la red o host origen. Por lo tanto, se deben aplicar cerca de la
dirección destino, ya que dicha dirección no se puede especificar.

Cuando se aplica una ACL IP estándar, ésta filtra (permite o deniega) todo el conjunto de protocolo IP (IP,
TCP, SMTP, HTTP, Telnet etc.). Cuando se crean las ACL IP estándar se numeran del 1 al 99.

Para definir una ACL estándar se usa la siguiente sintaxis:

Router(config)# access-list access list-number {deny | permit} source log


Router(config)# no access-list access-list-number log

donde log permite registrar los incidentes (msg: Nº ACL, si el paquete ha sido permitido o denegado,
dirección origen y el número de paquetes)

Se usa la forma no de este comando para eliminar una ACL estándar. Esta es la sintaxis:

Router(config)# no Access-list access-list-number log

Pasos necesarios para usar las ACL de forma efectiva:

 Determinar los requisitos de la ACL (según las necesidades de seguridad, etc.)


 Desarrollar la ACL
 Verificar las sentencias en la ACL
 Aplicar la ACL a una interface del Router
 Verificar que la ACL se aplique correctamente a la interface que se desea
 Verificar que la ACL funcione correctamente

Todas las ACLs terminan implícitamente en una regla deny any, es decir, al final de la lista, cualquier paquete
que no haya correspondido con ninguna regla se va a descartar por defecto.
Es por esto que debe agregarse otra sentencia que admita el resto del tráfico, porque si no estuviera se
denegaría también cualquier otra dirección de origen.

Si hay más de una sentencia ACL (caso típico), y fuese necesario cambiar una de ellas, se debe borrar la ACL y
comenzar el proceso nuevamente.

Esto se logra con la sentencia:

Router(config)# no access-list access-list-number

Máscara Wildcard

Es una máscara de bits que indica qué partes de una dirección IP van a ser comparadas.
De un modo simple podemos decir que es una máscara de subred invertida.

Por ejemplo la máscara de subred 255.255.255.0 (equivalente binario =


11111111.11111111.11111111.00000000) se invierte dando una máscara wildcard 0.0.0.255.

La regla de una máscara wildcard es:

 0 significa que el bit equivalente debe ser considerado


 1 significa que el bit equivalente debe ser ignorado

Ejemplo:

EJEMPLO 1: la ACL sólo permite que se envíe el tráfico desde la red origen 172.16.0.0. El tráfico que no
es de 172.16.0.0 se bloquea. También se muestra en el ejemplo cómo el comando ip access-group 1 out
agrupa la ACL y la aplica a una interfaz saliente.
Router(config)# access-list 1 permit 172.16.0.0 0.0.255.255

( access-list 1 deny any está implícito)

Router(config)# interface f 0/0

Router(config-if)# ip access-group 1 out

Router(config-if)# interface f 0/1

Router(config-if)# ip access-group 1 out

EJEMPLO 2: ACL para bloquear el tráfico proveniente de una dirección específica, 172.16.4.13, y para
permitir que todo el tráfico restante sea enviado en la interfaz Ethernet 0. El primer comando access-list
usa el parámetro deny para denegar el tráfico del host identificado. La máscara de dirección 0.0.0.0 en
esta línea requiere que en la prueba coincidan todos los bits. Esta condición también se puede escribir
empleando la palabra clave host. En el segundo comando access-list> la combinación de máscara wildcard
/ dirección IP 0.0.0.0 255.255.255.255 identifica el tráfico de cualquier origen. Esta combinación también
se puede escribir utilizando la palabra clave any. Cualquier paquete que no coincida con la primera línea de
la ACL coincidirá con la segunda y se enviará.

Router(config)# access-list 1 deny 172.16.4.13 0.0.0.0

(o bien, access-list 1 deny host 172.16.4.13)

Router(config)# access-list 1 permit 0.0.0.0 255.255.255.255

(o bien, access-list 1 pemit any)


(access-list 1 deny any está implícito)

Router(config)# interface f 0/0

Router(config-if)# ip access-group 1 out

EJEMPLO 3: ACL está diseñada para bloquear el tráfico desde una subred específica, 172.16.4.0, y para
permitir que el resto del tráfico sea enviado

Router(config)# access-list 1 deny 172.16.4.0 0.0.0.255

Router(config)# access-list 1 permit any

(access-list 1 deny any está implícito)

Router(config)# interface f 0/0

Router(config-if)# ip access-group 1 out

_________________________________________________________________________________________

ACLs Extendidas:

Ofrecen una mayor cantidad de opciones de control que las ACLs estándar, son más versátiles
• Verifican direcciones origen y destino de los paquetes, protocolos, números de puerto y otros parámetros
específicos
• Las ACLs extendidas usan un número dentro del intervalo del 100 al 199
• Al final de la sentencia de la ACL extendida, se puede especificar opcionalmente el número de puerto de
protocolo TCP o UDP para el que se aplica la sentencia:
- 20 y 21: datos y programa FTP
- 23: Telnet
- 25: SMTP
- 53: DNS
- 69: TFTP
- 80: http

• Definir ACL extendida:


Router(config)# access-list num_ACL {permit / deny} protocolo fuente [mascara-fuente destino mascara-
destino operador operando] [established]
num_ACL: Identifica número de lista de acceso utilizando un número dentro del intervalo 100-199
protocolo: IP, TCP, UDP, ICMP, GRE, IGRP
fuente / destino: Identificadores de direcciones origen y destino
máscara-fuente / máscara-destino: Máscaras de wildcard
operador: lt, gt, eq, neq (significados: lt: less than, gt: grater than, eq: equal, neq: not equal than)
operando: un número de puerto
established: permite que pase el tráfico TCP si el paquete utiliza una conexión establecida (p.e. tiene
bits de ACK establecidos)

• Asociar ACL a interface:


Router(config-if)# ip access-group num_ACL {in /out}

Ejemplos de ACLs Extendidas:


• Ejemplo 1 (denegar FTP entre dos redes y permitir todo lo demás):
Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
Router(config)# access-list 101 permit ip 172.16.4.0 0.0.0.255 0.0.0.0 255.255.255.255
Router(config)# access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 (implícito)

• Ejemplo 2 (denegar Telnet a hosts de una red y permitir todo lo demás):


Router(config)# access-list 102 deny tcp 172.16.4.0 0.0.0.255 any eq 23
Router(config)# access-list 102 permit ip any any
Router(config)# access-list 102 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 (implícito)

Dónde se aplican las ACLs:

En el caso de ACLs extendidas conviene aplicar el filtro en el punto más cercano al origen, para ahorrar
ancho de banda en la red.

Las ACLs extendidas permiten especificar hacia dónde se dirige el tráfico, lo que permite bloquear o permitir
un tráfico mucho más específico: sólo el tráfico que proviene de un host específico pero se dirige a una red
dada o a otro host en particular, o sólo el tráfico de una red que se dirige a otra red especificada.

Esto se logra controlando las direcciones de destino de los datagramas con la ACL, no sólo las direcciones
origen.

Instalación de una ACL en una interface:

Para finalizar, es imprescindible ubicar las ACLs (tanto las estándar como las extendidas) a una interface por
la cual pase el tráfico que se quiere controlar, recordando el sentido en el que se instala la ACL indica cuáles
serán las direcciones de origen y destino (que se invierten si se invierte el sentido del tráfico).

La sintaxis es:

 interface serial 0/0


 ip access-group 100 in

Para verificar si la configuración realizada fue correcta los comandos a utilizar serán (para ambos tipos de
ACLs, estándar y extendidas):
 show ip interface serial 0/0
 show ip access-list

Definición de In, Out, Source y Destination:

El Router utiliza los términos "in", "out", "source" y "destination" como referencias. Se podría comparar el
tráfico del Router con el tráfico de una autopista. Si fuera un agente de policía de Córdoba y quisiera parar un
camión que va de Rosario a Santiago del Estero, el origen del camión sería Rosario y su destino Santiago del
Estero. El control de carretera se colocaría en la frontera entre las Provincias de Córdoba y Santiago del
Estero ("out") o en la frontera entre las provincias de Santa Fe y Córdoba ("in"). Aplicados a un Router, dichos
términos tienen los siguientes significados. Out : el tráfico que ya ha pasado por el Router y está saliendo de
la interface. El origen es por donde ha pasado (en el otro extremo del Router) y el destino es adonde va. In: el
tráfico que llega a la interfaz y luego pasa por el Router. El origen es por donde ha pasado y el destino es a
dónde va (en el otro extremo del Router). La ACL "in" tiene un origen en un segmento de la interface al que
se aplica y un destino fuera de cualquier otra interface. La ACL "out" tiene un origen en un segmento de
cualquier interface distinta a la interface a la que se aplica y un destino fuera de la interface a la que se
aplica.

Resumen
ACL estándar

 Nº de 1 a 99
 Controlan solo dirección origen y filtra todo el conjunto de protocolo IP, sin distinguir protocolos de
capas superiores.
 Se deben aplicar cerca de la dirección destinoSintaxis:
 Router(config)# access-list access list-number {deny | permit} source log

_________________________________________________________________________________________

ACL extendida

 Nº de 100 a 199
• Verifican direcciones origen y destino de los paquetes, protocolos, números de puerto y
otros parámetros específicos
 Router(config)# access-list num_ACL {permit / deny} protocolo fuente [mascara-fuente destino
mascara-destino operador operando] [established]
num_ACL: Identifica número de lista de acceso utilizando un número dentro del intervalo 100-199
protocolo: IP, TCP, UDP, ICMP, GRE, IGRP
fuente / destino: Identificadores de direcciones origen y destino
máscara-fuente / máscara-destino: Máscaras de wildcard
operador: lt, gt, eq, neq (significados: lt: less than, gt: grater than, eq: equal, neq: not equal than)
operando: un número de puerto
established: permite que pase el tráfico TCP si el paquete utiliza una conexión establecida (p.e. tiene
bits de ACK establecidos)
_________________________________________________________________________________________
Para ambos tipos de ACLs, se deben asociar a una interface:

Router(config-if)# ip access-group num_ACL {in /out}


_________________________________________________________________________________________

Bibliografía:

 Bajado de: http://cesarcabrera.info/blog/%C2%BFcomo-funcionan-las-acl-en-cisco-i-conceptos/,


Fecha: 22/12/2015
 Bajado de: https://telematika2.wordpress.com/2011/03/26/listas-de-control-de-acceso/ ,Fecha:
3/2/2016
 Seguridad en redes y protocolos asociados; Ingeniería de Protocolos, Curso 2003/2004 Mari Carmen
Romero Ternero (mcromero@dte.us.es)
 Bajado de: http://www.cisco.com/cisco/web/support/LA/7/75/75923_confaccesslists.pdf, Fecha:
10/2/2016

Vous aimerez peut-être aussi