La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento vengono descritti i tunnel Cisco AnyConnect Secure Mobility Client, il comportamento della riconnessione e il DPD (Dead Peer Detection) e il timer di inattività.
Per connettere una sessione AnyConnect, è possibile usare due metodi:
In base al modo in cui ci si connette, vengono creati tre tunnel (sessioni) diversi su Cisco Adaptive Security Appliance (ASA), ciascuno con uno scopo specifico:
Nota: AnyConnect-Parent rappresenta la sessione quando il client non è connesso in modo attivo. In effetti, funziona come un cookie, in quanto è una voce di database sull'appliance ASA che mappa la connessione di un particolare client. Se il client è in stato di sospensione o ibernazione, i tunnel (protocolli IPsec/IKE (Internet Key Exchange)/TLS (Transport Layer Security)/DTLS (Datagram Transport Layer Security) vengono disattivati, ma il padre rimane attivo fino a quando il timer di inattività o il tempo massimo di connessione non diventa effettivo. In questo modo l'utente può riconnettersi senza ripetere l'autenticazione.
Di seguito viene riportato un esempio di output dei due metodi di connessione.
AnyConnect Connected tramite lancio sul Web:
ASA5520-C(config)# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : walter Index : 1435
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Protocol : Clientless SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : Clientless: (1)RC4 SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : Clientless: (1)SHA1 SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 335765 Bytes Rx : 31508
Pkts Tx : 214 Pkts Rx : 18
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : My-Network Tunnel Group : My-Network
Login Time : 22:13:37 UTC Fri Nov 30 2012
Duration : 0h:00m:34s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
Clientless Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
Clientless:
Tunnel ID : 1435.1
Public IP : 172.16.250.17
Encryption : RC4 Hashing : SHA1
Encapsulation: TLSv1.0 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : Web Browser
Client Ver : Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0
Bytes Tx : 329671 Bytes Rx : 31508
SSL-Tunnel:
Tunnel ID : 1435.2
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : RC4 Hashing : SHA1
Encapsulation: TLSv1.0 TCP Src Port : 1241
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 3.1.01065
Bytes Tx : 6094 Bytes Rx : 0
Pkts Tx : 4 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 1435.3
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : AES128 Hashing : SHA1
Encapsulation: DTLSv1.0 Compression : LZS
UDP Src Port : 1250 UDP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : DTLS VPN Client
Client Ver : Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0
Bytes Tx : 0 Bytes Rx : 0
Pkts Tx : 0 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
AnyConnect connesso tramite l'applicazione standalone:
ASA5520-C(config)# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : walter Index : 1436
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 12244 Bytes Rx : 777
Pkts Tx : 8 Pkts Rx : 1
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : My-Network Tunnel Group : My-Network
Login Time : 22:15:24 UTC Fri Nov 30 2012
Duration : 0h:00m:11s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 1436.1
Public IP : 172.16.250.17
Encryption : none Hashing : none
TCP Src Port : 1269 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : AnyConnect
Client Ver : 3.1.01065
Bytes Tx : 6122 Bytes Rx : 777
Pkts Tx : 4 Pkts Rx : 1
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 1436.2
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : RC4 Hashing : SHA1
Encapsulation: TLSv1.0 TCP Src Port : 1272
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 3.1.01065
Bytes Tx : 6122 Bytes Rx : 0
Pkts Tx : 4 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 1436.3
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : AES128 Hashing : SHA1
Encapsulation: DTLSv1.0 Compression : LZS
UDP Src Port : 1280 UDP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : DTLS VPN Client
Client Ver : 3.1.01065
Bytes Tx : 0 Bytes Rx : 0
Pkts Tx : 0 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
La sessione è considerata inattiva (e il timer inizia ad aumentare) solo quando il tunnel SSL non esiste più nella sessione. Quindi, ogni sessione è contrassegnata dall'ora di rilascio del tunnel SSL.
ASA5520-C# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : walter Index : 1336
Public IP : 172.16.250.17
Protocol : AnyConnect-Parent <- Here just the AnyConnect-Parent is active
but not SSL-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none
Hashing : AnyConnect-Parent: (1)none
Bytes Tx : 12917 Bytes Rx : 1187
Pkts Tx : 14 Pkts Rx : 7
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : My-Network Tunnel Group : My-Network
Login Time : 17:42:56 UTC Sat Nov 17 2012
Duration : 0h:09m:14s
Inactivity : 0h:01m:06s <- So the session is considered Inactive
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
È possibile disconnettere un tunnel SSL in due modi:
anyconnect dpd-interval
comando in Attributi WebVPN nelle impostazioni dei criteri di gruppo. Per impostazione predefinita, il DPD è abilitato e impostato su 30 secondi sia per l'ASA (gateway) che per il client.Attenzione: prestare attenzione all'ID bug Cisco CSCts6926 - DPD non riesce a terminare il tunnel DTLS dopo la perdita della connessione client.
Come spiegato in precedenza, la DPD non interrompe la sessione AnyConnect stessa. ma semplicemente elimina il tunnel all'interno della sessione in modo che il client possa ristabilire il tunnel. Se il client non riesce a ristabilire il tunnel, la sessione rimane attiva fino alla scadenza del timer di inattività sull'appliance ASA. Poiché i DPD sono abilitati per impostazione predefinita, i client possono spesso disconnettersi a causa di flussi che si chiudono in una direzione con dispositivi NAT (Network Address Translation), firewall e proxy. Per evitare questo inconveniente, attivare l'opzione keepalive a intervalli bassi, ad esempio 20 secondi.
I pacchetti keepalive vengono attivati con gli attributi WebVPN di un determinato criterio di gruppo tramite il anyconnect ssl keepalive
comando. Per impostazione predefinita, i timer sono impostati su 20 secondi.
AnyConnect tenta di riconnettersi se la connessione viene interrotta. Questa operazione non è configurabile automaticamente. Se la sessione VPN sull'appliance ASA è ancora valida e se AnyConnect può ristabilire la connessione fisica, la sessione VPN viene ripresa.
La funzione di riconnessione continua finché non scade il timeout della sessione o di disconnessione, che in realtà è il timeout di inattività (o 30 minuti se non sono configurati timeout). Dopo la scadenza, il client non può continuare perché le sessioni VPN sono già state eliminate sull'appliance ASA. Il client continua finché ritiene che l'ASA abbia ancora una sessione VPN.
AnyConnect si riconnette indipendentemente dalle modifiche apportate all'interfaccia di rete. Non importa se l'indirizzo IP della scheda di interfaccia di rete (NIC, Network Interface Card) cambia o se la connettività passa da una NIC a un'altra (da wireless a cablata o viceversa).
Se si considera il processo di riconnessione di AnyConnect, occorre ricordare tre livelli di sessione. Inoltre, il comportamento di riconnessione di ciascuna di queste sessioni è vagamente accoppiato, in quanto qualsiasi di esse può essere ristabilita senza una dipendenza dagli elementi della sessione del livello precedente:
Suggerimento: queste versioni di ASA e successive contengono un token di sessione crittografica più avanzato: 9.1(3) e 8.4(7.1)
Il timer per il timeout di disconnessione viene avviato non appena la connessione di rete viene interrotta. Il client AnyConnect continua a provare a riconnettersi finché il timer non scade. Il valore di Timeout disconnessione è impostato sul valore più basso tra il valore di Timeout di inattività di Criteri di gruppo e il valore di Tempo massimo di connessione.
Il valore di questo timer viene visualizzato nel Visualizzatore eventi per la sessione AnyConnect nella negoziazione:
Nell'esempio, la sessione si disconnette dopo due minuti (120 secondi), che possono essere controllati nella Cronologia messaggi di AnyConnect:
Suggerimento: affinché l'ASA risponda al client che tenta di riconnettersi, la sessione del tunnel padre deve essere ancora presente nel database ASA. In caso di failover, è inoltre necessario abilitare i DPD affinché il comportamento di riconnessione funzioni.
Come risulta dai messaggi precedenti, la riconnessione non è riuscita. Tuttavia, se la riconnessione ha esito positivo, viene eseguita la procedura seguente:
Attenzione: prestare attenzione all'ID bug Cisco CSCtg3110. Il database delle sessioni VPN non aggiorna l'indirizzo IP pubblico nel database delle sessioni ASA quando AnyConnect si riconnette.
Se i tentativi di riconnessione non riescono, viene visualizzato questo messaggio:
Nota: questa richiesta di miglioramento è stata inviata per rendere il problema più granulare: Cisco bug ID CSCsl52873 - L'appliance ASA non ha un timeout di disconnessione configurabile per AnyConnect.
Una funzionalità di roaming consente a AnyConnect di riconnettersi dopo una sospensione del PC. Il client continua i tentativi fino alla scadenza dei timeout di inattività o di sessione e non chiude immediatamente il tunnel quando il sistema entra in modalità di sospensione o standby. Per gli utenti che non desiderano questa funzionalità, impostare il timeout della sessione su un valore basso per impedire le riconnessioni di sospensione/ripresa.
Nota: dopo la correzione dell'ID bug Cisco CSCso17627 (versione 2.3(11)+), è stata introdotta una manopola di controllo per disabilitare la funzione di riconnessione al ripristino.
Il comportamento di riconnessione automatica per AnyConnect può essere controllato tramite il profilo XML AnyConnect con questa impostazione:
<AutoReconnect UserControllable="true">true
<AutoReconnectBehavior>ReconnectAfterResume</AutoReconnectBehavior>
</AutoReconnect>
Con questa modifica, AnyConnect tenta di riconnettersi quando il computer viene riattivato dalla modalità sospensione. Per impostazione predefinita, la preferenza AutoReconnectBehavior è DisconnectOnSuspend. Questo comportamento è diverso da quello di AnyConnect Client release 2.2. Per riconnettersi dopo la ripresa, l'amministratore di rete deve impostare ReconnectAfterResume nel profilo o rendere le preferenze di riconnessione automatica e di riconnessione automatica controllabili dall'utente nel profilo per consentire agli utenti di impostarle.
R. Dal punto di vista del client, i DPD distruggono un tunnel solo durante la fase di definizione del tunnel. Se il client rileva tre tentativi (invia quattro pacchetti) durante la fase di definizione del tunnel e non riceve una risposta dal server VPN primario, torna a utilizzare uno dei server di backup, se configurato. Tuttavia, una volta stabilito il tunnel, le DPD perse non avranno alcun impatto sul tunnel dal punto di vista del client. L'impatto reale delle DPD è sul server VPN, come spiegato nella sezione DPD e timer di inattività.
R. Sì, IKEv2 ha un numero fisso di tentativi - sei tentativi/sette pacchetti.
R. Oltre a essere un mapping sull'appliance ASA, il tunnel padre viene usato per eseguire il push degli aggiornamenti dell'immagine AnyConnect dall'appliance ASA al client, in quanto il client non è connesso attivamente durante il processo di aggiornamento.
R. È possibile filtrare le sessioni inattive con il comando show vpn-sessiondb anyconnect filter inactive. Tuttavia, non è disponibile alcun comando per disconnettere solo le sessioni inattive. È invece necessario disconnettere sessioni specifiche o tutte le sessioni per utente (indice - nome), protocollo o gruppo di tunnel. È stata inoltrata una richiesta di miglioramento, con ID bug Cisco CSCuh55707 , per aggiungere l'opzione di disconnessione solo delle sessioni inattive.
R. Il timer di inattività a sinistra della sessione padre di AnyConnect viene reimpostato dopo lo spegnimento del tunnel SSL o del tunnel DTLS. In questo modo, il timeout di inattività agisce come timeout di disconnessione. Questo diventa effettivamente il tempo consentito al client per riconnettersi. Se il client non si riconnette entro il timer, il tunnel padre viene terminato.
R. L'headend non ha alcuna conoscenza dello stato del cliente. In questo caso, l'ASA attende che il client si riconnetta finché la sessione non scade con il timer di inattività. Il DPD non termina una sessione AnyConnect, ma semplicemente termina il tunnel (all'interno della sessione) in modo che il client possa ristabilire il tunnel. Se il client non ristabilisce un tunnel, la sessione rimane attiva fino alla scadenza del timer di inattività.
Se il problema riguarda le sessioni esaurite, impostare gli accessi simultanei su un valore basso, ad esempio uno. Con questa impostazione, gli utenti che dispongono di una sessione nel database della sessione vengono eliminati dalla sessione precedente al successivo accesso.
R. Inizialmente, quando viene stabilita la sessione, i tre tunnel (Parent, SSL e DTLS) vengono replicati sull'unità in standby. Dopo il failover dell'ASA, le sessioni DTLS e TLS vengono ristabilite perché non sono sincronizzate con l'unità in standby, ma i dati che passano attraverso i tunnel devono funzionare senza interruzioni dopo la riattivazione della sessione AnyConnect.
Le sessioni SSL/DTLS non sono con conservazione dello stato, quindi lo stato SSL e il numero di sequenza non vengono mantenuti e possono essere molto tassativi. Pertanto, tali sessioni devono essere ristabilite da zero, il che avviene con la sessione padre e il token di sessione.
Suggerimento: in caso di failover, le sessioni client VPN SSL non vengono trasferite al dispositivo in standby se i pacchetti keepalive sono disabilitati.
R. Al momento dello sviluppo dei protocolli, sono stati previsti due timeout diversi:
Il timeout di disconnessione non è mai stato implementato sull'appliance ASA. L'ASA invia invece al client il valore del timeout di inattività per i timeout di inattività e di disconnessione.
Il client non usa il timeout di inattività, perché l'ASA gestisce il timeout di inattività. Il client usa il valore di timeout di disconnessione, che è lo stesso del valore di timeout di inattività, per sapere quando interrompere i tentativi di riconnessione dopo che l'ASA ha interrotto la sessione.
Anche se non è connessa attivamente al client, l'ASA esegue il timeout della sessione tramite il timeout di inattività. La ragione principale per non implementare il timeout di disconnessione sull'appliance ASA è stata quella di evitare l'aggiunta di un altro timer per ciascuna sessione VPN e l'aumento del sovraccarico sull'appliance (anche se lo stesso timer può essere usato in entrambe le istanze, solo con valori di timeout diversi, perché i due casi si escludono a vicenda).
L'unico valore aggiunto con il timeout di disconnessione è quello di consentire a un amministratore di specificare un timeout diverso per i casi in cui il client non è connesso in modo attivo o inattivo. Come accennato in precedenza, è stato archiviato l'ID bug Cisco CSCsl52873.
R. Per impostazione predefinita, AnyConnect tenta di ristabilire una connessione VPN quando si perde la connettività. Non tenta di ristabilire una connessione VPN dopo la ripresa di un sistema per impostazione predefinita. Per ulteriori informazioni, fare riferimento a Comportamento del client AnyConnect in caso di sospensione del sistema.
R. Non è possibile eseguire la riconnessione a livello di tunnel. Questa è una riconnessione solo su SSL o DTLS. Questi vanno circa 30 secondi prima che si arrendano. Se il DTLS ha esito negativo, viene eliminato. Se SSL non riesce, viene stabilita una riconnessione a livello di sessione. La riconnessione a livello di sessione determina la ripetizione completa del routing. Se l'indirizzo del client assegnato alla riconnessione o qualsiasi altro parametro di configurazione che influisce sulla scheda virtuale (VA) non è stato modificato, la VA non viene disabilitata. Anche se è improbabile che siano state apportate modifiche ai parametri di configurazione ricevuti dall'ASA, è possibile che una modifica all'interfaccia fisica utilizzata per la connessione VPN (ad esempio, se si disinserisce la connessione e si passa da rete cablata a rete WiFi) possa generare un valore MTU (Maximum Transmission Unit) diverso per la connessione VPN. Il valore MTU influisce sull'VA e una modifica apportata allo stesso determina la disabilitazione e la riabilitazione dell'MTU.
R. AnyConnect non offre magie aggiuntive per supportare la persistenza delle sessioni per le applicazioni. Tuttavia, la connettività VPN viene ripristinata automaticamente subito dopo la ripresa della connettività di rete al gateway sicuro, a condizione che i timeout di inattività e di sessione configurati sull'appliance ASA non siano scaduti. A differenza del client IPSec, la riconnessione automatica produce lo stesso indirizzo IP del client. Mentre AnyConnect tenta di riconnettersi, la scheda virtuale AnyConnect rimane abilitata e nello stato connesso, quindi l'indirizzo IP del client rimane presente e abilitato sul PC client per tutto il tempo, consentendo la persistenza dell'indirizzo IP del client. Le applicazioni PC client, tuttavia, continuano a percepire la perdita di connettività ai server sulla rete aziendale se il ripristino della connettività VPN richiede troppo tempo.
R. Questa funzione funziona su Mac e Linux. Ci sono stati problemi con Mac e Linux, ma sono stati fatti recenti miglioramenti, in particolare per il Mac. Linux richiede ancora un po' di supporto aggiuntivo (ID bug Cisco CSCsr16670, ID bug Cisco CSCsm69213), ma sono disponibili anche le funzionalità di base. Per quanto riguarda Linux, AnyConnect non riconosce che si è verificata una sospensione/ripresa (sleep/wake). Questo ha fondamentalmente due effetti:
R. AnyConnect non è collegato a una particolare interfaccia fisica per l'intera durata della connessione VPN. Se l'interfaccia fisica utilizzata per la connessione VPN viene persa o i tentativi di riconnessione superano una determinata soglia di errore, AnyConnect non utilizza più quell'interfaccia e cerca di raggiungere il gateway sicuro con tutte le interfacce disponibili finché i timer di sessione o di inattività non scadono. Si noti che una modifica nell'interfaccia fisica potrebbe determinare un valore MTU diverso per VA, il che rende necessario disabilitare e riabilitare VA, ma con lo stesso indirizzo IP del client.
In caso di interruzioni della rete (interfaccia inattiva, reti modificate, interfacce modificate), AnyConnect tenta di riconnettersi; non è necessaria una nuova autenticazione alla riconnessione. Ciò vale anche per uno switch di interfacce fisiche:
Esempio:
1. wireless off, wired on: AC connection established
2. disconnect wired physically, turn wired on: AC re-established connection in
30 seconds
3. connect wired, turn off wireless: AC re-established connection in 30 secs
R. In un curriculum, si invia nuovamente il token autenticato che rimane per tutta la durata della sessione, quindi la sessione viene ristabilita.
R. Questa operazione viene eseguita solo nella connessione iniziale.
R. No, vengono eseguite solo sulla connessione iniziale. Una cosa simile sarebbe prevista per la futura funzione di valutazione della postura periodica.
R: Sì, è corretto in quanto non si risolve il nome host tramite DNS per ristabilire una sessione corrente.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
3.0 |
22-Dec-2023 |
Testo alternativo, traduzione automatica e formattazione aggiornati. |
2.0 |
22-Nov-2022 |
Titolo e introduzione aggiornati, traduzione automatica, requisiti di stile, argomenti e formattazione. |
1.0 |
13-Aug-2021 |
Versione iniziale |