Introduction
Ce document décrit en détail les filtres VPN et s'applique à LAN à LAN (L2L), au client VPN Cisco et au client de mobilité sécurisée Cisco AnyConnect.
Les filtres se composent de règles qui déterminent s'il faut autoriser ou rejeter les paquets de données tunnelisés qui transitent par l'appliance de sécurité, en fonction de critères tels que l'adresse source, l'adresse de destination et le protocole. Vous configurez des listes de contrôle d'accès (ACL) afin d'autoriser ou de refuser divers types de trafic. Le filtre peut être configuré sur la stratégie de groupe, les attributs de nom d'utilisateur ou la stratégie d'accès dynamique (DAP).
DAP remplace la valeur configurée sous les attributs de nom d'utilisateur et la stratégie de groupe. La valeur de l'attribut username remplace la valeur de stratégie de groupe au cas où DAP n'attribue aucun filtre.
Conditions préalables
Conditions requises
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Configuration des tunnels VPN L2L
- Configuration de l'accès à distance du client VPN
- Configuration AnyConnect RA
Components Used
Les informations contenues dans ce document sont basées sur la version 9.1(2) du dispositif de sécurité adaptatif (ASA) de la gamme Cisco 5500-X.
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.
Informations générales
La commande sysopt connection permit-vpn permet à tout le trafic qui entre dans le dispositif de sécurité par un tunnel VPN de contourner les listes d'accès d'interface. Les statégies de groupe et les listes d'accès d'autorisation par utilisateur s'appliquent toujours au trafic.
Un filtre vpn est appliqué au trafic post-décrypté après sa sortie d'un tunnel et au trafic pré-crypté avant son entrée dans un tunnel. Une liste de contrôle d’accès utilisée pour un vpn-filter NE doit PAS être utilisée pour un groupe d’accès d’interface.
Lorsqu'un filtre VPN est appliqué à une stratégie de groupe qui régit les connexions des clients VPN d'accès à distance, la liste de contrôle d'accès doit être configurée avec les adresses IP attribuées au client à la position src_ip de la liste de contrôle d'accès et le réseau local à la position dest_ip de la liste de contrôle d'accès. Lorsqu'un filtre VPN est appliqué à une stratégie de groupe qui régit une connexion VPN L2L, la liste de contrôle d'accès doit être configurée avec le réseau distant à la position src_ip de la liste de contrôle d'accès et le réseau local à la position dest_ip de la liste de contrôle d'accès.
Configuration
Les filtres VPN doivent être configurés dans la direction entrante bien que les règles soient toujours appliquées de manière bidirectionnelle. L'amélioration CSCsf99428 a été ouverte pour prendre en charge les règles unidirectionnelles, mais elle n'a pas encore été planifiée/engagée pour la mise en oeuvre.
Exemple 1. vpn-filter avec AnyConnect ou client VPN
Supposons que l’adresse IP attribuée au client est 10.10.10.1/24 et que le réseau local est 192.168.1.0/24.
Cette entrée de contrôle d’accès (ACE) permet au client AnyConnect d’établir une connexion Telnet au réseau 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
Note: La liste de contrôle d’accès ACE vpnfilt-ra permit tcp 10.10.10.1 255.255.255.255 192.168.1.0 255.255.255.0 eq 23 permet également au réseau local d’établir une connexion au client RA sur n’importe quel port TCP s’il utilise un port source de 23.
Cet ACE permet au réseau local d’établir une connexion Telnet avec le client 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
Note: La liste d'accès ACE vpnfilt-ra permit tcp 10.10.10.1 255.255.255.255 eq 23 192.168.1.0 255.255.255.0 permet également au client RA d'établir une connexion au réseau local sur n'importe quel port TCP s'il utilise un port source de 23.
Attention : La fonction vpn-filter permet de filtrer le trafic uniquement dans la direction entrante et la règle sortante est automatiquement compilée. Par conséquent, lorsque vous créez une liste d'accès ICMP (Internet Control Message Protocol), ne spécifiez pas le type ICMP dans la mise en forme de la liste d'accès si vous voulez des filtres directionnels.
Exemple 2. vpn-filter avec connexion VPN L2L
Supposons que le réseau distant est 10.0.0.0/24 et que le réseau local est 192.168.1.0/24.
Cet ACE permet au réseau distant d'établir une connexion Telnet avec le réseau 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
Remarque : la liste d'accès ACE vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 192.168.1.0 255.255.255.0 eq 23 permet également au réseau local d'initier une connexion au réseau distant sur n'importe quel port TCP s'il utilise un port source de 23.
Cet ACE permet au réseau local d'établir une connexion Telnet avec le réseau distant :
access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 eq 23
192.168.1.0 255.255.255.0
Remarque : la liste d'accès ACE vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 eq 23 192.168.1.0 255.255.255.0 permet également au réseau distant d'initier une connexion au réseau local sur n'importe quel port TCP s'il utilise un port source de 23.
Attention : La fonction vpn-filter permet de filtrer le trafic uniquement dans la direction entrante et la règle sortante est automatiquement compilée. Par conséquent, lorsque vous créez une liste d'accès ICMP, ne spécifiez pas le type ICMP dans la mise en forme de la liste d'accès si vous voulez des filtres directionnels.
Filtres VPN et groupes d'accès de remplacement par utilisateur
Le trafic VPN n'est pas filtré par les ACL d'interface. La commande no sysopt connection permit-vpn peut être utilisée afin de changer le comportement par défaut. Dans ce cas, deux listes de contrôle d’accès peuvent être appliquées au trafic utilisateur : la liste de contrôle d’accès d’interface est vérifiée en premier, puis le vpn-filter.
Le mot clé per-user-override (pour les ACL entrantes uniquement) autorise les ACL utilisateur dynamiques qui sont téléchargées pour l'autorisation utilisateur afin de remplacer l'ACL attribuée à l'interface. Par exemple, si la liste de contrôle d’accès de l’interface refuse tout trafic provenant de 10.0.0.0, mais que la liste de contrôle d’accès dynamique autorise tout trafic provenant de 10.0.0.0, alors la liste de contrôle d’accès dynamique remplace la liste de contrôle d’accès de l’interface pour cet utilisateur et le trafic est autorisé.
Exemples (lorsqu'aucune connexion sysopt permit-vpn n est configurée) :
- no per-user-override, no vpn-filter - le trafic est mis en correspondance avec la liste de contrôle d’accès de l’interface
- no per-user-override, vpn-filter - le trafic est d'abord mis en correspondance avec l'ACL d'interface, puis avec le vpn-filter
- per-user-override, vpn-filter - le trafic est mis en correspondance avec le vpn-filter uniquement
Vérification
Utilisez cette section pour confirmer que votre configuration fonctionne correctement.
Certaines commandes d’affichage (« show ») sont offertes par l’outil « Cisco CLI Analyzer » réservé aux clients inscrits. Utilisez cet outil pour obtenir une analyse des rapports produits par ces commandes.
- show asp table filter [access-list <acl-name>] [résultats]
Afin de déboguer les tables de filtres de chemin de sécurité accéléré, utilisez la commande show asp table filter en mode d'exécution privilégié. Lorsqu'un filtre a été appliqué à un tunnel VPN, les règles de filtrage sont installées dans la table de filtrage. Si un filtre est spécifié dans le tunnel, la table de filtres est vérifiée avant le chiffrement et après le déchiffrement afin de déterminer si le paquet interne doit être autorisé ou refusé.
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>]
Cette commande efface les compteurs d'accès pour les entrées de la table de filtres ASP.
USAGE
clear asp table filter [access-list
]
SYNTAX
<acl-name> Clear hit counters only for specified access-list <acl-name>
Dépannage
Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.
Certaines commandes d’affichage (« show ») sont offertes par l’outil « Cisco CLI Analyzer » réservé aux clients inscrits. Utilisez cet outil pour obtenir une analyse des rapports produits par ces commandes.
Note: Référez-vous aux informations importantes sur les commandes de débogage avant d'utiliser les commandes de débogage.
- debug acl filter
Cette commande active le débogage du filtre VPN. Il peut être utilisé pour aider à dépanner les installations/la suppression des filtres VPN dans la table des filtres ASP. Pour l'exemple 1. vpn-filter with AnyConnect or VPN Client.
Sortie de débogage quand user1 se connecte :
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.
Sortie de débogage lorsque l'utilisateur 2 se connecte (après l'utilisateur 1 et le même filtre) :
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
Sortie de débogage quand user2 se déconnecte :
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
Sortie de débogage lorsque l'utilisateur 1 se déconnecte :
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
Voici la sortie de show asp table filter avant la connexion de user1. Seules les règles de refus implicites sont installées pour IPv4 et IPv6 dans les directions d'entrée et de sortie.
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