Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Configurazioni su ISE

Configurazioni sullo switch

Verifica

Risoluzione dei problemi

Introduzione

Questo documento descrive la procedura per configurare e implementare un criterio di postura dei file per Linux e Identity Services Engine (ISE).

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- AnyConnect

- Identity Services Engine (ISE)

- Linux

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- Anyconnect 4.10.05085

- ISE versione 3.1 P1

- Linux Ubuntu 20.04

- Cisco Switch Catalyst 3650. Versione 03.07.05.E (15.12(3)E5)

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Configurazione

Configurazioni su ISE

Passaggio 1. Aggiornare il servizio di postura:

Passare a Centri di lavoro > Postura > Impostazioni > Aggiornamenti software > Aggiornamenti postura. Selezionare Aggiorna e attendere il completamento del processo:

Un pacchetto fornito da Cisco è un pacchetto software che viene scaricato dal sito Cisco.com, ad esempio i pacchetti software AnyConnect. Un pacchetto creato dal cliente è un profilo o una configurazione creata al di fuori dell'interfaccia utente ISE e che si desidera caricare nell'ISE per una valutazione della postura. Per questo esercizio, è possibile scaricare il pacchetto AnyConnect webdeploy "anyconnect-linux64-4.10.05085-webdeploy-k9.pkg".

Nota: A causa di aggiornamenti e patch, la versione consigliata può cambiare. Utilizzare la versione più recente consigliata dal sito cisco.com.

Passaggio 2. Caricare il pacchetto AnyConnect:

Dal centro di lavoro di postura, passare a Provisioning client > Risorse

Passaggio 3. Selezionare Aggiungi > Risorse agente da disco locale

Passaggio 4. Selezionare Pacchetti forniti da Cisco dall'elenco a discesa Categoria.

Passaggio 5. Fare clic su Sfoglia.

Passaggio 6. Scegliere uno dei pacchetti AnyConnect scaricati nel passaggio precedente. L'immagine AnyConnect viene elaborata e vengono visualizzate le informazioni sul pacchetto

Passaggio 7. Fare clic su Sottometti. Ora che AnyConnect è stato caricato su ISE, è possibile contattare ISE e ottenere le altre risorse client da Cisco.com.

Nota: Le risorse agente includono moduli utilizzati dal client AnyConnect che consentono di valutare la conformità di un endpoint per una serie di controlli delle condizioni, ad esempio antivirus, antispyware, antimalware, firewall, crittografia del disco, file e così via.

Passaggio 8. Fare clic su Aggiungi > Risorse agente dal sito Cisco. Il completamento della finestra richiede un minuto quando ISE raggiunge Cisco.com e recupera un manifesto di tutte le risorse pubblicate per il provisioning del client.

Passaggio 9. Selezionare i moduli di conformità AnyConnect più recenti per Linux. Inoltre, puoi anche selezionare il modulo di conformità per Windows e Mac.

Passaggio 10. Selezionare gli ultimi agenti temporali per Windows e Mac.

Passaggio 11. Fare clic su Salva.

Nota: Le configurazioni di postura di Windows e MAC non rientrano nell'ambito di questa guida alla configurazione.

A questo punto, sono state caricate e aggiornate tutte le parti necessarie. È giunto il momento di creare la configurazione e i profili necessari per utilizzare tali componenti.

Passaggio 12. Fare clic su Add > NAC Agent o AnyConnect Posture Profile.

I parametri da modificare sono:

- Intervallo di rilevamento VLAN: Questa impostazione consente di impostare il numero di secondi di attesa del modulo tra il rilevamento delle modifiche alla VLAN. Si consiglia 5 secondi.

- Ping o ARP: Questo è il metodo di rilevamento delle modifiche alla VLAN. L'agente può eseguire il ping del gateway predefinito o monitorare la cache ARP per verificare che la voce del gateway predefinito abbia un timeout o entrambi. L'impostazione consigliata è ARP.

- Timer di monitoraggio e aggiornamento: Quando la postura di un endpoint è sconosciuta, l'endpoint viene sottoposto a un flusso di valutazione della postura. Occorre del tempo per porre rimedio ai controlli di postura falliti; il tempo predefinito è 4 minuti prima che l'endpoint venga contrassegnato come non conforme, ma i valori possono variare da 1 a 300 minuti (5 ore). La raccomandazione è di 15 minuti; tuttavia, ciò potrebbe richiedere degli aggiustamenti se ci si aspetta che le misure correttive richiedano più tempo.

Nota: Linux File Posture non supporta il monitoraggio e l'aggiornamento automatici.

Per una descrizione completa di tutti i parametri, consultare la documentazione sulla postura di ISE o AnyConnect.

Passaggio 13. Comportamento dell'agente: selezionare Elenco di backup richieste postura e scegliere Scegli, selezionare il nome di dominio completo (FQDN) PSN/Standalone e Seleziona salvataggio

Passaggio 14. In Protocolli di postura > Host di individuazione definire l'indirizzo IP del nodo PSN/Standalone.

Passaggio 15. Dall'elenco dei server di backup di individuazione e selezionare scegli, selezionare il PSN o il FQDN autonomo e selezionare Seleziona.

Passaggio 16. In Regole nome server digitare * per contattare tutti i server e definire l'indirizzo IP PSN/Standalone in call home list. In alternativa, è possibile utilizzare un carattere jolly per identificare tutti i potenziali PSN nella rete (ovvero *.acme.com).

Passaggio 17. Fare clic su Add > AnyConnect Configuration

Scorrere verso il basso e selezionare Invia

Passaggio 18. Dopo aver effettuato le selezioni, fare clic su Sottometti.

Passaggio 19. Selezionare Workcenter > Postura > Client Provisioning > Client Provisioning Portals.

Passaggio 20. Nella sezione Impostazioni portale, in cui è possibile selezionare l'interfaccia e la porta, nonché i gruppi autorizzati alla pagina Selezionare Dipendente, SISE_Users e Utenti dominio.

Passaggio 21. In Log in Page Settings, verificare che l'opzione Enable auto Log In sia abilitata

Passaggio 2. Nell'angolo superiore destro selezionare Save (Salva)

Passaggio 23. Selezionare Centri di lavoro > Postura > Provisioning client > Criteri di provisioning client.

Passaggio 24. Fare clic sulla freccia in giù accanto alla regola IOS nel CPP e scegliere Duplica sopra

Passaggio 25. Assegnare un nome alla regola LinuxPosture

Passaggio 26. Per i risultati, selezionare AnyConnect Configuration come agente.

Nota: In questo caso, non viene visualizzato l'elenco a discesa del modulo conformità perché è configurato come parte della configurazione AnyConnect.

Passaggio 27. Fare clic su Fine.

Passaggio 28. Fare clic su Salva.

Elementi criteri di postura

Passaggio 29. Selezionare Centri di lavoro > Postura > Elementi criteri > Condizioni > File. Selezionare Aggiungi.

Passaggio 30. Definire TESTFile come nome della condizione del file e definire i valori successivi

Nota: Il percorso è basato sul percorso del file.

Passaggio 31. Selezionare Salva

FileExistence.Questo tipo di condizione di file cerca di verificare se un file è presente nel sistema in cui si suppone che esista. Se questa opzione è selezionata, non vi è alcun problema per la convalida delle date dei file, degli hash e così via

Passaggio 32. Selezionare Requisiti e creare un nuovo criterio come indicato di seguito:

Nota: Linux non supporta solo il testo del messaggio come azione di correzione

Componenti dei requisiti

- Sistema operativo: Linux All

- Modulo sulla conformità: 4,x

- Tipo di postura: AnyConnect

- Condizioni: Moduli e agenti di conformità (disponibili dopo la selezione del sistema operativo)

- Azioni correttive: Correzioni che diventano disponibili per la selezione dopo aver scelto tutte le altre condizioni.

Passaggio 3. Selezionare Centri di lavoro > Postura > Criteri di postura

Passaggio 34. Selezionare Edit on any policy e Selezionare Insert New policy Define LinuxPosturePolicy Policy Policy as the name (Inserisci nuovo criterio) e assicurarsi di aggiungere il requisito creato nel passaggio 32.

Passaggio 35. Selezionare Fine e Salva

Altre impostazioni di postura importanti (sezione Impostazioni generali della postura)

Le impostazioni importanti nella sezione Impostazioni generali della postura sono le seguenti:

- Timer monitoraggio e aggiornamento: Questa impostazione definisce il tempo necessario a un client per correggere una condizione di postura non riuscita. La configurazione AnyConnect prevede anche un timer di monitoraggio e aggiornamento; questo timer è per ISE, non per AnyConnect.

- Stato postura predefinito: Questa impostazione fornisce lo stato della postura per i dispositivi senza l'agente di postura o i sistemi operativi che non possono eseguire l'agente temporale, ad esempio i sistemi operativi basati su Linux.

- Intervallo di monitoraggio continuo: Questa impostazione si applica alle condizioni dell'applicazione e dell'hardware che eseguono l'inventario dell'endpoint. L'impostazione specifica la frequenza con cui AnyConnect deve inviare i dati di monitoraggio.

- Criterio d'uso accettabile in modalità celata: Le uniche due opzioni disponibili per questa impostazione sono il blocco o la continuazione. Il blocco impedisce ai client AnyConnect in modalità stealth di procedere se l'AUP non è stata riconosciuta. Continue consente al client in modalità stealth di procedere anche senza riconoscere l'AUP (che è spesso l'intento quando si utilizza l'impostazione della modalità stealth di AnyConnect).

Configurazioni di rivalutazione

Le rivalutazioni della postura sono un componente critico del flusso di lavoro della postura. Nella sezione "Protocollo postura" è stato spiegato come configurare l'agente AnyConnect per la rivalutazione della postura. L'agente esegue periodicamente il Check-In con i PSN definiti in base al timer nella configurazione.

Quando una richiesta raggiunge il PSN, il PSN determina se è necessaria una rivalutazione della postura, in base alla configurazione ISE per il ruolo dell'endpoint. Se il client supera la rivalutazione, il PSN mantiene lo stato di conformità alla postura dell'endpoint e il lease della postura viene reimpostato. Se l'endpoint non supera la rivalutazione, lo stato della postura diventa non conforme e qualsiasi lease di postura esistente viene rimosso.

Passaggio 36. Selezionare Criterio > Elementi criteri > Risultati > Autorizzazione > Profilo autorizzazione. Selezionare Aggiungi

Passaggio 37. Definire Wired_Redirect come profilo di autorizzazione e configurare i parametri successivi

Passaggio 38. Selezionare Salva

Passaggio 39. Configurazione dei criteri di autorizzazione

Esistono tre regole di autorizzazione preconfigurate per la postura:

1. La prima è configurata per corrispondere quando l'autenticazione ha esito positivo e la conformità di un dispositivo è sconosciuta.

2. La seconda regola associa le autenticazioni riuscite agli endpoint non conformi.

Nota: Entrambe le prime due regole restituiscono lo stesso risultato, ovvero utilizzano un profilo di autorizzazione preconfigurato che reindirizza l'endpoint al portale di provisioning client.

3. La regola finale corrisponde all'autenticazione riuscita e agli endpoint conformi alla postura e utilizza il profilo di autorizzazione PermitAccess predefinito.

Selezionare Policy > Policy Set (Criteri impostati) e fare clic sulla freccia destra per Wired 802.1x - MAB Creato nel laboratorio precedente.

Passaggio 40. Selezionare Criteri di autorizzazione e creare le regole successive

Configurazioni sullo switch

Nota: La configurazione riportata di seguito fa riferimento a IBNS 1.0. Possono esistere differenze per gli switch compatibili con IBNS 2.0. Include l'installazione in modalità a basso impatto.

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

Verifica

Verifica ISE:

In questa sezione si presume che AnyConnect con il modulo di postura ISE sia stato precedentemente installato sul sistema Linux.

Autentica PC tramite dot1x

Passaggio 1. Passare a Impostazioni di rete

Passaggio 2. Selezionare la scheda Protezione e fornire la configurazione 802.1x e le credenziali utente

3. Fare clic su "Apply" (Applica).

Passaggio 4. Collegare il sistema Linux alla rete cablata 802.1x e convalidare nel registro ISE live:

In ISE, usare la barra di scorrimento orizzontale per visualizzare ulteriori informazioni, come il PSN che ha servito il flusso o lo stato della postura:

Passaggio 5. Sul client Linux, il reindirizzamento deve essere eseguito e viene visualizzato il portale di provisioning del client che indica che si è verificato il controllo della postura e fare clic su "Avvia":

Attendere qualche secondo quando il connettore tenta di rilevare AnyConnect:

A causa di un problema noto, anche se AnyConnect è installato, non viene rilevato. Per passare al client AnyConnect, usare Alt-Tab o il menu Attività.

AnyConnect cerca di raggiungere il PSN per il criterio di postura e di valutare l'endpoint in base a esso.

AnyConnect segnala all'ISE la sua determinazione della policy di postura. In questo caso,

D'altra parte, se il file non esiste, il modulo di postura di AnyConnect segnala la determinazione all'ISE

Nota: L'FQDN ISE deve essere risolvibile sul sistema Linux tramite file DNS o host locale.

Risoluzione dei problemi

show authentication sessions int fa1/0/35

Reindirizzamento sul posto:

Autorizzazione completata:

Non conforme, spostato sulla VLAN di quarantena e sull'ACL: