Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Configurazione

Passaggio 1: Creare un certificato autofirmato e un file PKCS#12 utilizzando OpenSSL

Passaggio 2: caricare il file PKCS#12 in Azure e FDM

Passaggio 2.1. Carica il certificato in Azure

Passaggio 2.2. Carica il certificato in FDM

Verifica

Introduzione

In questo documento viene descritto come configurare l'autenticazione SAML per più profili di connessione della VPN ad accesso remoto usando Azure come IdP su CSF tramite FDM.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza di base dei seguenti argomenti:

- Certificati SSL (Secure Sockets Layer)

- OpenSSL

- RAVPN (Virtual Private Network) di accesso remoto

- Cisco Secure Firewall Device Manager (FDM)

- SAML (Security Assertion Markup Language)

- Microsoft Azure

Componenti usati

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

- OpenSSL

- Cisco Secure Firewall (CSF) versione 7.4.1

- Cisco Secure Firewall Device Manager versione 7.4.1

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

SAML, o Security Assertion Markup Language, è uno standard aperto per lo scambio di informazioni di autenticazione e autorizzazione tra parti, in particolare un provider di identità (IdP) e un provider di servizi (SP). L'utilizzo dell'autenticazione SAML per le connessioni VPN (Remote Access VPN) e diverse altre applicazioni è diventato sempre più comune grazie ai numerosi vantaggi che offre. In Firepower Management Center (FMC) è possibile configurare più profili di connessione per l'utilizzo di diverse applicazioni protette da IdP grazie all'opzione Ignora certificato provider di identità disponibile nel menu di configurazione Profilo di connessione. Questa funzionalità consente agli amministratori di sostituire il certificato IdP primario nell'oggetto server Single Sign-On (SSO) con un certificato IdP specifico per ogni profilo di connessione. Tuttavia, questa funzionalità è limitata in Firepower Device Manager (FDM) in quanto non fornisce un'opzione simile. Se è stato configurato un secondo oggetto SAML, il tentativo di connessione al primo profilo di connessione genera un errore di autenticazione e visualizza il messaggio di errore "Autenticazione non riuscita a causa di un problema durante il recupero del cookie Single Sign-On". Per ovviare a questa limitazione, è possibile creare e importare in Azure un certificato autofirmato personalizzato da utilizzare in tutte le applicazioni. In questo modo, è necessario installare un solo certificato in FDM, consentendo l'autenticazione SAML senza problemi per più applicazioni.

Configurazione

Passaggio 1: Creare un certificato autofirmato e un file PKCS#12 utilizzando OpenSSL

In questa sezione viene descritto come creare il certificato autofirmato utilizzando OpenSSL

1. Accedere a un endpoint in cui è installata la libreria OpenSSL.

Nota: in questo documento viene usato un computer Linux, quindi alcuni comandi sono specifici di un ambiente Linux. Tuttavia, i comandi OpenSSL sono gli stessi.

b. Creare un file di configurazione utilizzando iltouch

.conf

comando.

root@host# touch config.conf

c. Modificare il file con un editor di testo. Nell'esempio viene utilizzato Vim e viene eseguito il  vim

.conf

comando. È possibile utilizzare qualsiasi altro editor di testo.

root@host# vim config.conf

d. Inserire le informazioni da includere nel documento autofirmato.

Assicurarsi di sostituire i valori tra < > con le informazioni dell'organizzazione.

[req]

distinguished_name = req_distinguished_name

prompt = no

[req_distinguished_name]

C =

ST =

L =

O =

OU =

CN =

e. L'uso di questo comando genera una nuova chiave privata RSA a 2048 bit e un certificato autofirmato utilizzando l'algoritmo SHA-256, valido per 3650 giorni, in base alla configurazione specificata nel

.conf

file. La chiave privata viene salvata in

.pem

e il certificato autofirmato viene salvato in

.crt

.

root@host# openssl req -newkey rsa:2048 -nodes -keyout

.pem -x509 -sha256 -days 3650 -config

.conf -out

.crt

f. Dopo aver creato la chiave privata e il certificato autofirmato, questi vengono esportati in un file PKCS#12, che può includere sia la chiave privata che il certificato.

root@host# openssl pkcs12 -export -inkey

.pem -in

.crt -name

-out

.pfx

Prendere nota della password.

Passaggio 2: caricare il file PKCS#12 in Azure e FDM

Assicurarsi di creare un'applicazione in Azure per ogni profilo di connessione che utilizza l'autenticazione SAML in FDM.

Dopo aver ottenuto il file PKCS#12 dal Passaggio 1: creazione di un certificato autofirmato e di un file PKCS#12 utilizzando OpenSSL, è necessario caricarlo in Azure per più applicazioni e configurarlo nella configurazione FDM SSO.

Passaggio 2.1. Carica il certificato in Azure

a. Accedere al portale di Azure, passare all'applicazione Enterprise che si desidera proteggere con l'autenticazione SAML e selezionare Single Sign-On.

b. Scorrere fino alla sezione Certificati SAML e selezionare Altre opzioni > Modifica.

c. Selezionare l'opzione Importa certificato.

d. Individuare il file PKCS#12 creato in precedenza e utilizzare la password immessa al momento della creazione del file PKCS#12.

e. Infine, selezionare l'opzione Rendi certificato attivo.

Nota: eseguire il passaggio 2.1: Caricare il certificato in Azure per ogni applicazione.

Passaggio 2.2. Carica il certificato in FDM

a. Passare a Objects > Certificates > Click Add Trusted CA certificate.

b. Inserire il nome del trust point desiderato e caricare solo il certificato di identità dall'IdP (non il file PKCS#12), quindi controllare la Skip CA Certificate Checktabella.

c. Impostare il nuovo certificato nell'oggetto SAML.

d. Impostare l'oggetto SAML nei diversi profili di connessione che utilizzano SAML come metodo di autenticazione e per i quali l'applicazione è stata creata in Azure. Distribuire le modifiche

Verifica

Eseguire i comandi show running-configwebvpn eshow running-config tunnel-groupper rivedere la configurazione e verificare che lo stesso URL IDP sia configurato sui diversi profili di connessione.

firepower#show running-confuting webvpn

webvpn

enable outside

http-headers

hsts-server

enable

max-age 31536000

include-sub-domains

no preload

hsts-client

enable

x-content-type-options

x-xss-protection

content-security-policy

anyconnect image disk0:/anyconnpkgs/anyconnect-win-4.10.08029-webdeploy-k9.pkg 2

anyconnect profiles defaultClientProfile disk0:/anyconncprofs/defaultClientProfile.xml

anyconnect enable

saml idp https://saml.lab.local/af42bac0

/

url sign-in https://login.saml.lab.local/af42bac0

/saml2

url sign-out https://login.saml.lab.local/af42bac0

/saml2

base-url https://Server.cisco.com

trustpoint idp

Azure_SSO

trustpoint sp FWCertificate

no signature

force re-authentication

tunnel-group-list enable

cache

disable

error-recovery disable

firepower#

firepower# show running-config tunnel-group

tunnel-group SAML_TG_Admin type remote-access

tunnel-group SAML_TG_Admin general-attributes

address-pool Admin_Pool

default-group-policy SAML_GP_Admin

tunnel-group SAML_TG_Admin webvpn-attributes

authentication saml

group-alias SAML_TG_Admin enable

saml identity-provider https://saml.lab.local/af42bac0

/

tunnel-group SAML_TG_IT type remote-access

tunnel-group SAML_TG_IT general-attributes

address-pool IT_Pool

default-group-policy SAML_GP_IT

tunnel-group SAML_TG_IT webvpn-attributes

authentication saml

group-alias SAML_TG_IT enable

saml identity-provider https://saml.lab.local/af42bac0

/

firepower#