Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Configurar

Paso 1: Crear un certificado autofirmado y un archivo PKCS#12 mediante OpenSSL

Paso 2: Cargue el archivo PKCS#12 en Azure y FDM

Paso 2.1. Cargar el certificado en Azure

Paso 2.2. Cargar el certificado en FDM

Verificación

Introducción

Este documento describe cómo configurar la autenticación SAML para múltiples perfiles de conexión de VPN de acceso remoto usando Azure como IdP en CSF a través de FDM.

Prerequisites

Requirements

Cisco recomienda tener conocimientos básicos sobre estos temas:

- Certificados de capa de socket seguro (SSL)

- OpenSSL

- Red privada virtual de acceso remoto (RAVPN)

- Cisco Secure Firewall Device Manager (FDM)

- Lenguaje de marcado de aserción de seguridad (SAML)

- Microsoft Azure

Componentes Utilizados

La información que contiene este documento se basa en estas versiones de software:

- OpenSSL

- Cisco Secure Firewall (CSF) versión 7.4.1

- Cisco Secure Firewall Device Manager versión 7.4.1

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

SAML, o Lenguaje de marcado de aserción de seguridad, es un estándar abierto para el intercambio de información de autenticación y autorización entre partes, específicamente un Proveedor de identidad (IdP) y un Proveedor de servicios (SP). El uso de la autenticación SAML para conexiones VPN de acceso remoto (RAVPN) y varias otras aplicaciones se ha vuelto cada vez más popular debido a sus numerosas ventajas. En Firepower Management Center (FMC), se pueden configurar varios perfiles de conexión para utilizar diferentes aplicaciones protegidas por IdP gracias a la opción Omitir certificado de proveedor de identidad disponible en el menú de configuración Perfil de conexión. Esta función permite a los administradores anular el certificado IdP principal en el objeto de servidor de inicio de sesión único (SSO) con un certificado IdP específico para cada perfil de conexión. Sin embargo, esta funcionalidad está limitada en Firepower Device Manager (FDM), ya que no proporciona una opción similar. Si se configura un segundo objeto SAML, al intentar conectarse al primer perfil de conexión se produce un error de autenticación, que muestra el mensaje de error: "Error de autenticación debido a un problema al recuperar la cookie de inicio de sesión único". Para solucionar esta limitación, se puede crear e importar un certificado autofirmado personalizado en Azure para su uso en todas las aplicaciones. De este modo, solo es necesario instalar un certificado en FDM, lo que permite una autenticación SAML perfecta para varias aplicaciones.

Configurar

Paso 1: Crear un certificado autofirmado y un archivo PKCS#12 mediante OpenSSL

Esta sección describe cómo crear el certificado de firma automática mediante OpenSSL

1. Inicie sesión en un terminal que tenga instalada la biblioteca OpenSSL.

Nota: En este documento, se utiliza una máquina Linux, por lo que algunos comandos son específicos de un entorno Linux. Sin embargo, los comandos de OpenSSL son los mismos.

b. Cree un archivo de configuración mediante eltouch

.conf

comando.

root@host# touch config.conf

c. Edite el archivo con un editor de texto. En este ejemplo, se utiliza Vim y se ejecuta el  vim

.conf

comando. Puede utilizar cualquier otro editor de texto.

root@host# vim config.conf

d. Introduzca la información que se incluirá en la autofirma.

Asegúrese de reemplazar los valores entre < > por la información de su organización.

[req]

distinguished_name = req_distinguished_name

prompt = no

[req_distinguished_name]

C =

ST =

L =

O =

OU =

CN =

e. El uso de este comando genera una nueva clave privada RSA de 2048 bits y un certificado autofirmado usando el algoritmo SHA-256, válido durante 3650 días, basado en la configuración especificada en el

.conf

archivo. La clave privada se guarda en

.pem

y el certificado de firma automática se guarda en

.crt

.

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

.pem -x509 -sha256 -days 3650 -config

.conf -out

.crt

f. Después de crear la clave privada y el certificado de firma automática, los exporta a un archivo PKCS#12, que es un formato que puede incluir tanto la clave privada como el certificado.

root@host# openssl pkcs12 -export -inkey

.pem -in

.crt -name

-out

.pfx

Tome nota de la contraseña.

Paso 2: Cargue el archivo PKCS#12 en Azure y FDM

Asegúrese de crear una aplicación en Azure para cada perfil de conexión que utilice la autenticación SAML en FDM.

Una vez que tenga el archivo PKCS#12 del Paso 1: Crear un certificado autofirmado y un archivo PKCS#12 mediante OpenSSL, se debe cargar en Azure para varias aplicaciones y configurarse en la configuración de SSO de FDM.

Paso 2.1. Cargar el certificado en Azure

a. Inicie sesión en el portal de Azure, navegue hasta la aplicación Enterprise que desea proteger con autenticación SAML y seleccione Single Sign-On.

b. Desplácese hacia abajo hasta la sección Certificados SAML y seleccione Más opciones > Editar.

c. Ahora, seleccione la opción Importar certificado.

d. Busque el archivo PKCS#12 creado anteriormente y utilice la contraseña que introdujo al crear el archivo PKCS#12.

e. Finalmente, seleccione la opción Make Certificate Active.

Nota: asegúrese de realizar el paso 2.1: Cargue el certificado en Azure para cada aplicación.

Paso 2.2. Cargar el certificado en FDM

a. Desplácese hasta Objects > Certificates > Click Add Trusted CA certificate.

b. Introduzca el nombre de punto de confianza que prefiera y cargue sólo el certificado de identidad desde el IdP (no el archivo PKCS#12), y active la Skip CA Certificate Check.

c. Establezca el nuevo certificado en el objeto SAML.

d. Establezca el objeto SAML en los diferentes perfiles de conexión que utilizan SAML como método de autenticación y para los que se creó la aplicación en Azure. Implementar los cambios

Verificación

Ejecute los comandos show running-configwebvpn yshow running-config tunnel-grouppara revisar la configuración y verificar que la misma URL IDP esté configurada en los diferentes perfiles de conexión.

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#