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 viene descritto come risolvere i problemi con i telefoni IP che usano il protocollo Secure Sockets Layer (SSL) (Cisco AnyConnect Secure Mobility Client) per connettersi a una appliance Cisco Adaptive Security (ASA) che viene usata come gateway VPN e per connettersi a un Cisco Unified Communications Manager (CUCM) che viene usato come server vocale.
Per esempi di configurazione di AnyConnect con telefoni VPN, fare riferimento a questi documenti:
Prima di distribuire una VPN SSL con telefoni IP, verificare di aver soddisfatto i seguenti requisiti iniziali per le licenze AnyConnect per l'appliance ASA e per la versione americana CUCM con restrizioni all'esportazione.
La licenza VPN permette di usare la funzione nell'appliance ASA. Per verificare il numero di utenti che possono connettersi con AnyConnect (anche se non è un telefono IP), controllare la licenza AnyConnect Premium SSL. Per ulteriori informazioni, consultare il documento sulla licenza ASA richiesta per le connessioni IP Phone e VPN per dispositivi mobili.
Sull'appliance ASA, usare il comando show version per verificare se la funzione è abilitata. Il nome della licenza è diverso nella versione ASA:
Di seguito è riportato un esempio di ASA release 8.0.x:
ASA5505(config)# show ver
Cisco Adaptive Security Appliance Software Version 8.0(5)
Device Manager Version 7.0(2)
<snip>
Licensed features for this platform:
VPN Peers : 10
WebVPN Peers : 2
AnyConnect for Linksys phone : Disabled
<snip>
This platform has a Base license.
Di seguito è riportato un esempio di appliance ASA release 8.2.x e successive:
ASA5520-C(config)# show ver
Cisco Adaptive Security Appliance Software Version 9.1(1)
Device Manager Version 7.1(1)
<snip>
Licensed features for this platform:
AnyConnect Premium Peers : 2 perpetual
AnyConnect Essentials : Disabled perpetual
AnyConnect for Cisco VPN Phone : Disabled perpetual
<snip>
This platform has an ASA 5520 VPN Plus license.
È consigliabile distribuire una versione americana con restrizioni all'esportazione di CUCM per la funzionalità telefonica VPN.
Se si utilizza una versione non limitata di CUCM per l'esportazione in paesi diversi dagli Stati Uniti, tenere presente che:
Nota: una volta eseguito l'aggiornamento alla versione americana di esportazione senza restrizioni di CUCM, non è possibile eseguire l'aggiornamento alla versione statunitense con restrizioni all'esportazione o eseguire una nuova installazione di tale software.
Nota: è possibile usare Cisco CLI Analyzer (solo utenti registrati) per visualizzare un'analisi degli output del comando show. Prima di usare i comandi di debug, consultare il documento Cisco sulle informazioni importanti sui comandi di debug.
Sull'appliance ASA, è possibile usare certificati SSL autofirmati, certificati SSL di terze parti e certificati jolly; questi ultimi proteggono la comunicazione tra il telefono IP e l'appliance ASA.
È possibile utilizzare un solo certificato di identità perché a ogni interfaccia è possibile assegnare un solo certificato.
Per i certificati SSL di terze parti, installare la catena completa nell'appliance ASA e includere tutti i certificati intermedi e radice.
Il certificato che l'ASA presenta al telefono IP durante la negoziazione SSL deve essere esportato dall'ASA e importato nel CUCM. Per sapere quale certificato esportare dall'appliance ASA, controllare il trust point assegnato all'interfaccia a cui si connettono i telefoni IP.
Utilizzare il comando show run ssl per verificare il trust point (certificato) da esportare. Per ulteriori informazioni, fare riferimento all'esempio di configurazione dell'autenticazione del certificato per i telefoni VPN AnyConnect.
Nota: se è stato distribuito un certificato di terze parti in una o più appliance ASA, non è necessario esportare ciascun certificato di identità da ciascuna appliance ASA e quindi importarlo nel CUCM come phone-vpn-trust.
Quando si verifica questo problema, i telefoni di modello più recenti non sono in grado di connettersi, mentre i telefoni di modello più vecchi non presentano alcun problema. Di seguito sono riportati i registri del telefono quando si verifica questo problema:
VPNC: -protocol_handler: SSL dpd 30 sec from SG (enabled) VPNC: -protocol_handler: connect: do_dtls_connect VPNC: -do_dtls_connect: udp_connect VPNC: -udp_connect: getsockname failed VPNC: -udp_connect: binding sock to eth0 IP 63.85.30.39 VPNC: -udp_connect: getsockname failed VPNC: -udp_connect: connecting to 63.85.30.34:443 VPNC: -udp_connect: connected to 63.85.30.34:443 VPNC: -do_dtls_connect: create_dtls_connection VPNC: -create_dtls_connection: cipher list: AES256-SHA VPNC: -create_dtls_connection: calling SSL_connect in non-block mode VPNC: -dtls_state_cb: DTLS: SSL_connect: before/connect initialization VPNC: -dtls_state_cb: DTLS: SSL_connect: SSLv3 write client hello A VPNC: -dtls_state_cb: DTLS: SSL_connect: DTLS1 read hello verify request A VPNC: -dtls_state_cb: DTLS: SSL_connect: SSLv3 write client hello A VPNC: -dtls_state_cb: DTLS: SSL_connect: SSLv3 flush data VPNC: -dtls_state_cb: DTLS: write: alert: fatal:illegal parameter VPNC: -vpnc_set_notify_netsd : cmd: 0x5 event: 0x40000 status: 0x0 error: 0x0 VPNC: -alert_err: DTLS write alert: code 47, illegal parameter VPNC: -create_dtls_connection: SSL_connect ret -1, error 1 VPNC: -DTLS: SSL_connect: SSL_ERROR_SSL (error 1) VPNC: -DTLS: SSL_connect: error:140920C5:SSL routines:SSL3_GET_SERVER_HELLO:
old session cipher not returned VPNC: -create_dtls_connection: DTLS setup failure, cleanup VPNC: -do_dtls_connect: create_dtls_connection failed VPNC: -protocol_handler: connect: do_dtls_connect failed VPNC: -protocol_handler: connect : err: SSL success DTLS fail
Nelle versioni 9.4.1 e successive, la crittografia a curva ellittica è supportata per SSL/TLS. Quando un client VPN SSL con curva ellittica compatibile, ad esempio un nuovo modello di telefono, si connette all'ASA, la suite di cifratura a curva ellittica viene negoziata e l'ASA presenta al client VPN SSL un certificato a curva ellittica, anche quando l'interfaccia corrispondente è configurata con un trust point basato su RSA. Per impedire che l'ASA presenti un certificato SSL autofirmato, l'amministratore deve rimuovere le suite di cifratura corrispondenti con il comando ssl cipher. Ad esempio, per un'interfaccia configurata con un trust point RSA, l'amministratore può eseguire questo comando in modo che vengano negoziate solo le cifrature basate su RSA:
ssl cipher tlsv1.2 custom "AES256-SHA:AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA"
Con l'implementazione dell'ID bug Cisco CSCuu02848, la configurazione è prioritaria. I certificati configurati in modo esplicito vengono sempre utilizzati. I certificati autofirmati vengono utilizzati solo in assenza di un certificato configurato.
Crittografi client proposti |
Solo certificato RSA |
Solo certificato CE |
Entrambi i certificati |
Nessuna |
---|---|---|---|---|
Solo cifratura RSA |
Utilizzo del certificato RSA Utilizzo delle cifrature RSA |
Utilizza il certificato autofirmato RSA Utilizzo delle cifrature RSA |
Utilizzo del certificato RSA Utilizzo delle cifrature RSA |
Utilizza il certificato autofirmato RSA Utilizzo delle cifrature RSA |
Solo cifrari CE (rari) |
Connessione non riuscita |
Utilizza il certificato EC Utilizza le cifrature EC |
Utilizza il certificato EC Utilizza le cifrature EC |
Utilizza il certificato autofirmato CE Utilizza le cifrature EC |
Solo entrambi i cifrari |
Utilizzo del certificato RSA Utilizzo delle cifrature RSA |
Utilizza il certificato EC Utilizza le cifrature EC |
Utilizza il certificato EC Utilizza le cifrature EC |
Utilizza il certificato autofirmato CE Utilizza le cifrature EC |
È possibile utilizzare un database esterno per autenticare gli utenti del telefono IP. Protocolli quali il protocollo LDAP (Lightweight Directory Access Protocol) o RADIUS (Remote Authentication Dial In User Service) possono essere utilizzati per l'autenticazione degli utenti di telefoni VPN.
Tenere presente che è necessario scaricare il certificato assegnato all'interfaccia ASA SSL e caricarlo come certificato Phone-VPN-Trust nel CUCM. In circostanze diverse, l'hash per questo certificato presentato dall'ASA potrebbe non corrispondere all'hash generato dal server CUCM e inviato al telefono VPN tramite il file di configurazione.
Al termine della configurazione, verificare la connessione VPN tra il telefono IP e l'appliance ASA. Se la connessione continua a non riuscire, verificare che l'hash del certificato ASA corrisponda a quello previsto dal telefono IP:
L'ASA presenta il certificato applicato con il comando ssl trustpoint sull'interfaccia a cui si connette il telefono IP. Per verificare questo certificato, aprire il browser (in questo esempio, Firefox), e immettere l'URL (group-url) a cui i telefoni devono connettersi:
Da un PC con accesso diretto al CUCM, scaricare il file di configurazione TFTP per il telefono con problemi di connessione. Due metodi di download sono:
Nota: se si riceve un errore simile a quello riportato di seguito, è necessario confermare che la funzione Client TFTP sia abilitata.
<vpnGroup>
<mtu>1290</mtu>
<failConnectTime>30</failConnectTime>
<authMethod>2</authMethod>
<pswdPersistent>0</pswdPersistent>
<autoNetDetect>0</autoNetDetect>
<enableHostIDCheck>0</enableHostIDCheck>
<addresses>
<url1>https://10.198.16.140/VPNPhone</url1>
</addresses>
<credentials>
<hashAlg>0</hashAlg>
5X6B6plUwUSXZnjQ4kGM33mpMXY=
</credentials>
</vpnGroup>
Confermare che entrambi i valori hash corrispondano. Il browser presenta l'hash in formato esadecimale, mentre il file XML utilizza base 64, quindi converte un formato nell'altro per confermare la corrispondenza. Ci sono molti traduttori disponibili; un esempio è TRANSLATOR, BINARY .
Nota: se il valore hash precedente non corrisponde, il telefono VPN non considera attendibile la connessione negoziata con l'ASA e la connessione non riesce.
VPN SSL con carico bilanciato non supportata per i telefoni VPN. I telefoni VPN non eseguono la convalida dei certificati reali, ma utilizzano gli hash trasmessi dal CUCM per convalidare i server. Poiché il bilanciamento del carico della VPN è fondamentalmente un reindirizzamento HTTP, è necessario che i telefoni convalidino più certificati, con conseguente errore. I sintomi di errore di bilanciamento del carico VPN includono:
909: NOT 20:59:50.051721 VPNC: do_login: got login response
910: NOT 20:59:50.052581 VPNC: process_login: HTTP/1.0 302 Temporary moved
911: NOT 20:59:50.053221 VPNC: process_login: login code: 302 (redirected)
912: NOT 20:59:50.053823 VPNC: process_login: redirection indicated
913: NOT 20:59:50.054441 VPNC: process_login: new 'Location':
/+webvpn+/index.html
914: NOT 20:59:50.055141 VPNC: set_redirect_url: new URL
<https://xyz1.abc.com:443/+webvpn+/index.html>
Al momento, i telefoni IP non supportano Cisco Secure Desktop (CSD) e non si connettono quando CSD è abilitato per il gruppo di tunnel o a livello globale nell'appliance ASA.
In primo luogo, confermare se l'ASA ha un CSD abilitato. Immettere il comando show run webvpn nella CLI dell'ASA:
ASA5510-F# show run webvpn
webvpn
enable outside
csd image disk0:/csd_3.6.6210-k9.pkg
csd enable
anyconnect image disk0:/anyconnect-win-3.1.00495-k9.pkg 1
anyconnect enable
ASA5510-F#
Per controllare i problemi del CSD durante una connessione telefonica IP, controllare i log o i debug nell'appliance ASA.
%ASA-4-724002: Group <VPNPhone> User <Phone> IP <172.6.250.9> WebVPN session not
terminated. Cisco Secure Desktop was not running on the client's workstation.
debug webvpn anyconnect 255
<snip>
Tunnel Group: VPNPhone, Client Cert Auth Success.
WebVPN: CSD data not sent from client
http_remove_auth_handle(): handle 24 not found!
<snip>
Nota: in un'implementazione di grandi dimensioni con un carico elevato di utenti AnyConnect, Cisco consiglia di non abilitare il debug webvpn anyconnect. Poiché l'output non può essere filtrato in base all'indirizzo IP, è possibile che venga creata una grande quantità di informazioni.
Nelle versioni ASA 8.2 e successive, è necessario applicare il comando without-csd agli attributi webvpn del gruppo di tunnel:
tunnel-group VPNPhone webvpn-attributes
authentication certificate
group-url https://asa5520-c.cisco.com/VPNPhone enable
without-csd
Nelle versioni precedenti dell'ASA, questa operazione non era possibile, quindi l'unica soluzione era disabilitare il CSD a livello globale.
In Cisco Adaptive Security Device Manager (ASDM), è possibile disabilitare CSD per un profilo di connessione specifico, come mostrato nell'esempio:
Nota: per disattivare la funzionalità CSD, utilizzare un URL di gruppo.
La maggior parte delle implementazioni non solo connette i telefoni IP all'appliance ASA, ma connette anche diversi tipi di macchine (Microsoft, Linux, Mac OS) e dispositivi mobili (Android, iOS). Per questo motivo, è normale trovare una configurazione esistente di regole DAP (Dynamic Access Policy), dove, nella maggior parte dei casi, l'azione predefinita in DfltAccessPolicy è la terminazione della connessione.
In questo caso, creare una regola DAP separata per i telefoni VPN. Utilizzate un parametro specifico, ad esempio Profilo connessione (Connection Profile), e impostate l'azione su Continua (Continue):
Se non si crea un criterio DAP specifico per i telefoni IP, l'ASA visualizza una corrispondenza in DfltAccessPolicy e una connessione non riuscita:
%ASA-6-716038: Group <DfltGrpPolicy> User <CP-7962G-SEP8CB64F576113> IP
<172.16.250.9> Authentication: successful, Session Type: WebVPN.
%ASA-7-734003: DAP: User CP-7962G-SEP8CB64F576113, Addr 172.16.250.9: Session
Attribute aaa.cisco.grouppolicy = GroupPolicy_VPNPhone
<snip>
%ASA-6-734001: DAP: User CP-7962G-SEP8CB64F576113, Addr 172.16.250.9,
Connection AnyConnect: The following DAP records were selected for this
connection: DfltAccessPolicy
%ASA-5-734002: DAP: User CP-7962G-SEP8CB64F576113, Addr 172.16.250.9: Connection terminated by the following DAP records: DfltAccessPolicy
Dopo aver creato un criterio DAP specifico per i telefoni IP con l'azione impostata su Continua, è possibile connettersi:
%ASA-7-746012: user-identity: Add IP-User mapping 10.10.10.10 -
LOCAL\CP-7962G-SEP8CB64F576113 Succeeded - VPN user
%ASA-4-722051: Group <GroupPolicy_VPNPhone> User <CP-7962G-SEP8CB64F576113> IP
<172.16.250.9> Address <10.10.10.10> assigned to session
%ASA-6-734001: DAP: User CP-7962G-SEP8CB64F576113, Addr 172.16.250.9, Connection
AnyConnect: The following DAP records were selected for this connection: VPNPhone
In molti casi, DfltGrpPolicy è impostato con diverse opzioni. Per impostazione predefinita, queste impostazioni vengono ereditate per la sessione telefonica IP a meno che non vengano specificate manualmente nei Criteri di gruppo che il telefono IP deve utilizzare.
Di seguito sono riportati alcuni parametri che potrebbero influire sulla connessione se ereditati da DfltGrpPolicy:
Si supponga di disporre della configurazione di esempio seguente in DfltGrpPolicy e in GroupPolicy_VPNPhone:
group-policy DfltGrpPolicy attributes
vpn-simultaneous-logins 0
vpn-tunnel-protocol ikev1 ikev2 l2tp-ipsec ssl-clientless
group-lock value DefaultWEBVPNGroup
vpn-filter value NO-TRAFFIC
group-policy GroupPolicy_VPNPhone attributes
wins-server none
dns-server value 10.198.29.20
default-domain value cisco.com
La connessione eredita i parametri da DfltGrpPolicy non specificati in modo esplicito in GroupPolicy_VPNPhone e durante la connessione esegue il push di tutte le informazioni al telefono IP.
Per evitare ciò, specificare manualmente i valori necessari direttamente nel gruppo:
group-policy GroupPolicy_VPNPhone internal
group-policy GroupPolicy_VPNPhone attributes
wins-server none
dns-server value 10.198.29.20
vpn-simultaneous-logins 3
vpn-tunnel-protocol ssl-client
group-lock value VPNPhone
vpn-filter none
default-domain value cisco.com
Per controllare i valori predefiniti di DfltGrpPolicy, utilizzare il comando show run all group-policy; nell'esempio seguente viene illustrata la differenza tra gli output:
ASA5510-F# show run group-policy DfltGrpPolicy group-policy DfltGrpPolicy attributes dns-server value 10.198.29.20 10.198.29.21 vpn-tunnel-protocol ikev1 ikev2 l2tp-ipsec ssl-client ssl-clientless default-domain value cisco.com ASA5510-F#
ASA5510-F# sh run all group-policy DfltGrpPolicy group-policy DfltGrpPolicy internal
group-policy DfltGrpPolicy attributes
banner none
wins-server none
dns-server value 10.198.29.20 10.198.29.21
dhcp-network-scope none
vpn-access-hours none
vpn-simultaneous-logins 3
vpn-idle-timeout 30
vpn-idle-timeout alert-interval 1
vpn-session-timeout none
vpn-session-timeout alert-interval 1
vpn-filter none
ipv6-vpn-filter none
vpn-tunnel-protocol ikev1 ikev2 l2tp-ipsec ssl-client ssl-clientless
Di seguito è riportato l'output degli attributi di ereditarietà dei criteri di gruppo tramite ASDM:
Un telefono VPN AnyConnect testato con 7962G IP phone e firmware versione 9.1.1 supporta solo due cifrari, entrambi AES (Advanced Encryption Standard): AES256-SHA e AES128-SHA. Se non si specificano i cifrari corretti nell'appliance ASA, la connessione viene rifiutata, come mostrato nel log dell'appliance:
%ASA-7-725010: Device supports the following 2 cipher(s).
%ASA-7-725011: Cipher[1] : RC4-SHA
%ASA-7-725011: Cipher[2] : DES-CBC3-SHA
%ASA-7-725008: SSL client outside:172.16.250.9/52684 proposes the following
2 cipher(s).
%ASA-7-725011: Cipher[1] : AES256-SHA
%ASA-7-725011: Cipher[2] : AES128-SHA
%ASA-7-725014: SSL lib error. Function: SSL3_GET_CLIENT_HELLO Reason: no shared cipher
Per confermare se l'appliance ASA ha i cifrari abilitati corretti, immettere i comandi show run all ssl e show ssl:
ASA5510-F# show run all ssl
ssl server-version any
ssl client-version any
ssl encryption rc4-sha1 aes128-sha1 aes256-sha1 3des-sha1
ssl trust-point SSL outside
ASA5510-F#
ASA5510-F# show ssl
Accept connections using SSLv2, SSLv3 or TLSv1 and negotiate to SSLv3 or TLSv1
Start connections using SSLv3 and negotiate to SSLv3 or TLSv1
Enabled cipher order: rc4-sha1 aes128-sha1 aes256-sha1 3des-sha1
Disabled ciphers: des-sha1 rc4-md5 dhe-aes128-sha1 dhe-aes256-sha1 null-sha1
SSL trust-points:
outside interface: SSL
Certificate authentication is not enabled
ASA5510-F#
Una volta creata la configurazione sul CUCM (Gateway, Group, and Profile), applicare le impostazioni VPN in Common Phone Profile:
Esistono due modi per configurare l'autenticazione dei certificati per i telefoni IP: il certificato MIC (Manufacturer Installed Certificate) e il certificato LSC (Locally Significant Certificate). Per scegliere l'opzione migliore per la tua situazione, fai riferimento all'esempio di configurazione dell'autenticazione del certificato per i telefoni VPN AnyConnect.
Quando si configura l'autenticazione dei certificati, esportare i certificati (CA radice) dal server CUCM e importarli nell'appliance ASA:
Una volta scaricati i file, accedere all'ASA dalla CLI o da ASDM e importare il certificato come certificato CA.
Per impostazione predefinita, tutti i telefoni che supportano VPN sono precaricati con MIC. I telefoni dei modelli 7960 e 7940 non sono dotati di MIC e richiedono una procedura di installazione speciale in modo che la LSC si registri in modo sicuro.
I più recenti telefoni IP Cisco (8811, 8841, 8851 e 8861) includono certificati MIC firmati dalla nuova CA SHA2 di produzione:
Suggerimento: fare clic su questo collegamento per ottenere la CA SHA2 se CUCM attualmente esegue una versione precedente.
Attenzione: Cisco consiglia di utilizzare gli ACM solo per l'installazione di LCS. Cisco supporta le LCS per l'autenticazione della connessione TLS con CUCM. Poiché i certificati radice MIC possono essere compromessi, i clienti che configurano i telefoni per l'utilizzo dei MIC per l'autenticazione TLS o per qualsiasi altro scopo lo fanno a proprio rischio. Cisco non si assume alcuna responsabilità in caso di compromissione dei MIC.
Per impostazione predefinita, se nel telefono è presente una scheda LSC, l'autenticazione utilizza la scheda LSC, indipendentemente dal fatto che nel telefono sia presente un MIC. Se nel telefono sono presenti un MIC e un LSC, l'autenticazione utilizza il LSC. Se nel telefono non esiste un lettore LCS, ma un microfono MIC esiste, l'autenticazione utilizza il microfono MIC.
Nota: per l'autenticazione dei certificati, è necessario esportare il certificato SSL dall'appliance ASA e importarlo nel CUCM.
Se il nome comune (CN) nel soggetto del certificato non corrisponde all'URL (URL del gruppo) usato dai telefoni per connettersi all'ASA tramite la VPN, disabilitare il controllo dell'ID host sul dispositivo CUCM o usare un certificato nell'ASA che corrisponda all'URL sull'ASA.
Questa operazione è necessaria quando il certificato SSL dell'appliance ASA è un certificato con caratteri jolly, il certificato SSL contiene una rete SAN (Subject Alternative Name) diversa o l'URL è stato creato con l'indirizzo IP anziché con il nome di dominio completo (FQDN).
Questo è un esempio di nota telefonata IP in cui il CN del certificato non corrisponde all'URL che il telefono sta tentando di raggiungere.
1231: NOT 07:07:32.445560 VPNC: DNS has wildcard, starting checks...
1232: ERR 07:07:32.446239 VPNC: Generic third level wildcards are not allowed,
stopping checks on host=(test.vpn.com) and dns=(*.vpn.com)
1233: NOT 07:07:32.446993 VPNC: hostID not found in subjectAltNames
1234: NOT 07:07:32.447703 VPNC: hostID not found in subject name
1235: ERR 07:07:32.448306 VPNC: hostIDCheck failed!!
Per disabilitare il controllo dell'ID host nel CUCM, selezionare Advanced Features > VPN > VPN Profile (Funzionalità avanzate > VPN > Profilo VPN):
Sull'appliance ASA, è possibile abilitare i seguenti debug e log per la risoluzione dei problemi:
logging enable
logging buffer-size 1048576
logging buffered debugging
debug webvpn anyconnect 255
Nota: in un'implementazione di grandi dimensioni con un carico elevato di utenti AnyConnect, Cisco consiglia di non abilitare il comando debug webvpnh anyconnect. Poiché l'output non può essere filtrato in base all'indirizzo IP, è possibile che venga creata una grande quantità di informazioni.
Per accedere alle note telefonate, attivare la funzionalità Accesso Web. Accedere a CUCM e selezionare Device > Phone > Phone Configuration (Dispositivo > Telefono > Configurazione telefono). Individuare il telefono IP su cui si desidera attivare questa caratteristica e la sezione relativa ad Accesso Web. Applicare le modifiche alla configurazione al telefono IP:
Una volta attivato il servizio e reimpostato il telefono per inserire questa nuova funzione, è possibile accedere alle note telefonate IP nel browser; utilizzare l'indirizzo IP del telefono da un computer con accesso a quella subnet. Andare ai log della console e controllare i cinque file di log. Poiché il telefono sovrascrive i cinque file, è necessario controllare tutti questi file per trovare le informazioni che si cercano.
Questo è un esempio di come correlare i registri dall'ASA al telefono IP. In questo esempio, l'hash del certificato sull'appliance ASA non corrisponde all'hash del certificato sul file di configurazione del telefono, in quanto il certificato sull'appliance ASA è stato sostituito con un certificato diverso.
%ASA-7-725012: Device chooses cipher : AES128-SHA for the SSL session with
client outside:172.16.250.9/50091
%ASA-7-725014: SSL lib error. Function: SSL3_READ_BYTES Reason: tlsv1 alert
unknown ca
%ASA-6-725006: Device failed SSL handshake with client outside:172.16.250.9/50091
902: NOT 10:19:27.155936 VPNC: ssl_state_cb: TLSv1: SSL_connect: before/connect
initialization
903: NOT 10:19:27.162212 VPNC: ssl_state_cb: TLSv1: SSL_connect: unknown state
904: NOT 10:19:27.361610 VPNC: ssl_state_cb: TLSv1: SSL_connect: SSLv3 read server hello A
905: NOT 10:19:27.364687 VPNC: cert_vfy_cb: depth:1 of 1, subject:
</CN=10.198.16.140/unstructuredName=10.198.16.140>
906: NOT 10:19:27.365344 VPNC: cert_vfy_cb: depth:1 of 1, pre_err: 18 (self signed certificate)
907: NOT 10:19:27.368304 VPNC: cert_vfy_cb: peer cert saved: /tmp/leaf.crt
908: NOT 10:19:27.375718 SECD: Leaf cert hash = 1289B8A7AA9FFD84865E38939F3466A61B5608FC
909: ERR 10:19:27.376752 SECD: EROR:secLoadFile: file not found </tmp/issuer.crt>
910: ERR 10:19:27.377361 SECD: Unable to open file /tmp/issuer.crt
911: ERR 10:19:27.420205 VPNC: VPN cert chain verification failed, issuer certificate not found and leaf not trusted
912: ERR 10:19:27.421467 VPNC: ssl_state_cb: TLSv1: write: alert: fatal:
unknown CA
913: ERR 10:19:27.422295 VPNC: alert_err: SSL write alert: code 48, unknown CA
914: ERR 10:19:27.423201 VPNC: create_ssl_connection: SSL_connect ret -1 error 1
915: ERR 10:19:27.423820 VPNC: SSL: SSL_connect: SSL_ERROR_SSL (error 1)
916: ERR 10:19:27.424541 VPNC: SSL: SSL_connect: error:14090086:SSL
routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
917: ERR 10:19:27.425156 VPNC: create_ssl_connection: SSL setup failure
918: ERR 10:19:27.426473 VPNC: do_login: create_ssl_connection failed
919: NOT 10:19:27.427334 VPNC: vpn_stop: de-activating vpn
920: NOT 10:19:27.428156 VPNC: vpn_set_auto: auto -> auto
921: NOT 10:19:27.428653 VPNC: vpn_set_active: activated -> de-activated
922: NOT 10:19:27.429187 VPNC: set_login_state: LOGIN: 1 (TRYING) --> 3 (FAILED)
923: NOT 10:19:27.429716 VPNC: set_login_state: VPNC : 1 (LoggingIn) --> 3
(LoginFailed)
924: NOT 10:19:27.430297 VPNC: vpnc_send_notify: notify type: 1 [LoginFailed]
925: NOT 10:19:27.430812 VPNC: vpnc_send_notify: notify code: 37
[SslAlertSrvrCert]
926: NOT 10:19:27.431331 VPNC: vpnc_send_notify: notify desc: [alert: Unknown
CA (server cert)]
927: NOT 10:19:27.431841 VPNC: vpnc_send_notify: sending signal 28 w/ value 13 to
pid 14
928: ERR 10:19:27.432467 VPNC: protocol_handler: login failed
È possibile collegare un computer direttamente a un telefono. Il telefono ha una porta di commutazione nel piano posteriore.
Configurare il telefono come in precedenza, abilitare Span to PC Port sul CUCM e applicare la configurazione. Il telefono inizia a inviare una copia di ogni fotogramma al PC. Usare Wireshark in modalità promiscua per catturare il traffico per l'analisi.
Una domanda comune è se è possibile modificare la configurazione della VPN quando il telefono IP è connesso alla rete da AnyConnect. La risposta è sì, ma è necessario confermare alcune impostazioni di configurazione.
Apportare le modifiche necessarie nel CUCM, quindi applicare le modifiche al telefono. Ci sono tre opzioni (Apply Config, Reset, Restart) per inviare la nuova configurazione al telefono. Sebbene tutte e tre le opzioni disconnettano la VPN dal telefono e dall'ASA, è possibile riconnettersi automaticamente se si utilizza l'autenticazione del certificato; se si utilizza l'autenticazione, l'autorizzazione e l'accounting (AAA), vengono richieste nuovamente le credenziali.
Nota: quando il telefono IP si trova sul lato remoto, in genere riceve un indirizzo IP da un server DHCP esterno. Affinché il telefono IP riceva la nuova configurazione dal CUCM, deve contattare il server TFTP nell'ufficio principale. Normalmente CUCM è lo stesso server TFTP.
Per ricevere i file di configurazione con le modifiche, verificare che l'indirizzo IP del server TFTP sia impostato correttamente nelle impostazioni di rete del telefono; per conferma, usare l'opzione 150 del server DHCP o impostare manualmente il TFTP sul telefono. Questo server TFTP è accessibile tramite una sessione AnyConnect.
Se il telefono IP riceve il server TFTP da un server DHCP locale ma l'indirizzo non è corretto, è possibile utilizzare l'opzione del server TFTP alternativo per ignorare l'indirizzo IP del server TFTP fornito dal server DHCP. In questa procedura viene descritto come applicare il server TFTP alternativo:
Esaminare i messaggi di stato nel browser Web o nei menu del telefono direttamente per verificare che il telefono riceva le informazioni corrette. Se la comunicazione è impostata correttamente, verranno visualizzati messaggi come i seguenti:
Se il telefono non è in grado di recuperare le informazioni dal server TFTP, si ricevono messaggi di errore TFTP:
Se si ha una configurazione VPN AnyConnect funzionante, ma il certificato SSL ASA sta per scadere, non è necessario portare tutti i telefoni IP sul sito principale per inserire i nuovi certificati SSL nel telefono. È possibile aggiungere i nuovi certificati mentre la VPN è connessa.
Se il certificato CA radice dell'appliance ASA è stato esportato o importato anziché il certificato di identità e si desidera continuare a utilizzare lo stesso fornitore (CA) durante il rinnovo, non è necessario modificare il certificato nel CUCM in quanto rimane lo stesso. Tuttavia, se è stato usato il certificato di identità, questa procedura è necessaria; in caso contrario, il valore hash tra l'ASA e il telefono IP non corrisponde e la connessione non è considerata attendibile dal telefono.
Nota: per i dettagli, consultare il documento ASA 8.x: Renew and Install the SSL Certificate with ASDM (Rinnovare e installare il certificato SSL con ASDM). Creare un trust point separato e non applicare il nuovo certificato con il comando ssl trustpoint <nome> esterno fino a quando il certificato non sarà stato applicato a tutti i telefoni IP VPN.
Nota: tenere presente che CSCuh19734 se si caricano certificati con lo stesso CN, il vecchio certificato verrà sovrascritto in Phone-VPN-trust
Nota: se il certificato ASA SSL è già scaduto e i telefoni IP non sono in grado di connettersi tramite AnyConnect, è possibile eseguire il push delle modifiche (ad esempio, il nuovo hash del certificato ASA) sul telefono IP. Impostare manualmente il TFTP nel telefono IP su un indirizzo IP pubblico in modo che il telefono IP possa recuperare le informazioni da tale indirizzo. Usare un server TFTP pubblico per ospitare il file di configurazione; ad esempio, è possibile creare un Port Forwarding sull'appliance ASA e reindirizzare il traffico al server TFTP interno.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
06-May-2013 |
Versione iniziale |