Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Configurazione

Passaggio 1. Utilizzare la CA pubblica o la CA configurata in Windows Server 2003

Passaggio 2. Verificare nome host e impostazioni

Passaggio 3. Generare e scaricare la richiesta di firma del certificato (CSR)

Passaggio 4. Firmare CSR con Microsoft Windows 2003 Certificate Authority

Passaggio 5. Ottenere il certificato radice dalla CA

Passaggio 6. Caricare il certificato radice CA come attendibilità di CallManager

Passaggio 7. Caricare il certificato CSR CallManager firmato dalla CA come certificato CallManager.

Passaggio 8. Creazione di profili di sicurezza trunk SIP

Passaggio 9. Creazione di trunk SIP

Passaggio 10. Creazione di serie di cicli di lavorazione

Verifica

Risoluzione dei problemi

Raccogli acquisizione pacchetti su CUCM

Raccogli tracce CUCM

Introduzione

In questo documento viene descritto un processo dettagliato per configurare il trunk TLS (Transport Layer Security) SIP (Session Initiation Protocol) su Communications Manager con un certificato firmato da un'autorità di certificazione (CA).

Dopo aver seguito questo documento, i messaggi SIP tra due cluster verranno crittografati tramite TLS.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza di:

- Cisco Unified Communications Manager (CUCM)

- SIP

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software:

- CUCM versione 9.1(2)

- CUCM versione 10.5(2)

- Microsoft Windows Server 2003 come CA

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.

Premesse

Come illustrato in questa immagine, Handshake SSL con certificati.

Configurazione

Passaggio 1. Utilizzare la CA pubblica o la CA configurata in Windows Server 2003

Fare riferimento al collegamento: Configura CA su Windows 2003 Server

Passaggio 2. Verificare nome host e impostazioni

I certificati sono basati sui nomi. Assicurarsi che i nomi siano corretti prima di iniziare.

From SSH CLI

admin:show cert own CallManager

SignatureAlgorithm: SHA1withRSA (1.2.840.113549.1.1.5)

Issuer Name: CN=CUCMA, OU=cisco, O=cisco, L=cisco, ST=cisco, C=IN

Subject Name: CN=CUCMA, OU=cisco, O=cisco, L=cisco, ST=cisco, C=IN

Per modificare il nome dell'host, fare riferimento al collegamento: Modifica nome host in CUCM

Passaggio 3. Generare e scaricare la richiesta di firma del certificato (CSR)

CUCM 9.1(2)

Per generare il CSR, selezionare Amministratore sistema operativo > Sicurezza > Gestione certificati > Genera CSR

Nel campo Nome certificato, selezionare l'opzione CallManager dall'elenco a discesa.

Per scaricare il CSR, selezionare Amministratore del sistema operativo > Sicurezza > Gestione certificati > Scarica CSR

Nel campo Nome certificato, selezionare l'opzione CallManager dall'elenco a discesa.

CUCM 10.5(2)

Per generare il CSR, selezionare Amministratore sistema operativo > Sicurezza > Gestione certificati > Genera CSR

1. Nel campo Scopo certificato, selezionare CallManager dall'elenco a discesa.

2. Nel campo Lunghezza chiave, selezionare 1024 dall'elenco a discesa.

3. Nel campo Hash Algorithm, selezionare SHA1 dall'elenco a discesa.

Per scaricare il CSR, selezionare Amministratore del sistema operativo > Sicurezza > Gestione certificati > Scarica CSR

Nel campo Scopo certificato, selezionare l'opzione CallManager dall'elenco a discesa.

Nota: Il CSR di CallManager viene generato con le chiavi RSA (Rivest-Shamir-Addleman) a 1024 bit.

Passaggio 4. Firmare CSR con Microsoft Windows 2003 Certificate Authority

Informazioni facoltative per la firma del CSR con la CA di Microsoft Windows 2003.

1. Aprire l'Autorità di certificazione.

2. Fare clic con il pulsante destro del mouse sull'icona CA e selezionare All Tasks > Submit new request (Tutte le attività > Invia nuova richiesta)

3. Selezionare il CSR e fare clic sull'opzione Open (applicabile sia al CSR (CUCM 9.1(2) che al CUCM 10.5(2))

4. Tutti i CSR aperti vengono visualizzati nella cartella Richieste in sospeso. Fare clic con il pulsante destro del mouse su ciascun CSR e selezionare All Tasks > Issue per emettere i certificati. (Applicabile sia nel CSR (CUCM 9.1(2) che in CUCM 10.5(2))

5. Per scaricare il certificato, scegliere la cartella Certificati rilasciati.

Fare clic con il pulsante destro del mouse sul certificato e scegliere l'opzione Apri.

6. Vengono visualizzati i dettagli del certificato. Per scaricare il certificato, selezionare la scheda Dettagli e fare clic sul pulsante Copia su file...

7. Nella finestra Esportazione guidata certificati, fare clic sul pulsante di opzione X.509(.CER) con codifica Base 64.

8. Assegnare un nome accurato al file. In questo esempio viene utilizzato il formato CUCM1052.cer.

Per CUCM 9.1(2), seguire la stessa procedura.

Passaggio 5. Ottenere il certificato radice dalla CA

Aprire la finestra Autorità di certificazione.

Per scaricare la CA radice

1. Fare clic con il pulsante destro del mouse sull'icona della CA e selezionare l'opzione Proprietà.

2. Nella scheda Generale, fare clic su Visualizza certificato.

3. Nella finestra Certificato, fare clic sulla scheda Dettagli.

4. Fare clic su Copia su file...

Passaggio 6. Caricare il certificato radice CA come attendibilità di CallManager

Per caricare il certificato radice CA, accedere a Amministratore del sistema operativo > Sicurezza > Gestione certificati > Carica certificato/catena di certificati

Nota: Eseguire questi passaggi sia su CUCM (CUCM 9.1(2) che su CUCM 10.5(2))

Passaggio 7. Caricare il certificato CSR CallManager firmato dalla CA come certificato CallManager.

Per caricare la firma CA di CallManager CSR, accedere a Amministratore del sistema operativo > Sicurezza > Gestione certificati > Carica certificato/catena di certificati

Nota: Eseguire questi passaggi sia su CUCM (CUCM 9.1(2) che su CUCM 10.5(2))

Passaggio 8. Creazione di profili di sicurezza trunk SIP

CUCM 9.1(2)

Per creare il profilo di sicurezza trunk SIP, selezionare Sistema > Sicurezza > Profilo di sicurezza trunk SIP.

Copiare il profilo trunk SIP non sicuro esistente e assegnargli un nuovo nome. Nell'esempio, il profilo Trunk SIP non sicuro è stato rinominato con il profilo TLS.

In Nome soggetto X.509 utilizzare il nome comune (CN) di CUCM 10.5(2) (certificato firmato CA), come mostrato in questa immagine.

CUCM 10.5(2)

Passare a Sistema > Sicurezza > Profilo sicurezza trunk SIP.

Copiare il profilo trunk SIP non sicuro esistente e assegnargli un nuovo nome. Nell'esempio, il profilo Trunk SIP non sicuro è stato rinominato con il profilo TLS.

In Nome soggetto X.509 utilizzare il CN di CUCM 9.1(2) (certificato firmato CA) come evidenziato:

Entrambi i profili SIP Trunk Security hanno impostato una porta in ingresso di 5061, in cui ciascun cluster resta in ascolto sulla porta TCP 5061 per le nuove chiamate SIP TLS in ingresso.

Passaggio 9. Creazione di trunk SIP

Dopo aver creato i profili di sicurezza, creare i trunk SIP e apportare le modifiche per il parametro di configurazione riportato di seguito sul trunk SIP.

CUCM 9.1(2)

1. Nella finestra SIP Trunk Configuration, selezionare la casella di controllo del parametro di configurazione SRTP Allowed.

In questo modo viene protetto il protocollo RTP (Real-time Transport Protocol) da utilizzare per le chiamate su questo trunk. Questa casella deve essere selezionata solo quando si utilizza il protocollo SIP TLS in quanto le chiavi per il protocollo SRTP (Secure Real-time Transport Protocol) vengono scambiate nel corpo del messaggio SIP. La segnalazione SIP deve essere protetta da TLS, altrimenti chiunque con la segnalazione SIP non protetta potrebbe decrittografare il flusso SRTP corrispondente sul trunk.

2. Nella sezione SIP Information della finestra SIP Trunk Configuration, aggiungere l'indirizzo di destinazione, la porta di destinazione e il profilo SIP Trunk Security.

CUCM 10.5(2)

1. Nella finestra SIP Trunk Configuration, selezionare la casella di controllo del parametro di configurazione SRTP Allowed.

Ciò consente di utilizzare il protocollo SRTP per le chiamate su questo trunk. Questa casella deve essere selezionata solo quando si utilizza SIP TLS, perché le chiavi per SRTP vengono scambiate nel corpo del messaggio SIP. La segnalazione SIP deve essere protetta dal TLS perché chiunque disponga di una segnalazione SIP non protetta può decrittografare il flusso Secure RTP corrispondente sul trunk.

2. Nella sezione SIP Information della finestra SIP Trunk Configuration, aggiungere l'indirizzo IP di destinazione, la porta di destinazione e il profilo di sicurezza.

Passaggio 10. Creazione di serie di cicli di lavorazione

Il metodo più semplice consiste nel creare un modello di percorso su ciascun cluster, che punti direttamente al trunk SIP. È inoltre possibile utilizzare i gruppi di route e gli elenchi di route.

CUCM 9.1(2) punta al modello di percorso 9898 attraverso il trunk SIP TLS al modello CUCM 10.5(2)

La CUCM 10.5(2) punta al modello di percorso 1018 attraverso il trunk SIP TLS al modello CUCM 9.1(2)

Verifica

Attualmente non è disponibile una procedura di verifica per questa configurazione.

Risoluzione dei problemi

È possibile eseguire il debug della chiamata SIP TLS eseguendo la procedura seguente.

Raccogli acquisizione pacchetti su CUCM

Per controllare la connettività tra CUCM 9.1(2) e CUCM 10.5(2), acquisire un pacchetto sui server CUCM e controllare il traffico SIP TLS.

Il traffico SIP-TLS viene trasmesso sulla porta TCP 5061 come sip-tls.

Nell'esempio seguente viene stabilita una sessione CLI SSH per CUCM 9.1(2)

1. CLI Packet Capture sullo schermo

Questa CLI stampa l'output sullo schermo per il traffico SIP TLS.

admin:utils network capture host ip 10.106.95.200

Executing command with options:

interface=eth0

ip=10.106.95.200

19:04:13.410944 IP CUCMA.42387 > 10.106.95.200.sip-tls: P 790302485:790303631(1146) ack 3661485150 win 182 <nop,nop,timestamp 2864697196 5629758>

19:04:13.450507 IP 10.106.95.200.sip-tls > CUCMA.42387: . ack 1146 win 249 <nop,nop,timestamp 6072188 2864697196>

19:04:13.465388 IP 10.106.95.200.sip-tls > CUCMA.42387: P 1:427(426) ack 1146 win 249 <nop,nop,timestamp 6072201 2864697196>

2. Acquisizioni CLI su file

Questa CLI acquisisce i pacchetti in base all'host e crea un file denominato packets.

admin:utils network capture eth0 file packets count 100000 size all host ip 10.106.95.200

Riavviare il trunk SIP su CUCM 9.1(2) ed effettuare la chiamata dall'estensione 1018 (CUCM 9.1(2)) all'estensione 9898 (CUCM 10.5(2))

Per scaricare il file dalla CLI, eseguire questo comando:

admin:file get activelog platform/cli/packets.cap

L'acquisizione viene eseguita nel formato standard .cap. In questo esempio viene utilizzato Wireshark per aprire il file packets.cap, ma è possibile utilizzare qualsiasi strumento di visualizzazione per l'acquisizione dei pacchetti.

1. Transmission Control Protocol (TCP) Synchronize (SYN) per stabilire la comunicazione TCP tra CUCM 9.1(2)(Client) e CUCM 10.5(2)(Server).

2. CUCM 9.1(2) invia al client Hello per avviare la sessione TLS.

3. CUCM 10.5(2) invia a Server Hello, Server Certificate e Certificate Request per avviare il processo di scambio dei certificati.

4. Il certificato inviato dal client CUCM 9.1(2) per completare lo scambio di certificati.

5. I dati dell'applicazione che sono segnali SIP crittografati mostrano che la sessione TLS è stata stabilita.

Verificare ulteriormente se vengono scambiati i certificati corretti. Dopo Server Hello, il server CUCM 10.5(2) invia il proprio certificato al client CUCM 9.1(2).

Il numero di serie e le informazioni sull'oggetto di cui dispone il server CUCM 10.5(2) vengono presentati al client CUCM 9.1(2). Il numero di serie, l'oggetto, l'emittente e le date di validità vengono confrontati con le informazioni riportate nella pagina Gestione certificati di amministrazione del sistema operativo.

Il server CUCM 10.5(2) presenta il proprio certificato per la verifica, ora verifica il certificato del client CUCM 9.1(2). La verifica viene eseguita in entrambe le direzioni.

In caso di mancata corrispondenza tra i certificati nell'acquisizione dei pacchetti e i certificati nella pagina Web Amministrazione del sistema operativo, i certificati corretti non vengono caricati.

I certificati corretti devono essere caricati nella pagina Admin Cert del sistema operativo.

Raccogli tracce CUCM

Le tracce CUCM possono inoltre essere utili per determinare quali messaggi vengono scambiati tra i server CUCM 9.1(2) e CUCM 10.5(2) e se la sessione SSL è stabilita correttamente o meno.

Nell'esempio sono state raccolte le tracce di CUCM 9.1(2).

Flusso di chiamata:

Ext 1018 > CUCM 9.1(2) > SIP TLS TRUNK > CUCM 10.5(2) > Ext 9898

++ Analisi cifre

04530161.009 |19:59:21.185 |AppInfo |Digit analysis: match(pi="2", fqcn="1018", cn="1018",plv="5", pss="", TodFilteredPss="", dd="9898",dac="0")

04530161.010 |19:59:21.185 |AppInfo |Digit analysis: analysis results

04530161.011 |19:59:21.185 |AppInfo ||PretransformCallingPartyNumber=1018

|CallingPartyNumber=1018

|DialingPartition=

|DialingPattern=9898

|FullyQualifiedCalledPartyNumber=9898

++ SIP TLS è in uso sulla porta 5061 per questa chiamata.

04530191.034 |19:59:21.189 |AppInfo |//SIP/SIPHandler/ccbId=0/scbId=0/SIP_PROCESS_ENQUEUE: createConnMsg tls_security=3

04530204.002 |19:59:21.224 |AppInfo |//SIP/Stack/Transport/0x0/sipConnectionManagerProcessConnCreated: gConnTab=0xb444c150, addr=10.106.95.200, port=5061, connid=12, transport=TLS Over TCP

04530208.001 |19:59:21.224 |AppInfo |SIPTcp - wait_SdlSPISignal: Outgoing SIP TCP message to 10.106.95.200 on port 5061 index 12

[131,NET]

INVITE sip:9898@10.106.95.200:5061 SIP/2.0

Via: SIP/2.0/TLS 10.106.95.203:5061;branch=z9hG4bK144f49a43a

From: <sip:1018@10.106.95.203>;tag=34~4bd244e4-0988-4929-9df2-2824063695f5-19024196

To: <sip:9898@10.106.95.200>

Call-ID: 94fffc00-57415541-7-cb5f6a0a@10.106.95.203

User-Agent: Cisco-CUCM9.1

++ Messaggio SDL (Signal Distribution Layer) SIPCertificateInd fornisce dettagli sul CN soggetto e informazioni sulla connessione.

04530218.000 |19:59:21.323 |SdlSig   |SIPCertificateInd                     |wait                          |SIPHandler(1,100,72,1)           |SIPTcp(1,100,64,1)               |1,100,17,11.3^*^*                       |[T:N-H:0,N:1,L:0,V:0,Z:0,D:0] connIdx= 12 --remoteIP=10.106.95.200 --remotePort = 5061 --X509SubjectName /C=IN/ST=cisco/L=cisco/O=cisco/OU=cisco/CN=CUCM10 --Cipher AES128-SHA --SubjectAltname =

04530219.000 |19:59:21.324 |SdlSig   |SIPCertificateInd                     |restart0                       |SIPD(1,100,74,16)               |SIPHandler(1,100,72,1)           |1,100,17,11.3^*^*                       |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] connIdx= 12 --remoteIP=10.106.95.200 --remotePort = 5061 --X509SubjectName /C=IN/ST=cisco/L=cisco/O=cisco/OU=cisco/CN=CUCM10 --Cipher AES128-SHA --SubjectAltname =