目录

简介

先决条件

要求

使用的组件

背景信息

配置

第1步：使用OpenSSL创建自签名证书和PKCS#12文件

第2步：上传Azure和FDM上的PKCS#12文件

步骤 2.1将证书上传到Azure

步骤 2.2将证书上传到FDM

验证

简介

本文档介绍如何通过FDM在CSF上使用Azure作为IdP为远程访问VPN的多个连接配置文件配置SAML身份验证。

先决条件

要求

Cisco 建议您具有以下主题的基础知识：

- 安全套接字层(SSL)证书

- OpenSSL

- 远程访问虚拟专用网络(RAVPN)

- 思科安全防火墙设备管理器(FDM)

- 安全断言标记语言(SAML)

- Microsoft Azure

使用的组件

本文档中的信息基于以下软件版本：

- OpenSSL

- 思科安全防火墙(CSF)版本7.4.1

- 思科安全防火墙设备管理器版本7.4.1

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

SAML（或安全断言标记语言）是在各方(特别是身份提供程序(IdP)和服务提供程序(SP))之间交换身份验证和授权信息的开放标准。SAML身份验证用于远程访问VPN (RAVPN)连接和其他各种应用因其众多优势而日益流行。在Firepower管理中心(FMC)上，由于Connection Profile配置菜单中的Override Identity Provider Certificate选项可用，因此可以将多个连接配置文件配置为使用不同的IdP保护应用。此功能允许管理员使用每个连接配置文件的特定IdP证书覆盖单点登录(SSO)服务器对象中的主IdP证书。但是，此功能在Firepower设备管理器(FDM)上受到限制，因为它不提供类似选项。如果配置了第二个SAML对象，则尝试连接到第一个连接配置文件会导致身份验证失败，并显示错误消息：“由于检索单一登录cookie时出现问题，身份验证失败”。 要解决此限制，可以创建自定义自签名证书并将其导入Azure以供所有应用程序使用。这样，只需在FDM中安装一个证书，即可对多个应用程序进行无缝SAML身份验证。

配置

第1步：使用OpenSSL创建自签名证书和PKCS#12文件

本节介绍如何使用OpenSSL创建自签名证书

1. 登录已安装OpenSSL库的终端。

注意：在本文档中，所使用的是Linux计算机，因此某些命令是特定于Linux环境的。但是，OpenSSL命令是相同的。

b.使用touch

.conf

命令创建一个配置文件。

root@host# touch config.conf

c.使用文本编辑器编辑文件。在本例中，使用Vim并运行vim

.conf

命令。您可以使用任何其他文本编辑器。

root@host# vim config.conf

d.输入要包括在自签名中的信息。

确保使用组织信息替换< >之间的值。

[req]

distinguished_name = req_distinguished_name

prompt = no

[req_distinguished_name]

C =

ST =

L =

O =

OU =

CN =

e.使用此命令基于

.conf

文件中指定的配置，使用SHA-256算法生成新的2048位RSA私钥和自签名证书，有效期为3650天。私钥保存到

.pem

，自签名证书保存到

.crt

。

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

.pem -x509 -sha256 -days 3650 -config

.conf -out

.crt

f.在创建私钥和自签名证书后，它会将其导出到PKCS#12文件中，该文件是一种可以同时包含私钥和证书的格式。

root@host# openssl pkcs12 -export -inkey

.pem -in

.crt -name

-out

.pfx

注意密码。

第2步：上传Azure和FDM上的PKCS#12文件

确保在Azure上为在FDM上使用SAML身份验证的每个连接配置文件创建一个应用程序。

当您具有步骤1：使用OpenSSL创建自签名证书和PKCS#12文件的PKCS#12文件后，必须针对多个应用程序将其上传到Azure，并在FDM SSO配置中进行配置。

步骤 2.1将证书上传到Azure

a.登录您的Azure门户，导航到要使用SAML身份验证保护的企业应用程序，然后选择单一登录。

b.向下滚动到SAML Certificates 部分，然后选择More Options > Edit。

c.现在请选择Import certificate选项。

d.查找以前创建的PKCS#12文件，并使用您在创建PKCS#12文件时输入的密码。

e.最后，选择激活证书选项。

注意：请确保执行步骤2.1：将每个应用程序的证书上传到Azure。

步骤 2.2将证书上传到FDM

a.导航至Objects > Certificates > Click Add Trusted CA certificate。

b.输入您喜欢的信任点名称，并仅从IdP（而非PKCS#12文件）上传身份证书，然后选中Skip CA Certificate Check。

c.在SAML对象中设置新证书。

d.在使用SAML作为身份验证方法并在Azure中创建应用程序的不同连接配置文件上设置SAML对象。部署更改

验证

运行show running-config webvpn和show running-config tunnel-group命令以查看配置并验证在不同连接配置文件中配置了相同的IDP URL。

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#