Cisco ISE : Différence entre versions

De Wiki_DR13
Aller à : navigation, rechercher
(Live Logs)
(Live Logs)
Ligne 41 : Ligne 41 :
 
* les informations liées à l'AD : CN (''AD-Host-Resolved-DNs'') et Groupe du client (''AD-Groups-Names'')
 
* les informations liées à l'AD : CN (''AD-Host-Resolved-DNs'') et Groupe du client (''AD-Groups-Names'')
  
En cas d'erreur, un code et un intitulé sont fournis dans le champs ''Event''.  
+
En cas d'erreur, un code d'erreur et un intitulé sont fournis dans le champs ''Event''.  
  
 
Si la description fournie est peu claire, le document '''Debug_ISE.xlsx''' sur ''Mars\services\SSI\Logiciels et licences\CISCO ISE'' contient l'ensemble des codes d'erreur et leur signification
 
Si la description fournie est peu claire, le document '''Debug_ISE.xlsx''' sur ''Mars\services\SSI\Logiciels et licences\CISCO ISE'' contient l'ensemble des codes d'erreur et leur signification

Version du 9 novembre 2022 à 17:27

Sommaire

Renseignements principaux

  • nœud 1 : 10.13.102.221/24
  • nœud 2 : 10.13.102.222/24
  • Serveurs NAC MOY1300
  • Virtualisé sur cluster VMware
  • Identifiants compte admin dans KeePassX du campus, sur Mars\services\SSI\pwd
  • Nœud primaire - Gestion de l'ensemble des fonctionnalités d'ISE
  • Nœud secondaire - Gestion d'ISE en cas de plantage du nœud primaire + quelques autres fonctions (ex : conf NTP)
  • Pour l'accès à l'interface web, privilégier Chromium et ses dérivés

Debugging

Debugging Authentification clients

Statut des nœuds

À vérifier depuis Administration → System → Deployment → Deployment Nodes.

Interface Web

Live Logs

La page Operations → RADIUS → Live logs permet de visualiser les différentes étapes liées au processus d’authentification d’un client.

En revanche le nombre d'entrées présentées est limité. Si la tentative d'authentification n'apparaît pas, voir la section suivante : **Reports**.

L'affichage des clients peut se faire selon plusieurs critères :

  • Statut (Auth Passed/Auth Failed)
  • Identité (username)
  • adresse MAC
  • Type de device (marque / type d'équipement)
  • Politique d'authentification utilisée (DR13 / SHD)
  • VLAN
  • Switch

On clique sur l’icône dans la colonne au niveau de la ligne correspondant à notre client afin d’afficher des informations détaillées. On retrouve notamment :

  • les étapes de la phase d'authentification
  • la policy que le client a matché (Authorization Policy)
  • le VLAN qui lui a été attribué (Authorization Result)
  • les informations liées à l'AD : CN (AD-Host-Resolved-DNs) et Groupe du client (AD-Groups-Names)

En cas d'erreur, un code d'erreur et un intitulé sont fournis dans le champs Event.

Si la description fournie est peu claire, le document Debug_ISE.xlsx sur Mars\services\SSI\Logiciels et licences\CISCO ISE contient l'ensemble des codes d'erreur et leur signification

Reports

Pour obtenir un historique des authentifications sur les 7 derniers jours, aller dans Operations → Reports → Reports → Endpoints and Users → RADIUS Authentications.

/!\ Il faut être patient pour l'affichage des entrées les plus anciennes.

Les fonctionnalités sont identiques à celles de la page Live Logs.

Logs sur Vesta

Pour obtenir un historique des authentifications sur une année, se connecter à Vesta (compte root dans KeePassX du campus, sur Mars\services\SSI\pwd).

Se rendre dans /var/log/HOSTS/YYYY/MM/DD/PROD-ISE-1 pour afficher le contenu du fichier local6.log

Outils de diagnostic

RADIUS Authentication Troubleshooting
  • 1. Renseigner l'identifiant de connexion ou l'adresse MAC du client
  • 2. Cliquer sur Search
  • 3. Sélectionner la ligne dont le status est failed
  • 4. Cliquer sur Troubelshoot
  • 5. Cliquer sur Show Result Summary

Le résultat contient l'identification du problème rencontré et indique quel élément de configuration entraîne un problème d'authentification du client.

Endpoint Debug

/!\ Très très verbeux !!

Pour obtenir des logs plus précis à partir de l'adresse MAC ou l'adresse IP du client :

  • 1. Se rendre dans Operations → Troubleshoot → Diagnostic Tools → EndPoint Debug
  • 2. Cliquer sur Start
  • 3. Initier une connexion au réseau depuis le client à debugguer
  • 4. Télécharger les logs

C’est cette méthode qui nous a permis d’identifier une erreur protocolaire empêchant l’authentification 802.1X sur les anciennes imprimantes SHARP.

Switch Cisco

Statut sessions 802.1X

Affichage du résumé du statut des clients 802.1X sur toutes les interfaces.

show dot1x all summary
Interface             PAE             Client                   Status 
-----------------------------------------------------------------------------------
Gi1/0/3               AUTH            f09f.fc14.df78           AUTHORIZED

Détail d'une session sur une interface

show dot1x interface GigabitEthernet1/0/3 details
Dot1x Info for GigabitEthernet1/0/3
-----------------------------------
PAE                       = AUTHENTICATOR
PortControl               = AUTO
...

VLAN mapping

Visualiser le VLAN associé à chaque port.

show vlan

Logging 802.1X

Activer les logs dot1x.

debug dot1x all

Switch Juniper

Visualiser les sessions 802.1X

show dot1x interface
802.1X Information:
Interface     Role           State           MAC address          User
ge-0/0/1      Authenticator  Authenticated   00:a0:d2:18:1a:c8    user

Détail d'une session sur une interface

show dot1x interface ge-0/0/1.0 detail
ge-0/0/1.0
 Role: Authenticator
 Administrative state: Auto
...

VLAN mapping

Visualiser le VLAN associé à chaque port.

show vlans

Logging 802.1X

Exemple : afficher les 10 dernières entrées du fichier de logs dot1x

show log dot1x | last 10

Etats des serveurs radius

show network-access aaa radius-servers

 Profile: 8021x-auth
   Server address: 10.13.102.221
     Authentication port: 1812
     Accounting port: 1813
     Status: UP
   Server address: 10.13.102.222
     Authentication port: 1812
     Accounting port: 1813
     Status: UP

Debugging nœuds ISE

Statut des nœuds

À vérifier depuis Administration → System → Deployment → Deployment Nodes.

Statut des services

Commande à exécuter en CLI via SSH sur n’importe quel nœud.

show application status ise

Jonction avec l'AD

Vérifier dans Administration → Identity Management → External Identity Sources → Active Directory → Node View

Plantage nœud secondaire

Redémarrer le nœud en CLI via SSH (~15/20min).

reload

Plantage nœud primaire

Sur nœud secondaire, vérifier si la bascule a fonctionné (accès à l'ensemble des menus d'administration).

Sinon, aller à Deployment → Promote to Primary

Sur nœud primaire, redémarrer en CLI via SSH (~15/20min) :

reload

Plantage complet

Redémarrer nœud primaire puis nœud secondaire :

reload

Maintenance

Déploiement Patch de sécu

Sur nœud primaire : Administration → System → Maintenance → Installed Patches → Install → Parcourir... → Sélectionner le fichier → Install

Une fois le patch installé sur le nœud 1, il va être déployé automatiquement sur le nœud 2.

Vérifier l’état d’avancement du déploiement dans Administration → System → Maintenance → Installed Patches → Numéro_de_patch → Show Node Status

Déploiement Hotpatch

Hotpatch = patch de sécu déployé en urgence en cas de faille de sécu à haut impact (ex : Log4Shell).

Télécharger le hotpatch et le copier sur le serveur SFTP (compte root dans KeePassX du campus sur Mars\services\SSI\pwd).

scp hotpatch_file.tar.gz root@10.13.102.118:/var/sftp/hotpatch/

Création répertoire sur disque local d'ISE.

conf t
mkdir disk:/hotpatch
repository hotpatch
url disk:/hotpatch

Copie fichier hotpatch via SFTP (SCP non supporté). Le compte utilisateur dédié au service SFTP se trouve dans le KeePassX du campus sur Mars\services\SSI\pwd

copy sftp://10.13.102.118/hotpatch/hotpatch_file.tar.gz disk:/hotpatch

Installation du hotpatch.

application install hotpatch_file.tar.gz hotpatch

Les hotpatch ne sont pas visibles depuis l’interface web d’ISE. Seule cette commande permet d’obtenir les informations les concernant.

show logging application hotpatch.log 
Thu Feb 17 16:32:42 CET 2022 => CSCwa47133_3.1.0.518_patch1

MAJ d'ISE

Étapes d'une MAJ

  • Mettre à jour le nœud secondaire en CLI. Le processus de mise à jour va automatiquement supprimer la déclaration de ce nœud sur le nœud primaire puis le second nœud va devenir le nœud primaire lors du redémarrage survenant à la fin de la MAJ.
  • Mettre à jour l’ancien nœud primaire en CLI. Le processus de mise à jour va automatiquement enregistré le nœud en tant que nœud secondaire
  • Promouvoir le nouveau nœud secondaire afin qu’il retrouve sa place initiale de nœud primaire

Mise à jour CLI via SSH

Création répertoire sur disque local d'ISE.

conf t
mkdir disk:/upgrade
repository upgrade
url disk:/upgrade

Téléchargement du fichier d’upgrade en récupérant son nom depuis le site web de Cisco.

IMPORTANT : Comparer la valeur du hash avec celle sur le site de Cisco afin de vérifier l’intégrité du fichier

application upgrade prepare ise-upgradebundle-1.3.x-and-1.4.x-to-2.0.1.130.x86_64.tar.gz upgrade 

Installation de la MAJ.

application upgrade proceed

Redémarrage d’un nœud = ~20 minutes. Durant 1 MAJ, 2 redémarrages consécutifs d'un nœud ont lieu. Il faut être patient...

Une fois la mise à jour terminée, si les nœuds contiennent d’anciens logs, exécuter la commande application configure ise et choisir 5 (Refresh Database Statistics) sur ces nœuds.

Renouvellement des certificats

L'import de nouveaux certificats s'effectue depuis Administration → System → Certificates.

Dans la section Usage, cocher :

  • Admin
  • EAP Authentication
  • RADIUS DTLS

Changement de DNS

Se connecter en CLI via SSH sur le nœud primaire puis exécuter les commandes suivantes :

conf t
no ip name-server ancienne_IP
ip name-server nouvelle_IP

Sur le nœud secondaire, le promouvoir en tant que maître depuis Deployment → Promote to Primary

Sur nœud primaire, redémarrer en CLI via SSH (~15/20min) :

reload

Faire de même pour le nœud secondaire en promouvant à nouveau le nœud 1 comme nœud primaire.

Réinstallation complète d'ISE

Nœud primaire

Déploiement de la VM

  • Extraire l'OVA d'ISE
  • Cliquer droit sur le cluster CAMPUS puis cliquer sur Deploy OVF Template...
  • Sélectionner les fichiers OVF et VMDK contenus dans l'OVA d'ISE
  • Compléter le déploiement en choisissant un node, un datastore, un réseau et l'édition de la VM → Small

Première configuration

Cette étape prend ~ 30min.

Au démarrage, un login est demandé. L'ignorer et entrer setup pour configurer ISE.

/!\ Le nœud primaire doit avoir le même hostname que son prédécesseur !

Suivre la configuration en renseignant les informations demandées : Hostname, IP, gateway, DNS, NTP, identifiants compte admin.

Changement du statut du nœud

  • Se rendre à l'adresse http://@IP
  • Entrer les identifiants du compte admin configuré précédemment
  • Se rendre dans Administration → System → Deployment → Cocher le nœud → Edit → cliquer sur Make Primary

Ajout du repository SFTP

Se rendre dans Administration → System → Maintenance → Repository → Add.

Remplir les champs comme suit :

  • Repository Name : SFTP-deleg
  • Protocol : SFTP
  • Server Name : 10.13.102.118
  • Path : /ise-backups
  • User Name : sftp
  • Password : Voir compte sftp dans KeePassX du campus sur Mars\services\SSI\pwd

Se connecter en CLI via SSH pour ajouter la host_key du serveur SFTP.

crypto host_key add host 10.13.102.118

Restaurer la configuration

Compter ~ 40min pour la restauration + ~20 min avant d'avant accès à l'interface web.

Se connecter en CLI via SSH et exécuter la commande ci-après (pour le mot de passe, voir ISE - Clé chiffrement backup dans KeePassX du campus sur Mars\services\SSI\pwd):

restore Save_ISE_Config-CFG10-YYMMDD-0000.tar.gpg repository SFTP-deleg encryption-key plain <password>

La restauration en CLI permet de suivre les différentes étapes de la restauration contrairement à une restauration via le web.

Nœud secondaire

/!\ Le nœud secondaire doit avoir le même hostname que son prédécesseur !

  • Suivre les étapes du nœud primaire en s'arrêtant à la fin de la partie Première configuration
  • Se rendre dans Administration → System → Deployment → Cocher le nœud → Edit → cliquer sur Make Secondary
  • Vérifier le statut des nœuds dans Administration → System → Deployment

Configuration des clients

Imprimantes

Création utilisateur dans l'AD

Créer l'utilisateur dans ad.dr13.cnrs.fr → DR13 → Utilisateurs → divers, avec :

  • Nom complet : nom de l'imprimante
  • Description : Compte NAC ISE
  • Membre de : NAC_Printers
  • Cocher : L'utilisateur ne peut pas changer de mot de passe et Le mot de passe n'expire jamais

Ajouter le mot de passe de l'utilisateur créé dans le KeePassX du campus sur Mars\services\SSI\pwd.

Configuration réseau

Se connecter à l'interface web puis se rendre dans Réglages système → Réglages réseau → Réglages de l'interface.

Dans la section Réglage IEEE802.1X, renseigner les infos suivantes :

  • Authentification IEEE802.1X: Activer
  • Méthode d'authentification EAP: PEAP
  • Nom d'utilisateur EAP: printer_username_AD
  • Mot de passe: printer_pwd_AD

PC sous Linux

Avec WPA Supplicant

Éditer le fichier /etc/wpa_supplicant/wpa_supplicant-wired-adapter.conf en remplaçant adapter par l'ID de la carte réseau.

ctrl_interface=/run/wpa_supplicant
ap_scan=0
network={
  key_mgmt=IEEE8021X
  eap=PEAP
  identity="AD_username"
  password="AD_password"
  phase2="autheap=MSCHAPV2"
}

Attribuer les droits suivants au fichier de conf.

sudo chown root:root wpa_supplicant-wired-adapter.conf
sudo chmod 600 wpa_supplicant-wired-adapter.conf

Pour utiliser un hash du mot de passe à la place d'un texte en clair, la directive password doit être modifiée comme suit.

password=hash:hash_of_plaintext_password

Obtenir un hash du mot de passe.

iconv -t utf16le | openssl md4

Après avoir exécuté la commande ci-dessus, saisir le mot de passe, appuyer sur Entrée puis Ctrl+D.

Avant d'activer le service associé à la carte réseau, on la désactive.

sudo ip link set adapter down

Activer le service systemd associé à l'interface (changements appliqués au prochain redémarrage).

systemctl enable wpa_supplicant-wired@interface.service

Avec Netplan

Modifier le fichier /etc/netplan/netcfg.yaml.

network:
  version: 2
  ethernets:
    adapter:
      dhcp4: true
      auth:
        key-management: 802.1x
        method: peap
        identity: AD_username
        password: AD_password

Pour utiliser un hash du mot de passe à la place d'un texte en clair, la directive password doit être modifiée comme suit.

password: hash:hash_of_plaintext_password

Obtenir un hash du mot de passe.

iconv -t utf16le | openssl md4

Après avoir exécuté la commande ci-dessus, saisir le mot de passe, appuyer sur Entrée puis Ctrl+D.

Appliquer les changements apportés à Netplan puis redémarrer.

sudo netplan apply
sudo reboot

PC sous Windows

Configurés selon la GPO définie dans ad.dr13.cnrs.fr → DR13 → Services → 802.1x Filaire DR13.

  • Active 802.1X et pousse la configuration
  • Active le service Configuration Automatique de réseau câblé de manière Automatique
  • Pousse les certificats racine GEANT OV

Déclaration d'éléments réseau

Ajout d'un VLAN

Dans Policy → Policy Elements → Results → Authorization → Authorization Profiles → Add :

  • Renseigner un nom
  • Définir le type d'accès sur ACCESS_ACCEPT
  • Dans Common Tasks, cocher VLAN et indiquer l'ID/Name du VLAN.

Ajout de switch

Un switch

/!\ Conf SNMP non fonctionnelle sur les SW Juniper !

Dans Administration → Network Resources → Network Devices → Add :

  • Name : Sw-DR-BatX-Y
  • Description : Commut Y BAT X
  • IP Address : 10.13.105.ZZZ/32
  • Device Profile : Cisco_DR13 ou Juniper_EX_DR13
  • Model Name : À adapter
  • Software version : À adapter
  • Location : Switch DR13 / Switch Campus - Batiment X
  • Device Type : Cisco Switch / Juniper Switch
  • Shared Secret : À copier dans conf du SW (Voir KeePassX du campus, sur Mars\services\SSI\pwd)
  • CoA Port : 1700 (Cisco) / 3799 (Juniper)
  • SNMP Version : 3
  • SNMP Username : ISE
  • Security Level : Priv
  • Auth Protocol : SHA
  • Auth Password : Voir KeePassX du campus, sur Mars\services\SSI\pwd
  • Privacy Protocol : AES256
  • Privacy Password : Voir KeePassX du campus, sur Mars\services\SSI\pwd

Liste de switchs

Télécharger le fichier template_switch.csv situé sur Mars\services\SSI\Logiciels et licences\CISCO ISE.

Adapter les champs suivants pour chacun des switch en s'inspirant des templates Cisco et Juniper :

  • Name
  • Description
  • IP Address
  • Network Device Groups

Importer le fichier depuis Administration → Network Resources → Network Devices → Import.

Ajout d'un AD

Dans Administration → Identity Management → External Identity Sources → Active Directoy → Add, renseigner :

  • Nom
  • FQDN
  • identifiants utilisateur avec droits d'admin

Ajout de règles

Protocoles utilisés

Possibilité de créer (bouton Add) un profil rassemblant un ensemble de protocoles (MAB, EAP-TLS,...) qui vont être utilisés pour l'authentification. Avant d'en définir de nouveaux, voir ceux pré-existants (DR13-DOT1X et SHD-DOT1X).

Définir de nouveaux profils depuis le menu Policy → Policy Elements → Results → Authentication → Allowed protocols

Policy Sets

Indiquer ensuite des conditions qui vont permettre de définir des ensembles de règles (Policy Sets).

Ces conditions sont définies dans Policy → Policy Sets. Possibilité d'ajout via le bouton + en haut à gauche dans le tableau ou duplication à partir de la roue crantée.

Les tentatives de connexion sont séparées selon 2 conditions :

  • le type de connexion (filaire, sans fil)
  • le type de switch (DR13 ou Campus)

Règles d’autorisation d'accès au réseau

Menu permettant de définir une règle accessible en cliquant sur le chevron bleu située sur la droite au niveau de la colonne View.

Ajout d'une règle : Authorization Policy puis cliquer sur le bouton + en haut à gauche dans le tableau ou la roue crantée pour dupliquer.

Éditeur de règles

Configuration d'une règle

Comporte 2 parties :

  • Bibliothèque de conditions et règles pré-existantes
  • L'éditeur en lui-même permettant d'accorder un accès réseau à une machine selon un ensemble d'attributs (certificat, identity group,...) et leurs valeurs respectives.

IMPORTANT : Une fois l'édition d'une règle terminée, 2 possibilités pour l'appliquer :

  • La sauvegarder (bouton Save) pour la réutiliser ultérieurement (elle sera alors stockée dans la bibliothèque évoquée ci-dessus). En revanche, seul le nom de cette règle sera affiché dans la section Policy Sets au lieu des éléments qui la constitue
  • L’utiliser (bouton Use) pour que le détail des éléments composant une condition soit visible dans la section Policy Sets. En revanche, il faut réécrire intégralement la règle pour la réutiliser

Exemple : fonctionnement de la règle DR13 Printers

L'ensemble de règles nommé DR13-DOT1X-wired authentifie toutes les machines se connectant en filaire via 802.1X sur un switch appartenant à la DR13.

Exemple : les imprimantes se connectent via PEAP afin d'obtenir un accès au vlan 150.

La règle DR13 Printers définie dans Policy → Policy Sets → DR13-DOT1X-wired → Authorization Policy indique que la machine souhaitant obtenir un accès au VLAN 150 doit appartenir au groupe NAC_printers dont la référence dans l'AD est égale à ad.dr13.cnrs.fr/DR13/Utilisateurs/groupes/NAC_Printers.

Exemple de configuration d'une règle MAB

Certains clients ne supporte pas 802.1X. Il existe un mode dégradé MAB (MAC Authentication Bypass) utilisant l'adresse MAC du client pour l'authentifier.

Exemple de configuration pour la DR13 ci-après.

Identity Group

Créer un groupe d’identité (contient les adresses MAC des clients non compatibles 802.1X) depuis Administration → Identity Management → Groups → Endpoint Identity Groups → Add.

  • Name : DR13-MAB-Clients
  • Description : DR13 MAB clients group

Cliquer sur Submit.

Ajouter un endpoint

Pour ajouter des équipements à partir de leur adresse MAC, il faut que ces derniers se soient connectés à un switch dialoguant avec ISE. Pour se faire, on se rend dans Administration → Identity Management → Groups → Endpoint Identity Groups → DR13-MAB-Clients → Add.

Ajouter une liste d'endpoints

Pour ajouter une liste d'endpoints au groupe, il faut importer un fichier CSV. Télécharger le template depuis Context Visibility → Endpoints → Import → Import From File → Generate a Template.

Exemple des champs à remplir pour insérer une imprimante :

  • MAC Address : F0:9F:FC:AA:BB:CC
  • IdentityGroup : DR13-MAB-Clients
  • Location : Location#All Locations#Switchs DR13#Batiment A
  • User-Name : F0-9F-FC-AA-BB-CC
  • StaticAssignment : false
  • StaticGroupAssignment : true

Une fois le fichier CSV terminé, l'importer depuis Context Visibility → Endpoints → Import → Import From File.

Policy Set

Dans Policy → Policy Sets, ajout d'un Policy Set nommé DR13-MAB via le bouton + en haut à gauche dans le tableau.

Cliquer sur + dans la colonne Conditions.

Définir les conditions d'application de cette règle comme suit :

  • 1. Cliquer sur AND
  • 2. Déplacer le bloc Wired_MAB (à gauche) vers le bloc contenant NEW | AND | OR
  • 3. Cliquer sur NEW
  • 4. Sélectionner Click to add an attribute → Location → Device Location
  • 5. Sélectionner Starts with dans le menu déroulant contenant Equals par défaut
  • 6. Dans Choose from list or type, sélectionner All Locations#Switchs DR13
  • 7. Cliquer sur Use tout en bas à droite

Terminer en renseignant la colonne Allowed Protocols avec DR13-DOT1X.

Règle d’autorisation d'accès au réseau

Pour définir une règle, cliquer sur le chevron bleu située sur la droite au niveau de la colonne View.

Ajouter une règle DR13 Clients MAB dans Authorization Policy en cliquant sur le bouton + en haut à gauche dans le tableau.

Clique sur + dans la colonne Conditions.

Définir les conditions d'application de cette règle comme suit :

  • 1. Sélectionner Click to add an attribute → Identity group → IdentityGroup-Name
  • 2. Laisser la valeur par défaut Equals
  • 3. Dans Choose from list or type, sélectionner DR13-MAB-Clients
  • 4. Cliquer sur Use tout en bas à droite

Indiquer le VLAN adéquat dans la colonne Profiles.

Laisser la colonne Security Groups vide.