Friday, March 13, 2015

Access-List Extendida de Manera Simple


Holaaa. En este posts van aprender cómo configurar Access list de manera sencilla, sin complicaciones. La vida no es para complicarse tanto, así que abróchense los cinturones y comencemos.


Conceptos Claves


Las Listas de Control de Acceso (ACLs o Access list en inglés), son filtros básicos que se aplican al tráfico que atraviesa las interfaces de los routers. Hay dos tipos de Access list: Estándar y Extendidas.
Las Access list estándar filtran datos tiendo como única base la dirección ip de la red o host origen; estas ACLs se enumeran de 1 a 99. Las ACLs Extendidas son más flexibles, ya que permiten filtrar tráfico tomando en cuenta una variedad de elementos como: El protocolo de capa superior, dirección ip origen y dirección ip del destino; estas ACLs se enumeran del 100 al 199.

Las ACLs además, de numeradas pueden configurarse con nombres alfanuméricos. La ventaja de configurar ACLs nombradas es que las puedes editar, mientras que las numeradas no son editables.

Recuerde que  Las ACL Estándar filtran datos basado única y exclusivamente en la dirección ip de origen, por lo tanto Cisco recomienda que estas se configuren en la interfaz más cerca del destino, así se afecta una reducida cantidad de destinos.

Las ACLs extendidas filtran tráfico tomando en cuenta varios elementos como Ip origen, IP destino, protocolo, etc. Cisco recomienda que estás se configuren en la interface más cerca al origen, de esta forma el tráfico que se desea bloquear no recorre la red, sino que es desechado de forma inmediata.

Un Router puede ser configurado con una sóla ACL por interface, por protocolo y por dirección. Esto significa que una interfaz de un Router no puede tener configurado dos ACLs en la misma dirección (in u out), tampoco se puede filtrar IP e IPv6 en la misma interfaz.

Desde la perspectiva del Router un ACL puede ser configurada en dirección IN u OUT. IN afecta los paquetes que entran a la interfaz y OUT los paquetes salientes de una interface.

Las ACLs son procesadas por el Router en el mismo orden en que fueron configuradas, Esto quiere decir que cuando hay una coincidencia el routers no sigue leyendo otras sentencias de esa ACL.

La Máscara Wildcard

La máscara wildcard es una cantidad de 32 bits al igual que la máscara de subred. La máscara Wildcard se utiliza para filtrar direcciones. Esta le indica al Router que parte de la dirección de una red debe coincidir para que exista una coincidencia. Esta máscara se calcula de la siguiente manera:
Red: 192.168.10.0/24

 255.255.255.255         <------- máscara de 32 bits, es una constante menos la máscara de la red.
- 255.255.255.0            <------- Máscara de la red a ser verificada en la ACL.
--------------------
0   .    0   . 0 . 255   <-------- Máscara Wildcard.

0 significa que ese valor debe ser verificado por el router para que haya una coincidencia. Mientras que  11111111 (255) indica que esta porción de la red no debe ser verificada. Esto quiere decir que la red 192.168.10.0 con wildcard de 0.0.0.255, indica que los primeros 24 bits (192.168.10) de la dirección de red debe de coincidir con el paquete para que haya coincidencia, la cantidad que haya en el último octeto no es importante para esta wildcard.


Para explicar este tema voy a usar la siguiente topología, les invito a ir realizando esta práctica, mientras voy explicando. Aprender haciendo! :)



Pasos para configurar ACLs Extendidas:


1. Topología de Caso


Imagen 1. Esta imagen muestra la topología que usaremos para explicar el Tema de ACLs.

Realice la configuración básica de los routers, configure el protocolo RIP versión 2 y publique las redes. Configure IPs a las computadoras y haga prueba de conectividad con el  comando Ping.
Es recomendado antes de configurar cualquier herramienta de filtrado verificar siempre que ya conectividad, esto facilita la resolución de problemas.


2. Configuración de las ACLs según requerimiento dado

Requerimiento: La red 10.0.2.0/26 no debe enviar tráfico HTTP a la red 10.0.4.0/27


Cuadro de Análisis:

IP Origen: 10.0.2.0/26
IP Destino: 10.0.4.0/27
Interface más cercana al Origen: Fa1/0 Router Venezuela
Dirección: In


Cálculo de Wildcards:

-255.255.255.255       <----Para la máscara /26
 255.255.255.192
----------------------
0  .   0   . 0   .63



-255.255.255.255       <----Para la máscara /27
 255.255.255.224
----------------------
0  .   0   . 0   .31
Tabla 1. Verifique la Topología en el paso 1,  para que confirme estas interfaces.

El cuadro de Análisis es una herramienta muy útil que les ayudará a elaborar sus ACLs con probabilidades mínimas de cometer errores. La ACL se Configurará en Venezuela porque es extendida y se recomienda que se configure en la interfaz más cerca posible al origen. Es IN porque cuando los paquetes HTTP entren a la interfaces dirigida hacia la red 10.0.4.0/27 se van a desechar. Estos paquetes están saliendo de la red de esa LAN de Venezuela, pero están entrando a la interfaz del Router. IN u OUT se configuran desde la perspectiva del Router, no de la red.

Vamos ahora con los comandos en Venezuela:

Paso A

Router_Venezuela(config)#access-list 100 deny tcp 10.0.2.0 0.0.0.63 10.0.4.0 0.0.0.31 eq 80
Router_Venezuela(config)#access-list 100 permit ip any any

Paso B

Router_Venezuela(config)#interface fa1/0
Router_Venezuela(config-if)#ip access-group 100 in

Paso A: Las ACLs se crean en modo de configuración global. El nombre de esta ACL es 100. El comando permit se usa para permitir datos y el deny para denegarlo. TCP es el protocolo de capa 4 que utiliza HTTP para transportar sus datos. Se especifico la red origen y su wildcard y la red destino y su wildcard. eq sirve para indicar el servicio de capa superior que queremos permitir o bloquear. En este caso HTTP usa el puerto 80.
La segunda sentencia de la ACL se utilizó para que todo el tráfico que no coincida con la primera sentencia sea permitido. IP es el protocolo, hace referencia a todo tipo de tráfico. ANY quiere decir que permita cualquier origen de esa red, para que envíe datos a cualquier destino. ANY es lo mismo que: 0.0.0.0 255.255.255.255.  Es más fácil si usamos ANY. 

Paso B: Para aplicar la ACL se usa el comando IP access-group. La ACL se configuró en dirección  entrante. 

2.1 Otro Ejemplo

Requerimientos: 

1-El host 10.0.0.10 no debe enviar tráfico ICMP al host 10.0.3.5
2-La red 10.0.0.0/24 no debe enviar tráfico DNS a ningún destino
3-Permita cualquier otro tráfico

Cuadro de Análisis:

Requerimiento 1
IP Origen: 10.0.0.10
IP Destino: 10.0.3.5
Interface más cercana al Origen: Fa0/0 Router México
Dirección: In

Requerimiento 2
IP Origen: 10.0.0.0/24
IP Destino: ANY
Interface más cercana al Origen: Fa0/0 Router México
Dirección: IN

Cálculo de Wildcards:

-255.255.255.255       <----Para la máscara /24
 255.255.255.0
----------------------
0  .   0   . 0   .255

ANY es igual a 0.0.0.0 con wildcard 255.255.255.255
         Tabla 2. Verifique la topología para confirmar datos.

No se calculó Wildcard para las direcciones de hosts porque siempre es 0.0.0.0. Esto es así porque las direcciones de Hosts siempre son únicas, y este tipo de wildcard permite que el router verifique los 32 bits de esa dirección ip. También, puedes usar el comando host que es lo mismo que usar la wildcard de 0.0.0.0.
El requerimiento 1 y 2 van en la misma interfaz y en la misma dirección, por lo tanto una  misma ACL, pero con sentencias diferentes.

Requerimiento 1.

Router_Mexico(config)#access-list 110 deny icmp 10.0.0.10 0.0.0.0 10.0.3.5 0.0.0.0

Requerimiento 2.

Router_Mexico(config)#access-list 110 deny udp 10.0.0.0  0.0.0.255 any eq 53

Requerimiento 3.

Router_Mexico(config)#access-list 110 permit ip any any

Router_Mexico(config)#interface fa0/0
Router_Mexico(config-if)#ip access-group 110 in


Requerimiento 1

En este requerimiento se está denegando ICMP desde de un hosts a otro. El protocolo ICMP es de capa 3, por eso no se especificó número de puerto ni protocolo de capa 4.

Requerimiento 2

En esta ACL se usó ANY porque el requerimiento no especificaba un destino especifico. DNS usa el protocolo UDP, aunque también es capaz de usar TCP. El puerto que utiliza este servicio es 53. Si los servicios usan los puertos por defectos, se puede especificar el nombre del servicio en lugar del número de puerto.

Requerimiento 3

Las ACL por defecto al final de las sentencias tienen un Deny ip any any implicito, si no se especifica un permit, todo tráfico será denegado.


2.2 Otro Ejemplo

Requerimiento: la red 10.0.1.0/24 sólo debe recibir tráfico FTP.


Cuadro de Análisis:

IP Origen: ANY
IP Destino: 10.0.1.0/24
Interface más cercana al destino: Fa1/0 Router Cuba
Dirección: OUT

Cálculo de Wildcards:

-255.255.255.255       <----Para la máscara /24
 255.255.255.0
----------------------
0  .   0   . 0   .255

ANY es igual a 0.0.0.0 con wildcard 255.255.255.255
Tabla 3. Comparar  los datos con la topología



En este Caso ANY es el origen porque el requerimiento indica que la red 10.0.1.0/24 sólo debe recibir ese tipo de tráfico, y no especifica un origen.

Router_Cuba(config)#access-list 130 permit  tcp any   10.0.1.0  0.0.0.255 eq 20

Router_Cuba(config)#access-list 130 permit  tcp any   10.0.1.0  0.0.0.255  eq 21

Router_Cuba(config)#interface fa1/0
Router_Cuba(config-if)#ip access-group 130 out


Se realizaron dos sentencias para especificar a FTP, porque este protocolo usa dos puertos: 20 y 21, uno para establecer una conexión de datos y otra para control.

Se configuró en dirección saliente, porque cuando un origen envíe datos a esta red, si no es FTP se bloqueará en la interface especificada.

Si desea configurar un ACL nombrada usa el siguiente comando: IP access-list standard/extended seguido del nombre de la ACL. debe seleccionar si la ACLserá estándar o extendida.


2.3 Comandos de Verificación

Para verificar la configuración de las ACLs use los comandos: Show running-config y Show access-list.
El comando Show ip interface te indica si la interface cuenta con una ACL configurada.

Recuerde usar el comando Ping para realizar las pruebas de conectividad debidas.



No dejen de comentar si tienen dudas. 

Recuerden que pueden sugerir termas.

Saludos..

Dios les bendiga más!!   :)






2 comments :