Introducción
Este documento describe los filtros de VPN en detalle y se aplica a LAN a LAN (L2L), Cisco VPN Client y Cisco AnyConnect Secure Mobility Client.
Los filtros consisten en reglas que determinan si se permiten o rechazan los paquetes de datos tunelizados que llegan a través del dispositivo de seguridad, según criterios como la dirección de origen, la dirección de destino y el protocolo. Las listas de control de acceso (ACL) se configuran para permitir o denegar varios tipos de tráfico. El filtro se puede configurar en la política de grupo, los atributos de nombre de usuario o la política de acceso dinámico (DAP).
DAP reemplaza el valor configurado tanto en los atributos de nombre de usuario como en la política de grupo. El valor del atributo username reemplaza el valor de la política de grupo en caso de que DAP no asigne ningún filtro.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Configuración de túneles VPN L2L
- Configuración de acceso remoto de cliente VPN (RA)
- configuración de AnyConnect RA
Componentes Utilizados
La información de este documento se basa en la versión 9.1(2) del Cisco 5500-X Series Adaptive Security Appliance (ASA).
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Antecedentes
El comando sysopt connection permit-vpn permite que todo el tráfico que ingresa al dispositivo de seguridad a través de un túnel VPN omita las listas de acceso de la interfaz. La política de grupo y las listas de acceso de autorización por usuario todavía se aplican al tráfico.
Se aplica un filtro vpn al tráfico postdescifrado después de salir de un túnel y al tráfico precifrado antes de que entre en un túnel. Una ACL que se utiliza para un filtro vpn NO se debe utilizar también para un grupo de acceso de interfaz.
Cuando se aplica un filtro vpn a una política de grupo que rige las conexiones de cliente VPN de acceso remoto, la ACL se debe configurar con las direcciones IP asignadas por el cliente en la posición src_ip de la ACL y la red local en la posición dest_ip de la ACL. Cuando se aplica un filtro vpn a una política de grupo que rige una conexión VPN L2L, la ACL se debe configurar con la red remota en la posición src_ip de la ACL y la red local en la posición dest_ip de la ACL.
Configurar
Los filtros VPN se deben configurar en dirección entrante, aunque las reglas se siguen aplicando bidireccionalmente. La mejora CSCsf99428 se ha abierto para apoyar las reglas unidireccionales, pero aún no se ha programado/comprometido para su implementación.
Ejemplo 1. vpn-filter con AnyConnect o VPN Client
Suponga que la dirección IP asignada por el cliente es 10.10.10.1/24 y la red local es 192.168.1.0/24.
Esta entrada de control de acceso (ACE) permite al cliente AnyConnect conectarse mediante Telnet a la red local:
access-list vpnfilt-ra permit tcp
10.10.10.1 255.255.255.255 192.168.1.0 255.255.255.0 eq 23

Nota: La ACE access-list vpnfilt-ra permit tcp 10.10.1 255.255.255.255 192.168.1.0 255.255.255.0 eq 23 también permite que la red local inicie una conexión el cliente RA en cualquier puerto TCP si utiliza un puerto de origen de 23.
Esta ACE permite a la red local comunicarse mediante Telnet con el cliente AnyConnect:
access-list vpnfilt-ra permit tcp 10.10.10.1 255.255.255.255
eq 23 192.168.1.0 255.255.255.0

Nota: La ACE access-list vpnfilt-ra permit tcp 10.10.1 255.255.255.255 eq 23 192.168.1.0 255.255.255.0 también permite al cliente RA iniciar una conexión la red local en cualquier puerto TCP si utiliza un puerto de origen de 23.
Precaución: La función vpn-filter permite que el tráfico se filtre sólo en la dirección entrante y la regla saliente se compila automáticamente. Por lo tanto, cuando cree una lista de acceso de protocolo de mensajes de control de Internet (ICMP), no especifique el tipo de ICMP en el formato de lista de acceso si desea utilizar filtros direccionales.
Ejemplo 2. vpn-filter con conexión VPN L2L
Suponga que la red remota es 10.0.0.0/24 y la red local es 192.168.1.0/24.
Esta ACE permite que la red remota se conecte mediante Telnet a la red local:
access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 192.168.1.0
255.255.255.0 eq 23

Nota: La ACE access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 192.168.1.0 255.255.255.0 eq 23 también permite que la red local inicie una conexión la red remota en cualquier puerto TCP si utiliza un puerto de origen de 23.
Esta ACE permite que la red local se conecte mediante Telnet a la red remota:
access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 eq 23
192.168.1.0 255.255.255.0

Nota: La ACE access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 eq 23 192.168.1.0 255.255.255.0 también permite que la red remota inicie una conexión la red local en cualquier puerto TCP si utiliza un puerto de origen de 23.
Precaución: La función vpn-filter permite que el tráfico se filtre sólo en la dirección entrante y la regla saliente se compila automáticamente. Por lo tanto, cuando cree una lista de acceso ICMP, no especifique el tipo ICMP en el formato de lista de acceso si desea filtros direccionales.
Filtros VPN y grupos de acceso por anulación de usuario
Las ACL de interfaz no filtran el tráfico VPN. El comando no sysopt connection permit-vpn se puede utilizar para cambiar el comportamiento predeterminado. En este caso, se pueden aplicar dos ACL al tráfico de usuarios: la interfaz ACL se verifica primero y luego el vpn-filter.
La palabra clave per-user-override (sólo para ACL entrantes) permite ACL de usuario dinámicas que se descargan para la autorización del usuario con el fin de invalidar la ACL asignada a la interfaz. Por ejemplo, si la ACL de interfaz niega todo el tráfico desde 10.0.0.0, pero la ACL dinámica permite todo el tráfico desde 10.0.0.0, entonces la ACL dinámica invalida la ACL de interfaz para ese usuario y se permite el tráfico.
Ejemplos (cuando no se configura una conexión sysopt permit-vpn):
- no per-user-override, no vpn-filter - el tráfico se compara con la interfaz ACL
- no per-user-override, vpn-filter - el tráfico se compara primero con la ACL de la interfaz y luego con el vpn-filter
- per-user-override, vpn-filter - el tráfico se compara solamente con vpn-filter
Verificación
Utilize esta sección para confirmar que su configuración funcione correctamente.
El Analizador de Cisco CLI (solo clientes registrados) admite determinados comandos show. Utilice el Analizador de Cisco CLI para ver un análisis de los resultados del comando show.
- show asp table filter [access-list <acl-name>] [éxitos]
Para depurar las tablas de filtro de trayectoria de seguridad acelerada, utilice el comando show asp table filter en el modo EXEC privilegiado. Cuando se ha aplicado un filtro a un túnel VPN, las reglas de filtrado se instalan en la tabla de filtros. Si el túnel tiene un filtro especificado, la tabla de filtros se verifica antes del cifrado y después del descifrado para determinar si el paquete interno debe ser permitido o denegado.
USAGE
show asp table filter [access-list
] [hits]
SYNTAX <acl-name> Show installed filter for access-list <acl-name>
hits Show filter rules which have non-zero hits values
- clear asp table filter [access-list <acl-name>]
Este comando borra los contadores de visitas para las entradas de la tabla de filtros ASP.
USAGE
clear asp table filter [access-list
]
SYNTAX
<acl-name> Clear hit counters only for specified access-list <acl-name>
Troubleshoot
En esta sección se brinda información que puede utilizar para resolver problemas en su configuración.
El Analizador de Cisco CLI (solo clientes registrados) admite determinados comandos show. Utilice el Analizador de Cisco CLI para ver un análisis de los resultados del comando show.
Nota: Consulte Información Importante sobre Comandos de Debug antes de usar un comando debug.
- debug acl filter
Este comando habilita la depuración del filtro VPN. Se puede utilizar para ayudar a solucionar problemas de instalaciones/eliminación de filtros VPN en la tabla Filtro ASP. Para el Ejemplo 1. vpn-filter con AnyConnect o VPN Client.
Salida de depuración cuando el usuario 1 se conecta:
ACL FILTER INFO: first reference to inbound filter vpnfilt-ra(2): Installing
rule into NP.
ACL FILTER INFO: first reference to outbound filter vpnfilt-ra(2): Installing
rule into NP.
Salida de depuración cuando el usuario 2 se conecta (después del usuario 1 y el mismo filtro):
ACL FILTER INFO: adding another reference to outbound filter vpnfilt-ra(2): refCnt=2
ACL FILTER INFO: adding another reference to inbound filter vpnfilt-ra(2): refCnt=2
Salida de depuración cuando el usuario 2 se desconecta:
ACL FILTER INFO: removing a reference from inbound filter vpnfilt-ra(2): remaining
refCnt=1
ACL FILTER INFO: removing a reference from outbound filter vpnfilt-ra(2): remaining
refCnt=1
Salida de depuración cuando el usuario 1 se desconecta:
ACL FILTER INFO: releasing last reference from inbound filter vpnfilt-ra(2): Removing
rule into NP.
ACL FILTER INFO: releasing last reference from outbound filter vpnfilt-ra(2): Removing
rule into NP.
- show asp table
A continuación se muestra el resultado de show asp table filter antes de que el usuario1 se conecte. Sólo se instalan las reglas de denegación implícitas para IPv4 e IPv6 tanto en las direcciones de entrada como de salida.
Global Filter Table:
in id=0xd616ef20, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd613ea60, filter_id=0x0(-implicit deny-), protocol=0
src ip=0.0.0.0, mask=0.0.0.0, port=0
dst ip=0.0.0.0, mask=0.0.0.0, port=0
in id=0xd616f420, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd615ef70, filter_id=0x0(-implicit deny-), protocol=0
src ip=::/0, port=0
dst ip=::/0, port=0
out id=0xd616f1a0, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd614d900, filter_id=0x0(-implicit deny-), protocol=0
src ip=0.0.0.0, mask=0.0.0.0, port=0
dst ip=0.0.0.0, mask=0.0.0.0, port=0
out id=0xd616f6d0, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd6161638, filter_id=0x0(-implicit deny-), protocol=0
src ip=::/0, port=0
dst ip=::/0, port=0