ACL
José Aular / 07.07.2023
Tabla de contenido
- Concepto
- Configuración de ACL estándar para IPv4
- Protección de puertos VTY con una ACL estándar para IPv4
- Configuración de ACL extendidas para IPv4
- Referencias
Concepto
Una ACL es una serie de comandos del IOS que controlan si un router reenvía o descarta paquetes según la información que se encuentra en el encabezado del paquete. De forma predeterminada, un enrutador no tiene ninguna ACL configurada. Sin embargo, cuando se aplica una ACL a una interfaz, el router realiza la tarea adicional de evaluar todos los paquetes de red a medida que pasan a través de la interfaz para determinar si el paquete se puede reenviar.
Una ACL utiliza una lista secuencial de declaraciones de permiso o denegación, conocidas como entradas de control de acceso (ACE) o instrucciones de ACL.
Configuración de ACL estándar para IPv4
Sintaxis de ACL estándar numerada para IPv4
Para crear una ACL estándar numerada, utilice el comando access-list {access-list-number} {deny | permit | remark text} source [source-wildcard] [log]
.
Utilice el comando
no access-list {access-list-number}
para eliminar una ACL estándar numerada.
Ejemplo
R1(config)# access-list 10 remark ACE permits ONLY host 192.168.10.10 to the internet
R1(config)# access-list 10 permit host 192.168.10.10
R1(config)# do show access-lists
Standard IP access list 10
10 permit 192.168.10.10
Utilice la palabra clave
host {ip-address}
o simplemente ingrese una dirección IP (sin elhost
) para identificar una dirección IP específica. Por ejemplo, el comandodeny host 192.168.5.5
es el mismo que el comandodeny 192.168.5.5 0.0.0.0
.
Seguidamente aplique la ACL numerada a la interfaz correspondiente.
R1(config-if)# ip access-group 10 out
Sintaxis de ACL con nombre estándar para IPv4
La asignación de nombres a las ACL hace más fácil comprender su función. Para crear una ACL estándar con nombre, utilice el comando ip access-list standard {access-list-name}
Utilice el comando
no ip access-list standard {access-list-name}
para eliminar una ACL IPv4 estándar con nombre.
R1(config)# ip access-list standard PERMIT-ACCESS
R1(config-std-nacl)#
Ejemplo
Agregue un ACE que permita sólo el host 192.168.10.10 y otro ACE que permita todos los hosts LAN 2 a Internet.
R1(config)# ip access-list standard PERMIT-ACCESS
R1(config-std-nacl)# remark ACE permits host 192.168.10.10
R1(config-std-nacl)# permit host 192.168.10.10
R1(config-std-nacl)# remark ACE permits all hosts in LAN 2
R1(config-std-nacl)# permit 192.168.20.0 0.0.0.255
Utilice la palabra clave
any
para especificar todas las redes. Ejemplo:deny any
si desea denegar todos los host.
Seguidamente aplique la ACL con nombre a la interfaz correspondiente.
R1(config-if)# ip access-group PERMIT-ACCESS out
Aplicación de una ACL estándar para IPv4
Después de configurar una ACL estándar para IPv4, debe vincularse a una interfaz o función. Utilice el comando ip access-group {access-list-number | access-list-name} {in | out}
para enlazar una ACL estándar para IPv4 numerada o nombrada a una interfaz.
Protección de puertos VTY con una ACL estándar para IPv4
Las ACL normalmente filtran el tráfico entrante o saliente en una interfaz. Sin embargo, una ACL también se puede utilizar para proteger el acceso administrativo remoto a un dispositivo mediante las líneas vty.
Utilice el comando access-class {access-list-number | access-list-name} { in | out }
para aplicar una ACL a las líneas vty
La palabra clave
in
es la opción más utilizada para filtrar el tráfico vty entrante, mientras queout
filtra el tráfico vty saliente y rara vez se aplica.
R1(config)# username ADMIN secret cisco
R1(config)# ip access-list standard ADMIN-HOST
R1(config-std-nacl)# remark This ACL secures incoming vty lines
R1(config-std-nacl)# permit 192.168.10.10
R1(config-std-nacl)# deny any
R1(config-std-nacl)# exit
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input telnet
R1(config-line)# access-class ADMIN-HOST in
Se ha configurado
deny any
para realizar un seguimiento del número de veces que se ha denegado el acceso.
Utilice el comando show access-lists
para verificar las estadísticas de ACL.
R1# show access-lists
Standard IP access list ADMIN-HOST
10 permit 192.168.10.10 (2 matches)
20 deny any (2 matches)
R1#
Configuración de ACL extendidas para IPv4
Las ACL estándar solo se filtran en la dirección de origen. Cuando se requiere un control de filtrado de tráfico más preciso, se pueden crear ACL extendidas de IPv4.
Las ACL extendidas se utilizan con más frecuencia que las ACL estándar, porque proporcionan un mayor grado de control. Pueden filtrar por dirección de origen, dirección de destino, protocolo (es decir, IP, TCP, UDP, ICMP) y número de puerto. Esto proporciona una gama de criterios más amplia sobre la cual basar la ACL.
Sintaxis de ACL extendida numerada para IPv4
Para crear una ACL extendida numerada, utilice el comando access-list {access-list-number} {deny | permit | remark text} {protocol} source [source-wildcard] [operator {port}] destination [destination-wildcard] [operator {port}] [established] [log]
.
Protocolos y puertos
Opciones de protocolo
R1(config)# access-list 100 permit ?
<0-255> An IP protocol number
ahp Authentication Header Protocol
dvmrp dvmrp
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
tcp Transmission Control Protocol
udp User Datagram Protocol
Opciones de palabra clave de puertos
R1(config)# access-list 100 permit tcp any any 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 System (53)
echo Echo (7)
exec Exec (rsh, 512)
finger Finger (79)
ftp File Transfer Protocol (21)
ftp-data FTP data connections (20)
gopher Gopher (70)
hostname NIC hostname server (101)
ident Ident Protocol (113)
irc Internet Relay Chat (194)
klogin Kerberos login (543)
kshell Kerberos shell (544)
login Login (rlogin, 513)
lpd Printer service (515)
msrpc MS Remote Procedure Call (135)
nntp Network News Transport Protocol (119)
onep-plain Onep Cleartext (15001)
onep-tls Onep TLS (15002)
pim-auto-rp PIM Auto-RP (496)
pop2 Post Office Protocol v2 (109)
pop3 Post Office Protocol v3 (110)
smtp Simple Mail Transport Protocol (25)
sunrpc Sun Remote Procedure Call (111)
syslog Syslog (514)
tacacs TAC Access Control System (49)
talk Talk (517)
telnet Telnet (23)
time Time (37)
uucp Unix-to-Unix Copy Program (540)
whois Nicname (43)
www World Wide Web (HTTP, 80)
Configuración de Protocolos y Números de Puerto
R1(config)# access-list 100 permit tcp any any eq www
R1(config)# !or...
R1(config)# access-list 100 permit tcp any any eq 80
La configuración del número de puerto es necesaria cuando no aparece un nombre de protocolo específico, como SSH (número de puerto 22) o HTTPS (número de puerto 443).
R1(config)# access-list 100 permit tcp any any eq 22
R1(config)# access-list 100 permit tcp any any eq 443