ACL (Access Control List)

Las Listas de Control de Acceso (ACLs, por sus siglas en inglés) son una herramienta fundamental en el mundo de las redes para gestionar la seguridad y el flujo de tráfico entre dispositivos de red.

Una ACL es un conjunto de instrucciones en los dispositivos de red (como routers y switches) que define qué tráfico es permitido o denegado al atravesar el dispositivo. Estas instrucciones son reglas que filtran el tráfico basándose en características específicas de los paquetes, tales como la dirección IP de origen o destino, el protocolo (como TCP o UDP) y los números de puerto. Las ACLs pueden aplicarse en diferentes puntos de la red para proteger y controlar el tráfico, asegurando que solo los paquetes autorizados ingresen o salgan de ciertas interfaces.

Estructura

Los componentes de una ACL (Lista de Control de Acceso) en dispositivos de red incluyen:

  1. 𖦹 Entradas de ACL
    • Permisos: Indican si se permite o se deniega el tráfico (permitir/denegar).
    • Protocolos: Especifican el tipo de tráfico (por ejemplo, TCP, UDP, ICMP).
    • Dirección IP de origen: La dirección IP del dispositivo que envía el tráfico.
    • Dirección IP de destino: La dirección IP del dispositivo al que se envía el tráfico.
    • Puertos de origen y destino: Los números de puerto relevantes para el tráfico (especialmente para TCP y UDP).
  2. 𖦹 Número de Secuencia
    • ∘ Las entradas en una ACL suelen tener un número de secuencia que determina el orden en que se evalúan.
    • Cuando se evalúan los paquetes contra las entradas de una ACL, el orden de las reglas es crucial. La primera regla que coincida con el paquete determina la acción que se tomará, ya sea permitir (allow) o denegar (deny). Esto significa que, si hay dos reglas que podrían aplicarse a un paquete, la acción de la primera regla que coincida se ejecutará, ignorando las reglas posteriores.

  3. 𖦹 Tipo de ACL
    • ACL Estándar: Controla el tráfico solo por la dirección IP de origen.
    • ACL Extendida: Controla el tráfico por dirección IP de origen y destino, protocolo, y puertos.
  4. 𖦹 Wildcards
    • ∘ Se utilizan para especificar rangos de direcciones IP. Por ejemplo, un wildcard de 0.0.0.255 permitiría cualquier dirección IP dentro de un rango específico.
  5. 𖦹 Comentarios
    • ∘ Algunos dispositivos permiten agregar comentarios o descripciones a las entradas para facilitar la gestión y la comprensión.
  6. 𖦹 Aplicación
    • ∘ La ACL se puede aplicar a interfaces de red (entrante o saliente) para controlar el tráfico que pasa a través de ellas.

Inbound y Outbound

Cuando se aplica una ACL a una interfaz de red, puedes definir si se aplica al tráfico que entra (inbound) o al tráfico que sale (outbound):

  • Inbound (Entrante): La ACL se aplica a los paquetes que están llegando a la interfaz. Esto significa que el dispositivo evalúa los paquetes a medida que entran en la red. Por ejemplo, puedes usar una ACL inbound para bloquear ciertos tipos de tráfico antes de que lleguen a una máquina o servicio específico.
  • Outbound (Saliente): La ACL se aplica a los paquetes que están saliendo de la interfaz. Esto significa que el dispositivo evalúa los paquetes a medida que se dirigen fuera de la red. Por ejemplo, puedes usar una ACL outbound para restringir el tráfico que los dispositivos de la red envían hacia Internet.

Rangos

Cisco

En Cisco también existen rangos de números específicos para las listas de control de acceso (ACL), y estos números indican el tipo de ACL que se está configurando. En Cisco, las ACL pueden ser estándar o extendidas, y los números determinan qué tipo de ACL se va a aplicar.

Aquí están los rangos de números y su significado en dispositivos Cisco:

  1. ACL Estándar
    • Rango de números: 1 - 99 y 1300 - 1999
    • Función: Las ACL estándar solo filtran tráfico basándose en la dirección IP de origen. No permiten filtrar por puerto o protocolo.
    • Ejemplo:

    Esta ACL permite todo el tráfico que proviene de la red 192.168.1.0/24.

  2. ACL Extendida
    • Rango de números: 100 - 199 y 2000 - 2699
    • Función: Las ACL extendidas permiten filtrar tráfico basándose en varios criterios, incluyendo la dirección IP de origen y destino, protocolo, y puertos. Esto proporciona un mayor control y es útil para configuraciones más complejas.
    • Ejemplo:

    Esta regla permite el tráfico TCP desde cualquier host en la red 192.168.1.0/24 hacia cualquier destino en el puerto 80 (HTTP).

  3. ACL de Capa 2
    • Rango de números: No aplica un rango específico como en las ACL IP extendidas; las MAC ACLs en Cisco usan nombres para identificarse.
    • Función: Las ACL de Capa 2 permiten filtrar tráfico basándose en las direcciones MAC de origen y destino, útil para controlar el acceso a nivel de capa 2 en switches.
    • Ejemplo:
    • Icono C:\Windows\system32\cmd.exe
      mac access-list extended MAC_ACCESS
      permit host 0050.56b3.4f1a any
      deny any any

    Permite el tráfico proveniente de la dirección MAC 0050.56b3.4f1a hacia cualquier otro destino.

  4. ACL de Nombre (Nombradas)
    • ∘ Cisco permite crear ACLs con nombres en lugar de números, lo cual facilita la organización y administración, especialmente en redes grandes.
    • ∘ Estas ACL pueden ser estándar o extendidas y permiten agregar, modificar o eliminar reglas individuales.
    • Ejemplo:
    • Icono C:\Windows\system32\cmd.exe
      ip access-list extended Bloqueo_Web
      permit tcp any any eq 80
      deny ip any any

Esta ACL permite el tráfico TCP en el puerto 80 (HTTP) desde cualquier origen hacia cualquier destino, y luego deniega cualquier otro tráfico.

¿Cuál elegir?
  • Usa ACL estándar cuando solo necesitas controlar el acceso basándote en la IP de origen.
  • Usa ACL extendida cuando necesites un control más granular sobre el tráfico, filtrando por IP de origen y destino, protocolo, y puerto.
  • Usa ACL nombrada si prefieres una administración más organizada y flexible, especialmente en configuraciones complejas.

Estos rangos permiten a los administradores de red identificar rápidamente el tipo de ACL que están utilizando y ajustar las configuraciones según las necesidades específicas de la red.

Huawei

En Huawei, los rangos de números para las listas de control de acceso (ACL) también están diseñados para diferentes tipos de filtrado, lo que permite elegir el tipo de ACL según la granularidad y las necesidades de control en la red. Aquí está el desglose de los rangos de ACL en Huawei y cuándo elegir cada uno.

  1. ACL Básica
    • Rango de números: 2000 - 2999
    • Función: Las ACL básicas permiten filtrar tráfico únicamente basándose en la dirección IP de origen. Son adecuadas para configuraciones simples donde solo se necesita controlar el acceso según la IP de origen.
    • Ejemplo:
    • Icono C:\Windows\system32\cmd.exe
      acl number 2001
      rule 5 permit source 192.168.1.0 0.0.0.255

    Este ejemplo permite el tráfico proveniente de la red 192.168.1.0/24.

  2. ACL Avanzada
    • Rango de números: 3000 - 3999
    • Función: Las ACL avanzadas permiten un filtrado más detallado, incluyendo direcciones IP de origen y destino, protocolos, y puertos específicos. Son útiles para configuraciones que requieren mayor control sobre el tráfico, como permitir o denegar servicios específicos.
    • Ejemplo:
    • Icono C:\Windows\system32\cmd.exe
      acl number 3001
      rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 10.0.0.0 0.0.0.255 destination-port eq 80

    Este ejemplo permite el tráfico HTTP (puerto 80) desde la red 192.168.1.0/24 hacia la red 10.0.0.0/24.

  3. ACL de Capa 2
    • Rango de números: 4000 - 4999
    • Función: Las ACL de Capa 2 permiten el filtrado de tráfico basándose en la dirección MAC y son útiles para configuraciones de seguridad a nivel de capa de enlace (capa 2 del modelo OSI).
    • Ejemplo:
    • Icono C:\Windows\system32\cmd.exe
      acl number 4001
      rule 5 deny source-mac 00e0.fc12.3456
      rule 10 permit

    Este ejemplo deniega el tráfico proveniente de un dispositivo con la dirección MAC 00e0.fc12.3456.

  4. ACL de Capa 3 y Capa 4
    • Rango de números: 5000 - 5999
    • Función: Estas ACL se utilizan para un control más específico en términos de protocolos y puertos a nivel de Capa 3 (IP) y Capa 4 (Transporte), como permitir o denegar tráfico TCP, UDP, ICMP, etc. Proporcionan un filtrado detallado, similar a las ACL avanzadas, pero ofrecen más opciones y flexibilidad en dispositivos de Huawei de gama alta.
    • Ejemplo:
    • Icono C:\Windows\system32\cmd.exe
      acl number 5001
      rule 5 permit tcp source 192.168.20.0 0.0.0.255 destination 172.16.30.0 0.0.0.255 source-port eq 8080 destination-port eq 443
      rule 10 deny ip

    La ACL número 5001 permite el tráfico TCP entre la red de origen 192.168.20.0/24 y la red de destino 172.16.30.0/24 específicamente desde el puerto 8080 de origen hacia el puerto 443 de destino.

    La segunda regla (rule 10 deny ip) deniega cualquier otro tráfico que no coincida con la primera regla.

¿Cuál Elegir?
  • Usa la ACL Básica cuando necesites un control sencillo, filtrando solo por dirección IP de origen. Esto es útil en casos donde solo quieres restringir o permitir acceso desde ciertas IPs sin especificar protocolos ni puertos.
  • Usa las ACL avanzadas cuando necesites un filtrado detallado que incluya IP de origen y destino, protocolos específicos (TCP, UDP, ICMP), y puertos. Es ideal para situaciones donde debes controlar qué servicios específicos (como HTTP, FTP, Telnet) pueden ser accesibles desde una red.
  • ACL de Capa 2 (4000 - 4999): Usa las ACL de capa 2 si deseas filtrar tráfico en función de las direcciones MAC en lugar de direcciones IP. Esto puede ser útil en ambientes donde se quiere controlar el acceso de dispositivos a nivel de enlace de datos.
  • Utiliza las ACL en el rango 5000 - 5999 cuando necesitas un control detallado sobre el tráfico a nivel de IP y puertos específicos. Esto es útil en redes donde es importante restringir el acceso no solo a nivel de red y puerto, sino también controlar tráfico específico entre aplicaciones que utilizan ciertos puertos.

Función de las ACLs en Equipos de Red

Las ACLs cumplen múltiples funciones clave en la gestión y seguridad de una red:

  • ⦿ Control de acceso: Permiten o deniegan el tráfico de acuerdo con las reglas configuradas, proporcionando una barrera de protección.
  • ⦿ Segmentación de tráfico: Separan distintos tipos de tráfico en la red, facilitando el diseño de redes segmentadas y seguras.
  • ⦿ Prevención de amenazas: Ayudan a evitar el acceso no autorizado y la propagación de amenazas al bloquear tráfico desde o hacia direcciones IP o puertos específicos.
  • ⦿ Optimización del tráfico: Restringen el acceso a ciertos recursos, disminuyendo la carga de trabajo en dispositivos y redes.

Puertos y Protocolos

Al configurar ACLs, algunos de los puertos y protocolos más frecuentemente empleados son:

  • HTTP y HTTPS: Usan los puertos 80 y 443 respectivamente, siendo el primero para tráfico web no cifrado y el segundo para tráfico cifrado. Las ACLs pueden bloquear el tráfico HTTP para redirigir todo a HTTPS, garantizando un acceso seguro.
  • FTP: Utiliza los puertos 20 y 21, y se suele aplicar una ACL para controlar el acceso a servidores FTP, bloqueando o permitiendo el tráfico en función de las necesidades de seguridad.
  • SMTP, POP3, e IMAP: Utilizados en el tráfico de correo electrónico, con puertos como el 25 (SMTP), 110 (POP3) y 143 (IMAP). Las ACLs pueden ayudar a restringir el tráfico de correo a ciertos servidores o usuarios.
  • SSH y Telnet: Utilizan los puertos 22 (SSH) y 23 (Telnet). Las ACLs suelen bloquear Telnet por su falta de cifrado y permitir únicamente SSH para conexiones seguras.
  • DNS: Emplea el puerto 53 y es común configurarlo en ACLs para permitir únicamente consultas DNS hacia servidores autorizados.

Aplicaciones

Las ACLs no solo se configuran en protocolos de aplicaciones o servicios, sino que también pueden aplicarse en otros protocolos de red para un control más profundo:

  • ⦿ Protocolos de enrutamiento (RIP, EIGRP, OSPF): Las ACLs en estos protocolos pueden limitar qué redes o routers pueden participar en el enrutamiento dinámico, restringiendo las rutas aceptadas o compartidas.
  • ⦿ NAT (Network Address Translation): Las ACLs se utilizan para determinar qué tráfico puede ser traducido y hacia qué direcciones, ayudando a controlar la exposición de direcciones internas hacia el exterior.
  • ⦿ VPN (Virtual Private Network): Las ACLs controlan qué tráfico puede pasar a través de la VPN, limitando el acceso a ciertos recursos en la red remota.
  • ⦿ QoS (Quality of Service): En algunas configuraciones de QoS, se pueden aplicar ACLs para identificar y priorizar el tráfico de ciertas aplicaciones o servicios, asegurando un ancho de banda adecuado para aplicaciones críticas.
  • ⦿ STP (Spanning Tree Protocol): Aunque no es común aplicar ACLs directamente sobre STP, sí se configuran en entornos donde STP está activo para controlar el tráfico de puertos específicos, como el tráfico de BPDUs, y así prevenir posibles bucles.

Configuración

Se tiene una red con tres routers (R1, R2 y R3) interconectados, y tres switches (S1, S2 y S3), cada uno conectado a un router específico. Además, existen varias subredes y se requiere implementar reglas de ACL para controlar el tráfico entrante y saliente entre diferentes partes de la red.

Subred:

  • Subred de la empresa: 192.168.1.0/24
  • Subred HR: 172.17.0.0/20
  • ⫸ En R1:
    • Interfaz hacia R2: 192.168.1.1
    • Interfaz hacia S1: 192.168.2.1
    • Interfaz hacia S2: 192.168.3.1
  • ⫸ En R2:
    • Interfaz hacia R1: 192.168.1.2
    • Interfaz hacia Internet: 192.168.4.1
  • ⫸ En R3:
    • Interfaz hacia R2: 192.168.1.3
    • Interfaz hacia subred HR: 172.17.0.1
    • Interfaz hacia S3: 192.168.5.1

Cada ACL deberá aplicarse en la interfaz correcta y en la dirección adecuada (entrante o saliente) para cumplir con los requisitos de seguridad.

Cisco

Router 1
  • Interfaz hacia R2: 192.168.1.1
  • Interfaz hacia S1: 192.168.2.1
  • Interfaz hacia S2: 192.168.3.1

  1. Denegar video al S1 (bloqueo de tráfico de video desde PC1):
  2. Icono C:\Windows\system32\cmd.exe
    interface GigabitEthernet0/0
        ip address 192.168.1.1 255.255.255.0
        no shutdown
           
    interface GigabitEthernet0/1
        ip address 192.168.2.1 255.255.255.0
        no shutdown
           
    interface GigabitEthernet0/2
        ip address 192.168.3.1 255.255.255.0
        no shutdown
    
    access-list 101 deny udp host 192.168.2.2 any eq 554
    access-list 101 permit ip any any
    
    interface GigabitEthernet0/1
        ip access-group 101 in

    Aquí se asume que PC1 tiene la IP 192.168.2.2 y que el video usa el puerto 554 (RTSP).

  3. Denegar acceso del S1 al S2:
  4. Icono C:\Windows\system32\cmd.exe
    access-list 102 deny ip host 192.168.2.2 host 192.168.3.2
    access-list 102 permit ip any any
    
    interface GigabitEthernet0/1
        ip access-group 102 in

    Se asume que S1 tiene la IP 192.168.2.2 y S2 la IP 192.168.3.2.

Router 2
  • Interfaz hacia R1: 192.168.1.2
  • Interfaz hacia Internet: 192.168.4.1

  1. Permitir solo el correo electrónico entrante y denegar Telnet entrante:
  2. Icono C:\Windows\system32\cmd.exe
    interface GigabitEthernet0/0
        ip address 192.168.1.2 255.255.255.0
        no shutdown
           
    interface GigabitEthernet0/1
        ip address 192.168.4.1 255.255.255.0
        no shutdown
    
    access-list 103 permit tcp any any eq 25
    access-list 103 permit tcp any any eq 110
    access-list 103 permit tcp any any eq 143
    access-list 103 deny tcp any any eq 23
    access-list 103 permit ip any any
    
    interface GigabitEthernet0/1
        ip access-group 103 in

    Los puertos 25 (SMTP), 110 (POP3) y 143 (IMAP) permiten el tráfico de correo entrante, mientras que el puerto 23 (Telnet) es denegado.

Router 3
  • Interfaz hacia R2: 192.168.1.3
  • Interfaz hacia subred HR: 172.17.0.1
  • Interfaz hacia S3: 192.168.5.1

  1. Denegar acceso a la subred HR (172.17.0.0/20):
  2. Icono C:\Windows\system32\cmd.exe
    interface GigabitEthernet0/0
        ip address 192.168.1.3 255.255.255.0
        no shutdown
           
    interface GigabitEthernet0/1
        ip address 172.17.0.1 255.255.240.0
        no shutdown
           
    interface GigabitEthernet0/2
        ip address 192.168.5.1 255.255.255.0
        no shutdown
    
    access-list 104 deny ip any 172.17.0.0 0.0.15.255
    access-list 104 permit ip any any
    
    interface GigabitEthernet0/1
        ip access-group 104 out

  3. Denegar actualizaciones, FTP y acceso a la web en la interfaz conectada a S3:
  4. Icono C:\Windows\system32\cmd.exe
    access-list 105 deny tcp any any eq 80
    access-list 105 deny tcp any any eq 21
    access-list 105 deny tcp any any eq 443
    access-list 105 permit ip any any
    
    interface GigabitEthernet0/2
        ip access-group 105 in

    Esto deniega el tráfico web HTTP (puerto 80), HTTPS (puerto 443) y FTP (puerto 21) para S3.

Comandos adicionales de verificación

Puedes verificar que las ACL se estén aplicando correctamente con estos comandos:

Icono C:\Windows\system32\cmd.exe
show access-lists
show ip interface GigabitEthernet0/0
show ip interface GigabitEthernet0/1
show ip interface GigabitEthernet0/2

Huawei

Subred:

  • Subred de la empresa: 192.168.1.0/24
  • Subred HR: 172.17.0.0/20
  • ⫸ En R1:
    • Interfaz hacia R2: 192.168.1.1
    • Interfaz hacia S1: 192.168.2.1
    • Interfaz hacia S2: 192.168.3.1
  • ⫸ En R2:
    • Interfaz hacia R1: 192.168.1.2
    • Interfaz hacia Internet: 192.168.4.1
  • ⫸ En R3:
    • Interfaz hacia R2: 192.168.1.3
    • Interfaz hacia subred HR: 172.17.0.1
    • Interfaz hacia S3: 192.168.5.1
Router 1
  • Interfaz hacia R2: 192.168.1.1
  • Interfaz hacia S1: 192.168.2.1
  • Interfaz hacia S2: 192.168.3.1

  1. Denegar video al S1 (bloqueo de tráfico de video desde PC1):
  2. Icono C:\Windows\system32\cmd.exe
    interface GigabitEthernet0/0/0
        ip address 192.168.1.1 255.255.255.0
        undo shutdown
    
    interface GigabitEthernet0/0/1
        ip address 192.168.2.1 255.255.255.0
        undo shutdown
    
    interface GigabitEthernet0/0/2
        ip address 192.168.3.1 255.255.255.0
        undo shutdown
    
    acl number 3001
        rule 5 deny udp source 192.168.2.2 destination-port 554
        rule 10 permit ip
    
    interface GigabitEthernet0/0/0
        packet-filter 3001 inbound

    Se asume que PC1 tiene la IP 192.168.1.1 y que el video usa el puerto 554 (RTSP).

  3. Denegar acceso del S1 al S2:
  4. Icono C:\Windows\system32\cmd.exe
    acl number 3002
        rule 5 deny ip source 192.168.2.2 destination 192.168.3.2
        rule 10 permit ip
    
    interface GigabitEthernet0/0/1
        packet-filter 3002 inbound

    Se asume que S1 tiene la IP 192.168.1.1 y S2 la IP 192.168.1.2.

Router 2
  • Interfaz hacia R1: 192.168.1.2
  • Interfaz hacia Internet: 192.168.4.1

  1. Permitir solo el correo electrónico entrante y denegar Telnet entrante:
  2. Icono C:\Windows\system32\cmd.exe
    interface GigabitEthernet0/0/0
        ip address 192.168.1.2 255.255.255.0
        undo shutdown
    
    interface GigabitEthernet0/0/1
        ip address 192.168.4.1 255.255.255.0
        undo shutdown
    
    acl number 3003
        rule 5 permit tcp destination-port 25
        rule 10 permit tcp destination-port 110
        rule 15 permit tcp destination-port 143
        rule 20 deny tcp destination-port 23
        rule 25 permit ip
    
    interface GigabitEthernet0/0/1
        packet-filter 3003 inbound

    Los puertos 25 (SMTP), 110 (POP3) y 143 (IMAP) permiten el tráfico de correo entrante, mientras que el puerto 23 (Telnet) es denegado.

Router 3
  • Interfaz hacia R2: 192.168.1.3
  • Interfaz hacia subred HR: 172.17.0.1
  • Interfaz hacia S3: 192.168.5.1

  1. Denegar acceso a la subred HR (172.17.0.0/20):
  2. Icono C:\Windows\system32\cmd.exe
    interface GigabitEthernet0/0/0
        ip address 192.168.1.3 255.255.255.0
        undo shutdown
        
    interface GigabitEthernet0/0/1
        ip address 172.17.0.1 255.255.240.0
        undo shutdown
        
    interface GigabitEthernet0/0/2
        ip address 192.168.5.1 255.255.255.0
        undo shutdown
          
    acl number 3004
        rule 5 deny ip destination 172.17.0.0 0.0.15.255
        rule 10 permit ip
    
    interface GigabitEthernet0/0/1
        packet-filter 3004 outbound
  3. Denegar actualizaciones, FTP y acceso a la web en la interfaz conectada a S3:
  4. Icono C:\Windows\system32\cmd.exe
    acl number 3005
        rule 5 deny tcp destination-port 80
        rule 10 deny tcp destination-port 21
        rule 15 deny tcp destination-port 443
        rule 20 permit ip
    
    interface GigabitEthernet0/0/2
        packet-filter 3005 inbound

    Esto deniega el tráfico web HTTP (puerto 80), HTTPS (puerto 443) y FTP (puerto 21) para S3.

Comandos adicionales de verificación

Puedes verificar que las ACL se estén aplicando correctamente con estos comandos:

Icono C:\Windows\system32\cmd.exe
display acl 2001
display acl 2002
display acl 2003
display interface GigabitEthernet0/0/0
display interface GigabitEthernet0/0/1
display interface GigabitEthernet0/0/2