Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Configuration

Configurations sur ISE

Configurations sur le commutateur

Vérification

Dépannage

Introduction

Ce document décrit la procédure de configuration et d'implémentation d'une stratégie de posture de fichier pour Linux et Identity Services Engine (ISE).

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- AnyConnect

- Identity Services Engine (ISE)

- Linux

Components Used

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- Anyconnect 4.10.05085

- ISE version 3.1 P1

- Linux Ubuntu 20.04

- Commutateur Cisco Catalyst 3650. Version 03.07.05.E (15.12(3)E5)

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.

Configuration

Configurations sur ISE

Étape 1. Mettre à jour le service de posture :

Accédez à Centres de travail > Posture > Settings > Software Updates > Posture Updates. Sélectionnez Mettre à jour maintenant et attendez la fin du processus :

Un package fourni par Cisco est un package logiciel que vous téléchargez à partir du site Cisco.com, tel que les packages logiciels AnyConnect. Un package créé par le client est un profil ou une configuration que vous avez créé en dehors de l'interface utilisateur ISE et que vous souhaitez télécharger vers ISE pour une utilisation avec évaluation de la posture. Pour cet exercice, vous pouvez télécharger le package de déploiement Web AnyConnect “ anyconnect-linux64-4.10.05085-webdéploiement-k9.pkg ”.

Note: En raison des mises à jour et des correctifs, la version recommandée peut changer. Utilisez la dernière version recommandée du site cisco.com.

Étape 2.Télécharger le package AnyConnect :

À partir du centre de travail de la position, accédez à Provisioning client > Ressources

Étape 3. Sélectionnez Ajouter > Ressources d'agent à partir du disque local

Étape 4. Sélectionnez Packages fournis par Cisco dans la liste déroulante Catégorie.

Étape 5. Cliquez sur Browse.

Étape 6. Choisissez l’un des packages AnyConnect que vous avez téléchargés à l’étape précédente. L’image AnyConnect est traitée et les informations relatives au package s’affichent

Étape 7. Cliquez sur Submit. Maintenant qu'AnyConnect est téléchargé vers ISE, vous pouvez avoir un contact ISE et obtenir les autres ressources client à partir de Cisco.com.

Note: Les ressources de l'agent comprennent des modules utilisés par le client AnyConnect qui permettent d'évaluer la conformité d'un terminal pour diverses vérifications de conditions telles que l'antivirus, l'anti-espion, l'anti-programme malveillant, le pare-feu, le chiffrement de disque, les fichiers, etc.

Étape 8. Cliquez sur Add > Agent Resources from Cisco Site. Il faut une minute pour que la fenêtre s'affiche lorsque ISE parvient à Cisco.com et récupère un manifeste de toutes les ressources publiées pour le provisionnement du client.

Étape 9. Sélectionnez les derniers modules de conformité AnyConnect pour Linux. Vous pouvez également sélectionner le module de conformité pour Windows et Mac.

Étape 10. Sélectionnez les derniers agents temporels pour Windows et Mac.

Étape 11. Click Save.

Note: Les configurations MAC et Windows ne sont pas comprises dans ce guide de configuration.

À ce stade, vous avez téléchargé et mis à jour toutes les pièces requises. Il est maintenant temps de créer la configuration et les profils requis pour utiliser ces composants.

Étape 12. Cliquez sur Add > NAC Agent ou sur AnyConnect Posture Profile.

Les paramètres à modifier sont les suivants :

- Intervalle de détection VLAN : Ce paramètre vous permet de définir le nombre de secondes que le module attend entre la recherche des modifications de VLAN. La recommandation est de 5 secondes.

- Ping ou ARP : Il s’agit de la méthode de détection de changement de VLAN réelle. L'agent peut envoyer une requête ping à la passerelle par défaut ou surveiller le cache ARP pour que la passerelle par défaut arrive à expiration, ou les deux. Le paramètre recommandé est ARP.

- Minuteur de correction : Lorsque la position d'un point de terminaison est inconnue, le point de terminaison est soumis à un flux d'évaluation de la position. Il faut du temps pour remédier aux échecs des contrôles de posture ; la durée par défaut est de 4 minutes avant de marquer le point de terminaison comme non conforme, mais les valeurs peuvent varier de 1 à 300 minutes (5 heures). La recommandation est de 15 minutes ; toutefois, cela peut nécessiter des ajustements si l'assainissement est censé prendre plus de temps.

Note: La position des fichiers Linux ne prend pas en charge la correction automatique.

Pour obtenir une description complète de tous les paramètres, reportez-vous à la documentation relative à la position ISE ou AnyConnect.

Étape 13. Comportement de l'agent sélectionnez Liste de sauvegarde des sondes de posture et sélectionnez Choisir, sélectionnez le nom de domaine complet PSN/autonome et sélectionnez Enregistrer.

Étape 14. Sous Posture Protocols > Discovery Host, définissez l'adresse IP du noeud PSN/autonome.

Étape 15. Dans la liste des serveurs de sauvegarde Discovery et sélectionnez choisissez, sélectionnez votre nom de domaine complet PSN ou autonome et sélectionnez Sélectionner.

Étape 16. Sous Règles de nom de serveur, tapez * pour contacter tous les serveurs et définir l'adresse IP PSN/autonome dans la liste d'appel à domicile. Vous pouvez également utiliser un caractère générique pour faire correspondre tous les PSN potentiels de votre réseau (c'est-à-dire *.acme.com).

Étape 17. Cliquez sur Add > AnyConnect Configuration.

Faites défiler la liste vers le bas et sélectionnez Soumettre.

Étape 18. Lorsque vous avez terminé de sélectionner, cliquez sur Soumettre.

Étape 19. Sélectionnez Centres de travail > Posture > Provisioning client > Portals d'approvisionnement client.

Étape 20. Dans la section Paramètres du portail, où vous pouvez sélectionner l'interface et le port, ainsi que les groupes autorisés à la page Sélectionner un employé, SISE_Users et Utilisateurs du domaine.

Étape 21. Sous Paramètres de la page de connexion, assurez-vous que l'option Activer la connexion automatique est activée

Étape 22. Dans le coin supérieur droit, sélectionnez Enregistrer.

Étape 23.Sélectionnez Centres de travail > Position > Approvisionnement client > Stratégie d'approvisionnement client.

Étape 24. Cliquez sur la flèche vers le bas en regard de la règle IOS dans le CPP et choisissez Dupliquer au-dessus

Étape 25. Nommez la règle LinuxPosture

Étape 26. Pour Résultats, sélectionnez la configuration AnyConnect comme agent.

Note: Dans ce cas, vous ne voyez pas de liste déroulante de module de conformité car il est configuré dans le cadre de la configuration AnyConnect.

Étape 27. Cliquez sur Terminé.

Étape 28. Click Save.

Éléments de politique de positionnement

Étape 29.Sélectionnez Centres de travail > Posture > Eléments de stratégie > Conditions > Fichier. Sélectionnez Ajouter.

Étape 30.Définissez TESTFile comme nom de la condition de fichier et définissez les valeurs suivantes

Note: Le chemin d'accès est basé sur l'emplacement du fichier.

Étape 31. Sélectionnez Save (enregistrer)

FileExistence.Ce type de condition de fichier cherche à voir si un fichier existe dans le système où il est censé exister, et c'est tout. Si cette option est sélectionnée, il n'y a aucune préoccupation quant à la validation des dates du fichier, des hachages, etc.

Étape 32. Sélectionnez Exigences et créez une nouvelle stratégie comme suit :

Note: Linux ne prend pas en charge le texte du message uniquement en tant qu'action corrective

Composants requis

- Système d'exploitation : Tous Linux

- Module de conformité : 4.x

- Type de posture : AnyConnect

- Modalités: Modules et agents de conformité (disponibles après avoir sélectionné le système d'exploitation)

- Actions de correction : Corrections pouvant être sélectionnées après avoir choisi toutes les autres conditions.

Étape 33. Sélectionnez Centres de travail > Posture > Posture Policy

Étape 34. Sélectionnez Modifier sur n'importe quelle stratégie et sélectionnez Insérer une nouvelle stratégie Définissez LinuxPosturePolicy comme nom et assurez-vous d'ajouter votre exigence créée à l'étape 32.

Étape 35. Sélectionnez Terminé et Enregistrer

Autres paramètres importants (section Paramètres généraux)

Les paramètres importants de la section Paramètres généraux de la position sont les suivants :

- Minuteur de correction : Ce paramètre définit le temps nécessaire à un client pour corriger une condition de posture défaillante. Il existe également un compteur de correction dans la configuration AnyConnect ; ce compteur est pour ISE, pas pour AnyConnect.

- État de la position par défaut : Ce paramètre fournit l'état de position pour les périphériques sans agent de position ou les systèmes d'exploitation qui ne peuvent pas exécuter l'agent temporel, tels que les systèmes d'exploitation Linux.

- Intervalle de surveillance continue : Ce paramètre s'applique aux conditions d'application et de matériel qui font l'inventaire du terminal. Ce paramètre spécifie la fréquence à laquelle AnyConnect doit envoyer les données de surveillance.

- Politique d'utilisation acceptable en mode furtif : Les deux seuls choix possibles pour ce paramètre sont de bloquer ou de continuer. Block empêche les clients AnyConnect en mode furtif de continuer si l'AUP n'a pas été accusé de réception. Continuer permet au client en mode furtif de continuer même sans reconnaître l'AUP (ce qui est souvent l'intention lors de l'utilisation du paramètre de mode furtif d'AnyConnect).

Configurations de réévaluation

Les réévaluations de posture sont un élément essentiel du workflow de posture. Vous avez vu comment configurer l'agent AnyConnect pour la réévaluation de la position dans la section ” du “ Posture Protocol. L'agent se connecte régulièrement avec les PSN définis en fonction du compteur de cette configuration.

Lorsqu'une demande parvient au PSN, le PSN détermine si une réévaluation de la position est nécessaire, en fonction de la configuration ISE du rôle de ce point de terminaison. Si le client réussit la réévaluation, le PSN conserve l'état conforme à la posture du point d'extrémité et le bail de posture est réinitialisé. Si le point d'extrémité échoue à la réévaluation, l'état de la posture passe à Non conforme et tout bail de posture existant est supprimé.

Étape 36. Sélectionnez Stratégie > Éléments de stratégie > Résultats > Autorisation > Profil d'autorisation. Sélectionner Ajouter

Étape 37. Définissez Wired_Redirect comme profil d'autorisation et configurez les paramètres suivants

Étape 38. Sélectionnez Save (enregistrer)

Étape 39. Configurer les stratégies d'autorisation

Il existe trois règles d'autorisation préconfigurées pour la posture :

1. Le premier est configuré pour correspondre lorsque l'authentification réussit et la conformité d'un périphérique est inconnue.

2. La deuxième règle associe des authentifications réussies à des terminaux non conformes.

Note: Les deux premières règles ont le même résultat, qui est d'utiliser un profil d'autorisation préconfiguré qui redirige le point de terminaison vers le portail d'approvisionnement du client.

3. La règle finale correspond à l'authentification réussie et aux points de terminaison conformes à la position et utilise le profil d'autorisation PermitAccess prédéfini.

Sélectionnez Policy > Policy Set et sélectionnez la flèche droite pour Wired 802.1x - MAB Créé dans les travaux pratiques précédents.

Étape 40. Sélectionnez Stratégie d'autorisation et créez les règles suivantes

Configurations sur le commutateur

Note: La configuration ci-dessous fait référence à IBNS 1.0. Il peut y avoir des différences pour les commutateurs compatibles IBNS 2.0. Il inclut le déploiement en mode à faible impact.

username <admin> privilege 15 secret <password>

aaa new-model

!

aaa group server radius RAD_ISE_GRP

server name <isepsnnode_1>

server name

!

aaa authentication dot1x default group RAD_ISE_GRP

aaa authorization network default group RAD_ISE_GRP

aaa accounting update periodic 5

aaa accounting dot1x default start-stop group RAD_ISE_GRP

aaa accounting dot1x default start-stop group RAD_ISE_GRP

!

aaa server radius dynamic-author

client  server-key

client  server-key

!

aaa session-id common

!

authentication critical recovery delay 1000

access-session template monitor

epm logging

!

dot1x system-auth-control

dot1x critical eapol

!

# For Access Interfaces:

interface range GigabitEthernetx/y/z - zz

description VOICE-and-Data

switchport access vlan

switchport mode access

switchport voice vlan

ip access-group ACL_DEFAULT in

authentication control-direction in # If supported

authentication event fail action next-method

authentication host-mode multi-auth

authentication open

authentication order dot1x mab

authentication priority dot1x mab

authentication port-control auto

# Enables preiodic re-auth, default = 3,600secs

authentication periodic

# Configures re-auth and inactive timers to be sent by the server

authentication timer reauthenticate server

authentication timer inactivity server

authentication violation restrict

mab

snmp trap mac-notification change added

snmp trap mac-notification change removed

dot1x pae authenticator

dot1x timeout tx-period 10

dot1x timeout server-timeout 10

dot1x max-req 3

dot1x max-reauth-req 3

auto qos trust

# BEGIN - Dead Server Actions -

authentication event server dead action authorize vlan

authentication event server dead action authorize voice

authentication event server alive action reinitialize

# END - Dead Server Actions -

spanning-tree portfast

!

# ACL_DEFAULT #

! This ACL can be customized to your needs, this is the very basic access allowed prior

! to authentication/authorization. Normally ICMP, Domain Controller, DHCP and ISE

! http/https/8443 is included. Can be tailored to your needs.

!

ip access-list extended ACL_DEFAULT

permit udp any eq bootpc any eq bootps

permit udp any any eq domain

permit icmp any any

permit udp any any eq tftp

permit ip any host

permit ip any host

permit tcp any host  eq www

permit tcp any host  eq 443

permit tcp any host  eq 8443

permit tcp any host  eq www

permit tcp any host  eq 443

permit tcp any host  eq 8443

!

# END-OF ACL_DEFAULT #

!

# ACL_REDIRECT #

! This ACL can be customized to your needs, this ACL defines what is not redirected

! (with deny statement) to the ISE. This ACL is used for captive web portal,

! client provisioning, posture remediation, and so on.

!

ip access-list extended ACL_REDIRECT_AV

remark Configure deny ip any host  to allow access to

deny   udp any any eq domain

deny   tcp any any eq domain

deny   udp any eq bootps any

deny   udp any any eq bootpc

deny   udp any eq bootpc any

remark deny redirection for ISE CPP/Agent Discovery

deny   tcp any host  eq 8443

deny   tcp any host  eq 8905

deny   udp any host  eq 8905

deny   tcp any host  eq 8909

deny   udp any host  eq 8909

deny   tcp any host  eq 8443

deny   tcp any host  eq 8905

deny   udp any host  eq 8905

deny   tcp any host  eq 8909

deny   udp any host  eq 8909

remark deny redirection for remediation AV servers

deny   ip any host

deny   ip any host

remark deny redireciton for remediation Patching servers

deny   ip any host

remark redirect any http/https

permit tcp any any eq www

permit tcp any any eq 443

!

# END-OF ACL-REDIRECT #

!

ip radius source-interface

!

radius-server attribute 6 on-for-login-auth

radius-server attribute 6 support-multiple

radius-server attribute 8 include-in-access-req

radius-server attribute 55 include-in-acct-req

radius-server attribute 55 access-request include

radius-server attribute 25 access-request include

radius-server attribute 31 mac format ietf upper-case

radius-server attribute 31 send nas-port-detail

radius-server vsa send accounting

radius-server vsa send authentication

radius-server dead-criteria time 30 tries 3

!

ip http server

ip http secure-server

ip http active-session-modules none

ip http secure-active-session-modules none

!

radius server

address ipv4  auth-port 1812 acct-port 1813

timeout 10

retransmit 3

key

!

radius server

address ipv4  auth-port 1812 acct-port 1813

timeout 10

retransmit 3

key

!

aaa group server radius RAD_ISE_GRP

server name

server name

!

mac address-table notification change

mac address-table notification mac-move

Vérification

Vérification ISE :

Cette section suppose qu'AnyConnect avec le module ISE a déjà été installé sur le système Linux.

Authentifier le PC à l'aide de dot1x

Étape 1. Accéder aux paramètres réseau

Étape 2. Sélectionnez l'onglet Sécurité et fournissez la configuration 802.1x et les informations d'identification de l'utilisateur.

Étape 3. Cliquez sur “ Appliquer ”.

Étape 4.Connectez le système Linux au réseau câblé 802.1x et validez dans le journal ISE en direct :

Dans ISE, utilisez la barre de défilement horizontale pour afficher des informations supplémentaires, telles que le PSN qui a servi le flux ou l'état de la position :

Étape 5. Sur le client Linux, une redirection doit se produire, et elle présente le portail d'approvisionnement du client indiquant que la vérification de la position a lieu et cliquez sur “ Démarrer ” :

Patientez quelques secondes pendant que le connecteur tente de détecter AnyConnect :

En raison d’une mise en garde connue, même si AnyConnect est installé, il ne le détecte pas. Utilisez Alt-Tab ou le menu Activités pour basculer vers le client AnyConnect.

AnyConnect tente d'atteindre le PSN pour la politique de posture et d'évaluer le terminal par rapport à celui-ci.

AnyConnect renvoie à ISE sa détermination de la politique de posture. Dans ce cas, conforme

D'autre part, si le fichier n'existe pas, le module de posture AnyConnect signale la détermination à ISE

Note: Le FQDN ISE doit pouvoir être résolu sur le système Linux via le fichier DNS ou hôte local.

Dépannage

show authentication sessions int fa1/0/35

Rediriger en place :

Autorisation réussie :

Non conforme, déplacé vers VLAN et ACL de quarantaine :