ACL Extendida

Diagrama que muestra la colocación de una ACL Extendida en el router Cisco R1, filtrando el tráfico HTTPS desde el PC legal en la red 192.168.1.0/24 al servidor legal (192.168.2.1) y bloqueando el acceso al servidor HR (192.168.3.1) a través de la interfaz G0/0.

1. ¿Qué es una ACL Extendidas?

Cuando se gestiona una red, a veces es necesario ir más allá del simple bloqueo del tráfico basado en la dirección IP de origen.

Ahí es donde entran en juego las ACL Extendidas.

A diferencia de las ACL estándar, las ACL Extendidas permiten filtrar el tráfico en función de los siguientes elementos

  • Dirección IP de origen
  • Dirección IP de destino
  • Protocolo (TCP, UDP, ICMP, etc.)
  • Números de puerto (como el puerto 80 para HTTP o el 443 para HTTPS)

Supongamos que tienes esta topología :

Diagrama ACL extendido que muestra el router Cisco R1 permitiendo el tráfico HTTPS desde el PC Legal (192.168.1.1) al servidor Legal (192.168.2.1) y bloqueando todo el tráfico al servidor HR (192.168.3.1) utilizando flechas visuales y una señal de stop.

En este ejemplo, queremos controlar el acceso utilizando una ACL Extendida:

  • Autorizar el tráfico HTTPS desde el PC de Legal a un servidor seguro de Legal en 192.168.2.1
  • Bloquear todo acceso desde el PC legal a un servidor de RRHH en la dirección 192.168.3.1

Este es un caso de uso típico en el que las ACL extendidas son necesarias porque las ACL estándar no pueden filtrar por protocolo o puerto.

2. Configuración de la ACL Extendida

Ahora que entiendes lo que es una ACL Extendida, vamos a ver cómo configurar una paso a paso en un router Cisco.

Paso 1 – Acceder al modo de configuración global

Empieza por entrar en el modo de configuración:

R1# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#

A continuación, compruebe los tipos de ACL disponibles con el comando ip access-list ?

R1(config)# ip access-list ?
  extended    Extended Access List
  helper      Access List acts on helper-address
  log-update  Control access list log updates
  logging     Control access list logging
  resequence  Resequence Access List
  standard    Standard Access List

Como puede ver, tenemos la opción de crear una ACL estándar o una ACL Extendida.

Procederemos con Extendida.

Paso 2 – Creación de la ACL Extendida

Comprobemos los formatos disponibles para las ACL Extendida:

R1(config)# ip access-list extended ?
  <100-199>    Extended IP access-list number
  <2000-2699>  Extended IP access-list number (expanded range)
  WORD         Access-list name

Las ACL Extendidas pueden

  • Numerados (rangos: 100-199 o 2000-2699)
  • Nombre (nombre personalizado de su elección)

Vamos a crear una ACL numerada 101 :

En este ejemplo, crearemos una ACL Extendida numerada con el número 101.

R1(config)# ip access-list extended 101
R1(config-ext-nacl)#

Ahora se encuentra en el modo de configuración ACL Extendida, listo para definir reglas.

Paso 3 – Autorizar HTTPS al servidor Legal

Queremos autorizar el tráfico HTTPS (puerto TCP 443) desde el PC Legal al servidor Legal.

🔹 Elegir protocolo

Comience por autorizar y, a continuación, consulte las opciones del protocolo :

R1(config-ext-nacl)# permit ?
  <0-255>       An IP protocol number
  ahp           Authentication Header Protocol
  eigrp         Cisco's EIGRP routing protocol
  esp           Encapsulation Security Payload
  gre           Cisco's GRE tunneling
  icmp          Internet Control Message Protocol
  igmp          Internet Gateway Message Protocol
  ip            Any Internet Protocol
  ipinip        IP in IP tunneling
  nos           KA9Q NOS compatible IP over IP tunneling
  object-group  Service object group
  ospf          OSPF routing protocol
  pcp           Payload Compression Protocol
  pim           Protocol Independent Multicast
  sctp          Stream Control Transmission Protocol
  tcp           Transmission Control Protocol
  udp           User Datagram Protocol

Queremos HTTPS, que es un protocolo que funciona sobre TCP, así que :

R1(config-ext-nacl)# permit tcp ?
  A.B.C.D       Source address
  any           Any source host
  host          A single source host
  object-group  Source network object group

🔹 Establecer dirección IP de origen

Especifiquemos el PC legal como fuente:

R1(config-ext-nacl)# permit tcp host 192.168.1.1 ?
  A.B.C.D       Destination address
  any           Any destination host
  eq            Match only packets on a given port number
  gt            Match only packets with a greater port number
  host          A single destination host
  lt            Match only packets with a lower port number
  neq           Match only packets not on a given port number
  object-group  Destination network object group
  range         Match only packets in the range of port numbers

🔹 Establecer dirección IP de destino

Queremos llegar al servidor web Legal:

R1(config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.1 ?
  ack          Match on the ACK bit
  dscp         Match packets with given dscp value
  eq           Match only packets on a given port number
  established  Match established connections
  fin          Match on the FIN bit
  fragments    Check non-initial fragments
// OUTPUT OMITTED FOR BREVITY

Para elegir el número de puerto a filtrar, usamos eq como puedes ver en el cli.

🔹 Coincidir con el puerto HTTPS (443)

Sólo filtramos el tráfico HTTPS (puerto 443)

R1(config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.1 eq ?
  <0-65535>    Port number
  bgp          Border Gateway Protocol (179)
  chargen      Character generator (19)
  cmd          Remote commands (rcmd, 514)
  daytime      Daytime (13)
  discard      Discard (9)
  domain       Domain Name Service (53)
  drip         Dynamic Routing Information Protocol (3949)
  echo         Echo (7)
  exec         Exec (rsh, 512)
  finger       Finger (79)
  ftp          File Transfer Protocol (21)
// OUTPUT OMITTED FOR BREVITY

Y completamos el pedido con los gastos de envío:

R1(config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.1 eq 443

Este comando sólo autoriza el tráfico HTTPS entre el PC Legal y el servidor Legal.

Paso 4 – Rechazar todo el tráfico al servidor HR

Cada ACL termina con un deny all implícito.
Así que cualquier tráfico que no esté explícitamente permitido será automáticamente bloqueado.

En nuestro caso :

  • Hemos autorizado el tráfico HTTPS al servidor Legal (192.168.2.1).
  • No hemos autorizado nada en el servidor de RRHH (192.168.3.1).

→ Este tráfico ya está denegado por defecto.

Pero sólo para demostrarlo, aquí está cómo crear una regla de rechazo manualmente, para mostrarle cómo:

R1(config-ext-nacl)# deny ip host 192.168.1.1 host 192.168.3.1
ElementoDescripción
denyBloqueo del tráfico
ipTodos los protocolos (TCP, UDP, ICMP, etc.)
host 192.168.1.1Source : Legal PC
host 192.168.3.1Destino: servidor HR

Esta regla no es necesaria en este caso; está ahí para mostrarle cómo escribir una regla de rechazo explícita.

3. Dónde aplicar ACL Extendida

Una ACL extendida no filtrará ningún tráfico hasta que se aplique a una interfaz.
Este paso indica al router dónde inspeccionar el tráfico y en qué dirección.

Estrategia de colocación

Las ACL Extendida adas filtran el tráfico en función de los siguientes elementos

  • Fuente IP
  • IP de destino
  • Protocolo
  • Número de puerto

Para reducir el tráfico innecesario en la red, las ACL Extendida deben aplicarse lo más cerca posible del origen.

De este modo, los paquetes no deseados se descartan antes de consumir ancho de banda.

Ejemplo

En nuestro ejemplo:

  • El PC legal (192.168.1.1) es la fuente.
  • Queremos :
    • Autorizar el tráfico HTTPS al servidor Legal (192.168.2.1)
    • Bloquear todos los accesos al servidor HR (192.168.3.1)
Diagrama que muestra una ACL Extendida aplicada en el router Cisco R1 en la interfaz G0/0, permitiendo el tráfico HTTPS desde el PC legal (192.168.1.1) al servidor legal (192.168.2.1) y bloqueando el acceso al servidor HR (192.168.3.1).

El tráfico entra en el router R1 a través de la interfaz G0/0, que está conectada al PC Legal.

Esta es la interfaz G0/0 en el router R1.

Aplicación de la ACL a la interfaz

🔹 Paso 1 – Entra en el modo de configuración de la interfaz.

R1(config)# int g0/0

🔹 Paso 2 – Comprobar los formatos disponibles

Utilice el comando ip access-group :

R1(config-if)# ip access-group ?
  <1-199>      IP access list (standard or extended)
  <1300-2699>  IP expanded access list (standard or extended)
  WORD         Access-list name

Utilizaremos ACL 101, que creamos anteriormente.

🔹 Paso 3 – Aplicar la ACL de entrada

Aplicamos la ACL 101 para inspeccionar los paquetes desde el origen :

R1(config-if)# ip access-group 101 ?
  in   inbound packets
  out  outbound packets
R1(config-if)# ip access-group 101 in

Este comando activa la ACL 101 en la interfaz G0/0.
A partir de ahora, todos los paquetes entrantes se filtrarán según sus reglas.

4. Comprobación de ACL Extendida

Una vez aplicado el ACL, es esencial confirmarlo:

  • La ACL contiene las reglas correctas
  • Se aplica correctamente en la interfaz adecuada y en la dirección correcta.

Paso 1 – Ver la configuración de la ACL

R1# show access-lists 101
Extended IP access list 101
    10 permit tcp host 192.168.1.1 host 192.168.2.1 eq 443
    20 deny   ip host 192.168.1.1 host 192.168.3.1

Esto confirma :

  • Línea 10: Permite el tráfico HTTPS de 192.168.1.1 a 192.168.2.1
  • Línea 20: Deniega todo el tráfico de 192.168.1.1 a 192.168.3.1

Paso 2 – Confirmación de la asociación de interfaces

Para comprobar que la ACL se aplica correctamente a una interfaz (en este caso, G0/0):

R1# show ip interface g0/0
GigabitEthernet0/0 is up, line protocol is up
  Internet address is 192.168.1.254/24
  Broadcast address is 255.255.255.255
  Address determined by setup command
  MTU is 1500 bytes
  Helper address is not set
  Directed broadcast forwarding is disabled
  Multicast reserved groups joined: 224.0.0.10
  Outgoing access list is not set
  Inbound  access list is 101
  Proxy ARP is enabled
// OUTPUT OMITTED FOR BREVITY

Esto lo confirma:

  • La ACL 101 se aplica a GigabitEthernet0/0
  • Se utiliza en la dirección de entrada, como se pretende

5. Conclusión

Esto es lo que debes saber sobre ACL Estándar y ACL Extendida antes de continuar:

CaracterísticaStandard ACLACL Extendida
Filtrado de IP de origen✅ Sí✅ Sí
Filtrado de IP de destino❌ No✅ Sí
Filtrado de protocolos❌ No✅ Sí (TCP, UDP, ICMP…)
Filtrado de puertos❌ No✅ Sí (ejemplo 80, 443, etc.)
Mejor colocaciónCerca del destinoCerca de la fuente
Rango de números1-99 / 1300-1999100-199 / 2000-2699

💡 ¿Desea utilizar nombres en lugar de números para sus ACL?

Echa un vistazo a la siguiente lección sobre ACLs Nombradas para facilitar la gestión de tus configuraciones.