Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment améliorer la sécurité de votre implémentation VPN d'accès à distance.
Cisco vous recommande d'avoir des connaissances sur les sujets suivants :
Le guide des meilleures pratiques est basé sur les versions matérielles et logicielles suivantes :
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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Attention : ce document ne contient pas d'étapes pour Firepower Device Manager (FDM). FDM prend uniquement en charge la modification de la méthode d'authentification sur DefaultWEBVPNGroup. Utilisez des listes de contrôle d'accès du plan de contrôle ou un port personnalisé dans la section « Paramètres globaux » du VPN d'accès à distance dans l'interface utilisateur de FDM. Veuillez contacter le centre d'assistance technique Cisco (TAC) pour obtenir de l'aide si nécessaire.
L'objectif de ce document est de garantir que la configuration VPN AnyConnect du client sécurisé Cisco respecte les meilleures pratiques de sécurité dans un monde moderne où les attaques de cybersécurité sont courantes.
Les attaques de force brutale impliquent généralement des tentatives répétées d'accès à une ressource à l'aide de combinaisons de nom d'utilisateur et de mot de passe. Les pirates tentent d'utiliser leur navigateur Internet, l'interface utilisateur du client sécurisé ou d'autres outils pour entrer plusieurs noms d'utilisateur et mots de passe en espérant qu'ils correspondent à une combinaison légitime dans une base de données AAA. Lorsque vous utilisez AAA pour l'authentification, nous attendons de l'utilisateur final qu'il entre son nom d'utilisateur et son mot de passe, car cela est nécessaire pour établir la connexion. En même temps, nous ne vérifions pas qui est l'utilisateur tant qu'il n'a pas saisi ses informations d'identification. Par nature, cela permet aux pirates de tirer parti des scénarios suivants :
Alias de groupe :
URL de groupe :
La différence ici est que lorsque des groupes d'alias sont implémentés, un utilisateur lance une connexion to vpn_gateway.example.com et se voit présenter des alias pour les sélectionner afin de les diriger vers un profil de connexion. Avec les URL de groupe, un utilisateur établit une connexion à vpn_gateway.example.com/example_group et les dirige directement vers le profil de connexion sans avoir besoin d'un menu déroulant.
Ces méthodes reposent sur le mappage d'utilisateurs légitimes à des groupes de tunnels/profils de connexion appropriés tandis que des utilisateurs potentiellement malveillants sont envoyés à un groupe de tunnels de déroutement que nous configurons pour ne pas autoriser les combinaisons de nom d'utilisateur et de mot de passe. Bien que toutes les combinaisons ne doivent pas être implémentées, la désactivation des alias de groupe et la modification de la méthode d'authentification de DefaultWEBVPNGroup et DefaultRAGroup sont nécessaires pour que les recommandations fonctionnent efficacement.
Remarque : pour plus d'informations sur la fonctionnalité group-alias, consultez le Guide de configuration VPN ASA et observez le « Tableau 1. Attributs de profil de connexion pour VPN SSL'.
Les attaques brutales représentent la méthode prédominante de compromission des VPN d'accès à distance, exploitant des mots de passe faibles pour obtenir une entrée non autorisée. Il est essentiel de savoir reconnaître les signes d'une attaque en exploitant l'utilisation de la journalisation et en évaluant les syslogs. Les ID Syslog courants qui peuvent indiquer une attaque en cas de volume anormal sont les suivants :
%ASA-6-113015
%ASA-6-113015: AAA user authentication Rejected : reason = User was not found : local database : user = admin : user IP = x.x.x.x
%ASA-6-113005
%ASA-6-113005: AAA user authentication Rejected : reason = Unspecified : server = x.x.x.x : user = ***** : user IP = x.x.x.x
%ASA-6-716039
%ASA-6-716039: Group <DfltGrpPolicy> User <admin> IP <x.x.x.x> Authentication: rejected, Session Type: WebVPN
Le nom d'utilisateur est toujours masqué jusqu'à ce que la commande no logging hide username soit configurée sur ASA.
Remarque : Remarque : ceci permet de savoir si des utilisateurs valides sont générés ou connus par des adresses IP incorrectes. Cependant, soyez prudent car les noms d'utilisateurs sont visibles dans les journaux.
Journalisation Cisco ASA :
Chapitre Journalisation du Guide de configuration de l'interface de ligne de commande des opérations générales de Cisco Secure Firewall ASA
Journalisation FTD Cisco :
Configurez la connexion sur Cisco FTD à l’aide de Cisco FMC
Section Configure Syslog du chapitre Platform Settings du Guide de configuration des périphériques de Cisco Secure Firewall Management Center
Configuration et vérification de Syslog dans le Gestionnaire de périphériques Firepower
Section Configuration des paramètres de journalisation système du chapitre Paramètres système du Guide de configuration de Cisco Firepower Threat Defense pour Firepower Device Manager
Pour vérifier, connectez-vous à l'interface de ligne de commande (CLI) ASA ou FTD, exécutez la commande show aaa-server et recherchez un nombre inhabituel de demandes d'authentification tentées et rejetées vers l'un des serveurs AAA configurés :
ciscoasa# show aaa-server
Server Group: LOCAL - - - - - >>>> Sprays against the LOCAL database
Server Protocol: Local database
Server Address: None
Server port: None
Server status: ACTIVE, Last transaction at 16:46:01 UTC Fri Mar 22 2024
Number of pending requests 0
Average round trip time 0ms
Number of authentication requests 8473575 - - - - - >>>> Unusual increments
Number of authorization requests 0
Number of accounting requests 0
Number of retransmissions 0
Number of accepts 0
Number of rejects 8473574 - - - - - >>>> Unusual increments
ciscoasa# show aaa-server
Server Group: LDAP-SERVER - - - - - >>>> Sprays against the LDAP server
Server Protocol: ldap
Server Hostname: ldap-server.example.com
Server Address: 10.10.10.10
Server port: 636
Server status: ACTIVE, Last transaction at unknown
Number of pending requests 0
Average round trip time 0ms
Number of authentication requests 2228536 - - - - - >>>> Unusual increments
Number of authorization requests 0
Number of accounting requests 0
Number of retransmissions 0
Number of accepts 1312
Number of rejects 2225363 - - - - - >>>> Unusual increments
Number of challenges 0
Number of malformed responses 0
Number of bad authenticators 0
Number of timeouts 1
Number of unrecognized responses 0
Accédez à Périphériques > Accès à distance.
Modifiez la stratégie VPN d'accès à distance existante et créez un profil de connexion nommé « DefaultRAGroup »
Modifier les profils de connexion nommés 'DefaultWEBVPNGroup' et 'DefaultRAGroup'
Accédez à l'onglet AAA et sélectionnez la liste déroulante Authentication Method. Sélectionnez 'Client Certificate Only' et sélectionnez Save.
Modifiez le DefaultRAGroup et accédez à l'onglet AAA et sélectionnez la liste déroulante Authentication Method. Sélectionnez 'Client Certificate Only' et sélectionnez Save.
Remarque : la méthode d'authentification peut également être un serveur AAA de type « sinkhole ». Si cette méthode est utilisée, la configuration du serveur AAA est fausse et ne traite aucune requête. Un pool VPN doit également être défini dans l'onglet « Client Address Assignment » pour enregistrer les modifications.
Ceci n'est nécessaire que si vous avez Hostscan / Secure Firewall Posture dans votre environnement. Cette étape empêche les pirates d'augmenter l'utilisation des ressources sur le pare-feu causée par le processus d'analyse des terminaux. Dans le FMC, ceci est réalisé en créant un objet FlexConfig avec la commande without-csd pour désactiver la fonctionnalité d'analyse de point de terminaison.
Accédez à Objets > Gestion des objets > Objet FlexConfig > Ajouter un objet FlexConfig.
Nommez l'objet FlexConfig, définissez le déploiement sur Everytime avec le type Append. Ensuite, entrez la syntaxe exactement comme indiqué et enregistrez l'objet.
Accédez à Devices > FlexConfig, puis cliquez sur le crayon pour modifier la politique FlexConfig.
Localisez l'objet que vous avez créé à partir de la section Défini par l'utilisateur. Sélectionnez ensuite la flèche pour l'ajouter aux FlexConfigs d'ajout sélectionnés. Enfin, sélectionnez Save pour enregistrer la stratégie FlexConfig.
Sélectionnez Policy Assignments et choisissez le FTD auquel vous souhaitez appliquer cette stratégie FlexConfig, puis sélectionnez OK. Sélectionnez à nouveau Save s'il s'agit d'une nouvelle affectation FlexConfig et déployez les modifications. Une fois déployé, vérifiez
Entrez la CLI FTD et émettez la commande show run tunnel-group pour DefaultWEBVPNGroup et DefaultRAGroup. Vérifiez que without-csd est maintenant présent dans la configuration.
FTD72# show run tunnel-group DefaultRAGroup
tunnel-group DefaultRAGroup general-attributes
address-pool TEST-POOL
tunnel-group DefaultRAGroup webvpn-attributes
authentication certificate
without-csd
FTD72# show run tunnel-group DefaultWEBVPNGroup
tunnel-group DefaultWEBVPNGroup general-attributes
address-pool TEST-POOL
tunnel-group DefaultWEBVPNGroup webvpn-attributes
authentication certificate
without-csd
Accédez à un profil de connexion et sélectionnez l'onglet Alias. Supprimez l'alias-groupe et cliquez sur l'icône plus pour ajouter un alias d'URL.
Configurez un nom d'objet pour l'alias d'URL, et complétez le nom de domaine complet et/ou l'adresse IP du pare-feu pour l'URL, suivi du nom auquel vous voulez associer le profil de connexion. Dans cet exemple, nous avons choisi « aaaldap ». Plus l'URL est obscure, plus elle est sécurisée, car il est moins probable que les pirates devinent l'URL complète même s'ils ont obtenu votre nom de domaine complet. Une fois terminé, sélectionnez Enregistrer.
Sélectionnez l'alias d'URL dans la liste déroulante, cochez la case Enabled et sélectionnez OK.
Assurez-vous que l'alias de groupe est supprimé et vérifiez que votre alias d'URL est maintenant activé, puis sélectionnez Enregistrer.
Si vous le souhaitez, les alias d'URL peuvent également être envoyés dans le cadre du code XML. Pour ce faire, modifiez le code XML à l'aide de l'Éditeur de profil VPN ou de l'Éditeur de profil ASA. Pour ce faire, accédez à l'onglet Liste des serveurs et assurez-vous que le champ Groupe d'utilisateurs correspond à l'alias d'URL du profil de connexion lors de l'utilisation de SSL. Pour IKEv2, assurez-vous que le champ User Group (Groupe d'utilisateurs) correspond au nom exact du profil de connexion.
Accédez à l'onglet Advanced dans la stratégie VPN d'accès à distance. Choisissez une option de paramètre général en fonction de vos préférences. Une fois sélectionné, sélectionnez Ajouter un mappage.
Nommez l'objet de mappage de certificat et sélectionnez Ajouter une règle. Dans cette règle, définissez les propriétés du certificat que vous souhaitez identifier pour mapper l'utilisateur à un certain profil de connexion. Une fois terminé, sélectionnez OK, puis Save.
Dans la liste déroulante, sélectionnez l'objet de mappage de certificat et le profil de connexion auquel vous souhaitez associer le mappage de certificat. Sélectionnez ensuite OK.
Assurez-vous que le profil de connexion par défaut est configuré en tant que DefaultWEBVPNGroup afin que si un utilisateur échoue le mappage, il soit envoyé au DefaultWEBVPNGroup. Une fois terminé, sélectionnez Save et déployez les modifications.
Sélectionnez le profil de connexion IPsec-IKEv2 souhaité, puis accédez à Modifier la stratégie de groupe.
Dans l'onglet General, accédez à la section VPN Protocols et vérifiez que la case IPsec-IKEv2 est cochée.
Dans l'Éditeur de profil VPN ou l'Éditeur de profil ASA, accédez à l'onglet Liste des serveurs. Le nom du groupe d'utilisateurs DOIT correspondre exactement au nom du profil de connexion sur le pare-feu. Dans cet exemple, IKEV2 était le profil de connexion / nom du groupe d'utilisateurs. Le protocole principal est configuré comme IPsec. Le nom d'affichage de l' est affiché pour l'utilisateur dans l'interface utilisateur du client sécurisé lors de l'établissement d'une connexion à ce profil de connexion.
Attention : une connexion SSL est requise pour transmettre des profils XML au client à partir du pare-feu. Lorsque vous utilisez uniquement IKEV2-IPsec, les profils XML doivent être envoyés aux clients via une méthode hors bande.
Une fois le profil XML envoyé au client, le client sécurisé utilise le groupe d'utilisateurs du profil XML pour se connecter au profil de connexion IKEV2-IPsec.
Entrez la section webvpn-attributes pour tunnel-group DefaultWEBVPNGroup et spécifiez l'authentification comme étant basée sur un certificat. Répétez cette procédure pour le DefaultRAGroup. Les utilisateurs qui accèdent à ces profils de connexion par défaut sont obligés de présenter un certificat pour l'authentification et n'ont pas la possibilité d'entrer un nom d'utilisateur et un mot de passe.
ASA# configure terminal
ASA(config)# tunnel-group DefaultWEBVPNGroup webvpn-attributes
ASA(config-tunnel-webvpn)# authentication certificate
ASA# configure terminal
ASA(config)# tunnel-group DefaultRAGroup webvpn-attributes
ASA(config-tunnel-webvpn)# authentication certificate
Ceci n'est nécessaire que si vous avez Hostscan / Secure Firewall Posture dans votre environnement. Cette étape empêche les pirates d'augmenter l'utilisation des ressources sur le pare-feu causée par le processus d'analyse des terminaux. Entrez la section webvpn-attributes pour les profils DefaultWEBVPNGroup et DefaultRAGroup et de connexion et implémentez without-csd pour désactiver la fonctionnalité d'analyse des points de terminaison.
ASA# configure terminal
ASA(config)# tunnel-group DefaultWEBVPNGroup webvpn-attributes
ASA(config-tunnel-webvpn)# without-csd
ASA# configure terminal
ASA(config)# tunnel-group DefaultRAGroup webvpn-attributes
ASA(config-tunnel-webvpn)# without-csd
Entrez le ou les groupes de tunnels auxquels les utilisateurs se connectent. S'il existe un alias de groupe existant, supprimez-le. Dans cet exemple, il est supprimé. Une fois cette opération terminée, créez une URL de groupe à l'aide du nom de domaine complet ou de l'adresse IP de l'interface de terminaison RAVPN. Le nom à la fin de l'URL du groupe doit être obscur. Évitez les valeurs courantes telles que VPN, AAA, RADIUS, LDAP, car elles permettent aux pirates de deviner plus facilement l'URL complète s'ils obtiennent le nom de domaine complet. Utilisez plutôt des noms significatifs en interne qui vous aident à identifier le groupe de tunnels.
ASA# configure terminal
ASA(config)# tunnel-group NAME webvpn-attributes
ASA(config-tunnel-webvpn)# no group-alias NAME
ASA(config-tunnel-webvpn)# group-url https://FQDN/name enable
À partir du mode de configuration globale, créez un mappage de certificat et attribuez-lui un nom et un numéro d'ordre. Définissez ensuite une règle à laquelle les utilisateurs doivent correspondre pour utiliser le mappage. Dans cet exemple, les utilisateurs doivent répondre aux critères d'une valeur de nom commun égale à « customvalue ». Entrez ensuite la configuration webvpn et appliquez le mappage de certificat au groupe de tunnels souhaité. Une fois terminé, entrez DefaultWEBVPNGroup et définissez ce groupe de tunnels comme valeur par défaut pour les utilisateurs qui ne parviennent pas à mapper le certificat. Si le mappage échoue, les utilisateurs sont dirigés vers DefaultWEBVPNGroup. Bien que DefaultWEBVPNGroup soit configuré avec l'authentification par certificat, les utilisateurs n'ont pas la possibilité de transmettre des informations d'identification de nom d'utilisateur ou de mot de passe.
ASA(config)# crypto ca certificate map NAME 1
ASA(config-ca-cert-map)# subject-name attr cn eq customvalue
ASA(config)# webvpn
ASA(config-webvpn)# certificate-group-map NAME 1 TG-NAME
ASA(config)# tunnel-group DefaultWEBVPNGroup webvpn-attributes
ASA(config-tunnel-webvpn)# tunnel-group-map default-group
En mode de configuration globale, vous pouvez modifier une stratégie de groupe existante ou en créer une nouvelle et entrer les attributs de cette stratégie de groupe. Une fois que vous êtes dans la section des attributs, activez IKEv2 en tant que seul protocole de tunnel VPN. Assurez-vous que cette stratégie de groupe est liée à un groupe de tunnels qui sera utilisé pour les connexions VPN d'accès à distance IPsec-IKEV2. Comme pour les étapes FMC, vous devez modifier le profil XML via l'Éditeur de profil VPN ou l'Éditeur de profil ASA et modifier le champ User Group pour qu'il corresponde au nom du groupe de tunnels sur l'ASA, et changer le protocole en IPsec.
ASA# configure terminal
ASA(config)# group-policy GP-NAME internal
ASA(config)# group-policy GP-NAME attributes
ASA(config-group-policy)# vpn-tunnel-protocol ikev2
ASA(config)# tunnel-group TG-NAME general-attributes
ASA(config-tunnel-general)# default-group-policy GP-NAME
Dans l'Éditeur de profil VPN ou l'Éditeur de profil ASA, accédez à l'onglet Liste des serveurs. Le nom du groupe d'utilisateurs DOIT correspondre exactement au nom du profil de connexion sur le pare-feu. Le protocole principal est configuré comme IPsec. Le nom d'affichage apparaît à l'utilisateur dans l'interface utilisateur Secure Client lors de l'établissement d'une connexion à ce profil de connexion.
Attention : une connexion SSL est requise pour transmettre des profils XML au client à partir du pare-feu. Lorsque vous utilisez uniquement IKEV2-IPsec, les profils XML doivent être envoyés aux clients via une méthode hors bande.
En résumé, l'objectif des pratiques de renforcement de ce document est de mapper des utilisateurs légitimes à des profils de connexion personnalisés tandis que les agresseurs sont forcés d'accéder au DefaultWEBVPNGroup et au DefaultRAGroup. Dans une configuration optimisée, les deux profils de connexion par défaut n'ont pas de configuration de serveur AAA personnalisée légitime. En outre, la suppression des alias de groupe empêche les pirates d'identifier facilement les profils de connexion personnalisés en supprimant la visibilité de la liste déroulante lors de la navigation vers le nom de domaine complet ou l'adresse IP publique du pare-feu.
Assistance technique de Cisco et téléchargements
Attaques par pulvérisation de mot de passe
Vulnérabilité d'accès non autorisé Septembre 2023
Guides de configuration FMC / FDM
Révision | Date de publication | Commentaires |
---|---|---|
3.0 |
27-Sep-2024 |
Correction des captures d'écran FMC « Without-CSD ». La recommandation pour les alias de groupe est passée de « Supprimer ou Désactiver » à « Supprimer ». |
2.0 |
24-Apr-2024 |
Ajout d'informations de clarification pour FDM. Développé sur les différences entre un groupe-alias et un groupe-url. |
1.0 |
12-Apr-2024 |
Première publication |