Post on 05-Jul-2015
LISTA DE CONTROL DE ACCESO (ACL)
1. DEFINICIÓN
Las ACL son un concepto de seguridad informática, son listas de condiciones
que se aplican al tráfico que viaja a través de la interfaz del router. Estas listas le
informan al router qué tipo de paquetes aceptar o rechazar, esta aceptación y rechazo
se pueden basar en ciertas condiciones específicas, como direcciones origen,
direcciones destino, protocolos y números de puerto de capa superior.
Las ACL permiten la administración del tráfico y aseguran el acceso hacia y
desde una red, pudiéndose crear en cualquier protocolo de red enrutado; pero es
necesario crear una ACL para cada dirección.
Razones principales para crear una ACL:
• Limitar el tráfico de red y mejorar el rendimiento de la red. Al restringir el tráfico
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 tráfico. Las ACL pueden restringir el envío 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 básico 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 tráfico se envían o bloquean en las interfaces del
router. Permitir que se enrute el tráfico de correo electrónico, pero bloquear todo
el tráfico de telnet.
• Permitir que un administrador controle a cuáles á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 están configuradas en el router, todos los paquetes que pasen a través
del router tendrán acceso a todas las partes de la red.
2. CREACIÓN
Las ACL se crean en el modo de configuración global, al configurar las ACL en el
router, cada ACL debe identificarse de forma única, asignándole un número, este
número identifica el tipo de lista de acceso creado y debe ubicarse dentro de un rango
específico de números que es válido para ese tipo de lista.
Una vez ingresado al modo de comando apropiado se decide el número de tipo
de lista, el usuario debe ingresa sentencias de lista de acceso utilizando el comando
access-list, seguida de los parámetros necesarios. Este es el primero de un proceso de
dos pasos. El segundo paso consiste en asignar la lista a la interfaz apropiada.
En TCP/IP, las ACL se asignan a una o más interfaces y pueden filtrar el tráfico
entrante o saliente, usando el comando ip access-group en el modo de configuración
de interfaz. Al asignar una ACL a una interfaz, se debe especificar la ubicación entrante
o saliente. Es posible establecer la dirección del filtro para verificar los paquetes que
viajan hacia dentro o fuera de una interfaz.
Para determinar si la ACL controla el tráfico entrante o saliente, el
administrador de red necesita mirar las interfaces como si se observara desde dentro
del router. Este es un concepto muy importante, una lista de acceso entrante filtra el
tráfico que entra por una interfaz y la lista de acceso saliente filtra el tráfico que sale
por una interfaz, después de crear una ACL numerada, se la debe asignar a una
interfaz.
Es necesario utilizar estas reglas básicas a la hora de crear y aplicar las listas de acceso:
• Una lista de acceso por protocolo y por dirección.
• Se deben aplicar las listas de acceso estándar que se encuentran lo más cerca
posible del destino.
• Se deben aplicar las listas de acceso extendidas que se encuentran lo más cerca
posible 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) implícito al final de todas las listas de
acceso. Esto no aparece en la lista de configuración.
• Las entradas de la lista de acceso deben realizar un filtro desde lo particular a lo
general. Primero se deben denegar hosts específico y por último los grupos o
filtros generales.
• Primero se examina la condición de concordancia. El permiso o rechazo se
examina SÓLO si la concordancia es cierta.
• Utilice el editor de texto para crear comentarios que describan la lógica, luego
complete las sentencias que realizan esa lógica.
• Siempre, las líneas nuevas se agregan al final de la lista de acceso. El comando
no access-listx elimina toda la lista. No es posible agregar y quitar líneas de
manera selectiva en las ACL numeradas.
• Se debe tener cuidado cuando se descarta una lista de acceso. Si la lista de
acceso se aplica a una interfaz de producción y se la elimina, según sea la versión
de IOS, puede haber una deny any (denegar cualquiera) por defecto aplicada a la
interfaz, y se detiene todo el tráfico.
• Los filtros salientes no afectan al tráfico que se origina en el router local.
3. FUNCIONAMIENTO
Una lista ACL es un grupo de sentencias que definen si se aceptan o rechazan
los paquetes en interfaces entrantes o salientes, estas decisiones se toman haciendo
coincidir una sentencia de condición en una lista de acceso y luego realizando la acción
de aceptación o rechazo definida en la sentencia.
El orden en el que se ubican las sentencias de la ACL es importante, por
ejemplo el software de Cisco verifica si los paquetes cumplen cada sentencia de
condición, en orden, desde la parte superior de la lista hacia abajo. Una vez que se
encuentra una coincidencia, se lleva a cabo la acción de aceptar o rechazar y no se
verifican otras sentencias ACL. Si una sentencia de condición que permite todo el
tráfico está ubicada en la parte superior de la lista, no se verifica ninguna sentencia
que esté por debajo.
Si se requieren más cantidad de sentencias de condición en una lista de acceso,
se debe borrar y volver a crear toda la ACL con las nuevas sentencias de condición.
Para que el proceso de revisión de una ACL sea más simple, es una buena idea utilizar
un editor de textos como el Bloc de notas y pegar la ACL a la configuración del router.
Al enviar un paquete y existe una ACL, se verifica si el paquete cumple o no las
condiciones de la lista, si es así se lleva a cabo la acción 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 continuación, 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 aceptación 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 envía por la interfaz hacia el dispositivo siguiente.
A manera de revisión, las sentencias de la ACL operan en orden secuencial
lógico. Si se cumple una condición, 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 implícita que dice deny any (denegar
cualquiera) en el extremo de la lista por defecto. Aunque la línea deny any no sea
visible como última línea de una ACL, está ahí y no permitirá que ningún paquete que
no coincida con las líneas anteriores de la ACL sea aceptada.
4. VERIFICACION DE LAS ACL’s
Existen varios comandos show que verifican el contenido y ubicación de las
ACL en el router, así tenemos:
El comando show ip interface muestra información de la interfaz IP e
indica si se ha establecido alguna ACL.
El comando show access-lists muestra el contenido de todas las ACL en el
router. Para ver una lista específica, agregue el nombre o número ACL
como opción a este comando.
El comando show running-config también revela las listas de acceso en el
router y la información de asignación de interfaz.
5. TIPOS
a) ACL ESTÁNDAR
Las ACL estándar verifican la dirección origen de los paquetes IP que se
deben enrutar. Con la comparación se permite o rechaza el acceso a todo un
conjunto de protocolos, según las direcciones de red, subred y host. Por
ejemplo, se verifican los paquetes para establecer la dirección origen y el
protocolo. Si se les otorga el permiso, los paquetes se enrutan a través del
router hacia una interfaz de salida. Si se les niega el permiso, se los descarta en
la interfaz entrante.
En la primera sentencia ACL, cabe notar que no hay máscara wildcard,
para este caso donde no se ve ninguna lista, se utiliza la máscara por defecto,
que es la 0.0.0.0. Esto significa que toda la dirección debe concordar o que
esta línea en la ACL no aplica y el router debe buscar una concordancia en la
línea siguiente de la ACL.
b) ACL EXTENDIDA
Las ACL extendidas se utilizan con más frecuencia que las ACL estándar
porque ofrecen un mayor control.
Las ACL extendidas verifican las direcciones de paquetes de origen y
destino, y también los protocolos y números de puertos, esto ofrece mayor
flexibilidad para establecer qué verifica la ACL. Se puede permitir o rechazar el
acceso de los paquetes según 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 tráfico de correo electrónico a
destinos específicos, al mismo tiempo que deniega la transferencia de archivos
y la navegación en la red. Una vez descartados los paquetes, algunos
protocolos devuelven un paquete al emisor, indicando que el destino era
inalcanzable.
Es posible configurar múltiples sentencias en una sola ACL, cada una de
estas sentencias debe tener el mismo número de lista de acceso, para poder
relacionar las sentencias con la misma ACL pudiendo haber tanta cantidad de
sentencias de condición como sean necesarias, siendo la única limitación la
memoria disponible en el router.
Se tiene que tener en cuenta que mientras más sentencias se
establezcan, mayor será la dificultad para comprender y administrar la ACL.
Al final de la sentencia de la ACL extendida, se obtiene más precisión
con un campo que especifica el Protocolo para el control de la transmisión
(TCP) o el número de puerto del Protocolo de datagrama del usuario (UDP).
Las operaciones lógicas pueden especificarse como igual (eq), desigual
(neq), mayor a (gt) y menor a (lt) aquéllas que efectuarán las ACL extendidas
en protocolos específicos. Las ACL extendidas utilizan el número de lista de
acceso entre 100 y 199 (también entre 2000 y 2699 en IOS recientes).
c) ACL NOMBRADA
Las ACL nombradas IP se introdujeron en el software Cisco IOS Versión
11.2, permitiendo que las ACL extendidas y estándar tuvieran nombres en
lugar de números.
Las ventajas que ofrece una lista de acceso nombrada son las siguientes:
Identifica intuitivamente las ACL usando un nombre alfanumérico.
El IOS no limita el número de las ACL nombradas que se pueden
configurar.
Las ACL nombradas tienen la capacidad de modificar las ACL sin tener
que eliminarlas y luego reconfigurarlas. Cabe notar que las listas de
acceso nombradas permiten eliminar sentencias pero sólo permiten
que las sentencias se agreguen al final de la lista. Aún con las ACL
nombradas, se recomienda utilizar un editor de textos para crearlas.
Una ACL nombrada se crea con el comando ip access-list. Esto coloca al
usuario en el modo de configuración de ACL. En el modo de configuración de
ACL, especifique una o más condiciones que se permitan o rechacen. Esto
determina si el paquete se envía o se descarta cuando hay concordancia con
las sentencias de la ACL.
6. UBICACIÓN DE LAS ACL’s
Las ACL se utilizan para controlar el tráfico, filtrando paquetes y eliminando el
tráfico no deseado de la red.
Otra consideración importante a tener en cuenta al implementar la ACL es
dónde se ubica la lista de acceso, si las ACL se colocan en el lugar correcto, no sólo es
posible filtrar el tráfico sino también toda la red se hace más eficiente.
La regla es colocar las ACL extendidas lo más cerca posible del origen del
tráfico denegado. Las ACL estándar no especifican las direcciones destino, de modo
que se deben colocar lo más cerca posible del destino.
PORT SECURITY
Port Security es una característica disponible en todo switch de clase empresarial o
que posea una robustez media. Algunos switches permiten configuraciones muy complejas,
mientras que otros solo proveen las funciones esenciales.
He aquí un vistazo de las opciones que se pueden encontrar:
1. MAC Lockout: MAC Lockout permite que el switch rechace determinado tráfico que
incluya una dirección MAC específica, ya sea como fuente o como destino. Esto se
realiza introduciendo de manera manual direcciones MAC que serán después
ignoradas.
2. MAC Lockdown: MAC Lockdown asigna de forma permanente la dirección MAC de un
dispositivo a un puerto específico en el switch, permitiendo sólo el acceso de un
equipo determinado a un puerto elegido. MAC Lockout protege así al switch frente a
accesos ilegales.
3. Mac Learning: Usando aprendizaje de cada una de las direcciones conectadas a los
puertos, el switch puede establecer una seguridad de estos basadas en las conexiones
activas.
4. Configuración remota: Limita la configuración remota a direcciones IP específicas,
usando SSH (Secure Shell) en lugar de Telnet. SSH nos permite copiar datos de forma
segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves
RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier
otra aplicación por un canal seguro tunelizado mediante SSH.
Configuración
Puesto que las características son similares entre fabricantes, elegimos como caso de estudio
el del fabricante CISCO; el cual en su documentación nos entrega los siguientes comandos:
Command Purpose
Router(config)# interface type1 slot/port
Selects the LAN port to configure.
Note With Release 12.2(18)SXE and later releases, the port can be a tunnel port or a
PVLAN port.
Router(config-if)# switchport Configures the port as a Layer 2 switchport.
Router(config-if)# switchport mode access
Configures the port as a Layer 2 access port.
Note A port in the default mode (dynamic desirable) cannot be configured as a secure
port.
Router(config-if)# switchport port-security Enables port security on the port.
Router(config-if)# no switchport port-security Disables port security on the port.
Router(config-if)# do show port-security interface type1 slot/port | include Port
SecurityVerifies the configuration.
Router(config)# interface type1 slot/port
Selects the LAN port to configure.
Router(config-if)# switchport port-security violation {protect | restrict | shutdown}
(Optional) Sets the violation mode and the action to be taken when a security violation is
detected.
Router(config-if)# no switchport port-security violation
Reverts to the default configuration (shutdown).
Router(config-if)# do show port-security interface type1 slot/port | include
violation_mode2
Verifies the configuration.
Número máximo de MAC en un puerto
Command Purpose
Router(config)# interface type1 slot/port
Selects the LAN port to configure.
Router(config-if)# switchport port-security maximum
number_of_addresses vlan {vlan_ID | vlan_range}
Sets the maximum number of secure MAC addresses for the port
(default is 1).
Note Per-VLAN configuration is supported
only on trunks.
Router(config-if)# no switchport port-security maximum
Reverts to the default configuration.
Router(config-if)# do show port-security interface type1 slot/port |
include MaximumVerifies the configuration.
Direcciones MAC estáticas
Command Purpose
Router(config)# interface type1 slot/port
Selects the LAN port to configure.
Router(config-if)# switchport port-security mac-address [sticky] mac_address [vlan vlan_ID]
Configures a static MAC address as secure on the
port.
Note Per-VLAN configuration is supported
only on trunks.
Router(config-if)# no switchport port-security mac-address [sticky]
mac_address
Clears a static secure MAC address from the port.
Router(config-if)# endExits configuration mode.
Router# show port-security address Verifies the configuration.
Mostrando las configuraciones
Command Purpose
Router# show port-security [interface {{vlan vlan_ID} | {type1 slot/port}}]
[address]
Displays port security settings for the switch or for the specified
interface.
Código consola: Switch> enableSwitch# config tSwitch(config)#interface fa 0/1Switch(config)#switchport mode accessSwitch(config)#switchport port-securitySwitch(config)#switchport port-security maximum 2Switch(config)#switchport port-security mac-address 0006.2A2C.2552Switch(config)#switchport port-security mac-address 0001.4288.B386Switch(config)#interface fa 0/2Switch(config)#switchport
mode accessSwitch(config)#switchport port-securitySwitch(config)#switchport port-security maximum 2Switch(config)#switchport port-security mac-address 0001.4288.B386Switch(config)#switchport port-security mac-address 0010.1192.5764Switch(config)#endSwitch#show running-configSwitch#show mac-address tableSwitch#show port-security interface fa0/1Switch#show port-security interface fa0/2Switch#show interface fa0/1Switch#show interface fa0/2