企业网络安全认证与多因素认证部署指南
1. 证书部署基础
在企业网络环境中,利用 Intune 部署 PKCS 设备认证证书和用户认证证书的流程大致相同,但在部署 PKCS 设备认证证书时,有以下特殊步骤:
1. 从“证书类型”下拉列表中选择“设备”。
2. 在“主题名称格式”字段中,输入 CN={{FullyQualifiedDomainName}} 。
3. 在“主题备用名称”部分,从“属性”下拉列表中选择“DNS”,然后在“值”字段中输入 {{FullyQualifiedDomainName}} 。
当配置完成且端点与 Intune 同步后,用户和/或设备认证证书将分别出现在用户或设备的证书存储中。
2. 证书类型对比
Intune 支持 PKCS 和 SCEP 两种证书类型。建议管理员尽可能使用 PKCS 证书,因为它配置和操作更简单,工作更可靠。虽然 SCEP 可能提供稍好的安全性,但 PKCS 并非本质上不安全。SCEP 更为复杂,涉及更多组件。
| 证书类型 | 安全性 | 配置难度 | 可靠性 |
|---|---|---|---|
| PKCS | 较高 | 低 | 高 |
| SCEP | 高 | 高 | 低 |
3. 多因素认证(MFA)概述
允许用户远程访问网络存在固有风险,传统的用户名和密码认证方式容易导致凭证丢失或被盗用。多因素认证(MFA)是降低这种风险的常用方法,用户除了提供用户名和密码外,还需提供另一种认证形式,常见的是通过基于手机的应用程序进行认证。
4. Azure MFA 集成方式
Azure MFA 可通过以下两种方式与 Always On VPN 集成:
- 与 Windows Server 网络策略服务器(NPS)集成。
- 使用 Azure 条件访问定义 MFA 策略。
5. MFA 必要性分析
- 风险缓解 :MFA 旨在降低攻击者使用被盗凭证获取网络非授权访问的风险。即使攻击者获得了有效凭证,没有通过 MFA 挑战也无法成功认证。
- 证书认证 :Always On VPN 推荐使用受保护的可扩展认证协议(PEAP),结合组织内部 PKI 颁发的客户端认证证书。在这种配置下,用户无需输入用户名和密码,只有设备上有正确的用户认证证书才能连接。如果遵循安全最佳实践,客户端认证证书由受信任平台模块(TPM)保护,可防止攻击者获取证书私钥。在这种情况下,TPM 支持的用户认证证书实际上起到了 MFA 的作用。
- 额外考虑 :Always On VPN 连接不是用户主动发起的,可能会在用户无明确操作时自动连接或断开后重新连接,这可能导致用户在未主动操作时收到 MFA 挑战,从而使用户习惯接受无上下文的 MFA 挑战,无法判断是正常连接还是攻击者的尝试。
- 建议 :当 Always On VPN 配置为使用 PEAP 和客户端证书进行认证时,不建议使用 MFA;如果使用 MSCHAPv2 进行认证,则应考虑使用 MFA。
6. Azure MFA 与 NPS 集成
- 要求 :使用 Azure MFA 与 Windows Server NPS 集成时,用户账户必须分配有效的 Azure MFA 许可证。Azure MFA 包含在 Azure AD Premium P1 和 P2 以及企业移动性 + 安全性中,但 NPS 扩展不支持基于消耗的许可证。
- 安装 NPS 扩展 :
1. 从 此处 下载 Azure MFA 的 NPS 扩展。
2. 禁用 Internet Explorer(IE)增强安全配置(ESC):- 打开服务器管理器,在导航树中选择“本地服务器”。
- 点击“IE 增强安全配置”旁边的链接。
- 在“管理员”部分,选择“关闭”。
- 点击“确定”。
3. 运行 Azure MFA 的 NPS 扩展安装程序,点击“安装”,安装完成后点击“关闭”。
4. 打开提升权限的 PowerShell 窗口,完成以下配置: - 导航到
C:\Program Files\Microsoft\AzureMfa\Config文件夹。 - 运行
AzureMfaNpsExtnConfigSetup.ps1PowerShell 脚本。 - 如果提示安装 NuGet 提供程序,输入“Y”。
- 提示输入 Azure 全局管理员凭据时,输入相应凭据。
- 当 PowerShell 脚本提示输入租户 ID 时,输入租户 ID。
- 按回车键完成配置。
graph LR
A[下载 NPS 扩展] --> B[禁用 IE ESC]
B --> C[运行安装程序]
C --> D[打开 PowerShell 窗口]
D --> E[导航到配置文件夹]
E --> F[运行脚本]
F --> G[安装 NuGet 提供程序]
G --> H[输入管理员凭据]
H --> I[输入租户 ID]
I --> J[完成配置]
-
更新 RRAS 认证 :默认情况下,Windows Server RRAS 的 RADIUS 超时值为 5 秒,这不足以让用户接受认证挑战,需要将其修改为 120 秒:
1. 打开路由和远程访问服务(RRAS)管理控制台。
2. 右键单击 VPN 服务器,选择“属性”。
3. 选择“安全”选项卡。
4. 点击“RADIUS 认证”旁边的“配置”。
5. 高亮显示列表中的第一个 NPS 服务器,点击“编辑”。
6. 在“超时(秒)”字段中输入 120。
7. 点击“确定”。
8. 对 RRAS 服务器上配置的其他 NPS 服务器重复上述步骤。 -
证书管理 :安装过程中会创建一个自签名证书并上传到 Azure,该证书有效期为两年,管理员需在到期前通过再次运行
AzureMfaNpsExtnConfigSetup.ps1脚本来更新证书。 - 故障排除脚本 :可从 此处 下载用于测试和评估配置的脚本。
企业网络安全认证与多因素认证部署指南
7. Azure 条件访问集成
MFA 也可以通过 Azure 条件访问来启用,这种方式无需在 NPS 服务器上安装软件,并且能让管理员更灵活地控制何时对 Always On VPN 连接要求 MFA。管理员还能基于用户或组的成员身份、物理位置、使用的设备或应用程序类型等来控制访问,从而进一步提高安全性。
7.1 要求
Azure 条件访问需要 Azure AD Premium P1 或 Microsoft 365 Premium。
7.2 配置步骤
- 创建 Azure 条件访问 VPN 根证书 :
1. 打开 Azure Active Directory 门户(https://aad.portal.azure.com/)。
2. 点击导航树中的“Azure Active Directory”。
3. 点击“条件访问”。
4. 在导航树中,点击“VPN 连接”。
5. 点击“新证书”。
6. 从“选择持续时间”下拉列表中选择合适的证书有效期。
7. 点击“创建”。完成后,新的 VPN 根证书将出现在管理控制台中,点击“下载证书”下载并保存证书文件。
| 步骤 | 操作 |
|---|---|
| 1 | 打开 Azure Active Directory 门户 |
| 2 | 点击“Azure Active Directory” |
| 3 | 点击“条件访问” |
| 4 | 点击“VPN 连接” |
| 5 | 点击“新证书” |
| 6 | 选择证书有效期 |
| 7 | 点击“创建”并下载证书 |
graph LR
A[打开 Azure 门户] --> B[点击 Azure AD]
B --> C[点击条件访问]
C --> D[点击 VPN 连接]
D --> E[点击新证书]
E --> F[选择有效期]
F --> G[点击创建]
G --> H[下载证书]
- 发布证书 :为了支持使用 Azure 条件访问证书进行 Always On VPN 认证,需要将 Azure 条件访问 VPN 根证书发布到本地 Active Directory 中。具体操作如下:
1. 将 Azure 条件访问 VPN 根证书文件复制到加入域的计算机上。
2. 打开提升权限的命令窗口,运行以下命令发布证书:
certutil.exe -dspublish -f VpnCert.cer RootCA
certutil.exe -dspublish -f VpnCert.cer NTAuthCA
需要注意的是,Azure 条件访问 VPN 根证书的有效期为一年,在证书到期前要重复上述步骤。
- 验证证书 :
- 在 Active Directory 复制完成后,更新组策略(
gpupdate.exe),然后通过打开本地计算机证书管理控制台(certlm.msc)并展开“受信任的根证书颁发机构” -> “证书”,确认新的 Azure 条件访问 VPN 根证书是否出现在受信任的根证书颁发机构证书存储中。在 Windows Server Core 上,可以运行以下命令进行确认:
Get-ChildItem -Path Cert:\LocalMachine\Root\ | Where-Object Subject -Match 'VPN'
- 打开提升权限的命令窗口,运行以下命令确认新的 Azure 条件访问 VPN 根证书是否出现在企业 NTAuth 证书存储中:
certutil.exe -viewstore -enterprise NTAuth
在 Windows Server Core 上,可以运行以下命令:
certutil.exe -store -enterprise NTAuth
- NPS 配置 :Azure 条件访问颁发的短期证书用于向 VPN 服务器进行认证,这些证书有效期为一小时,不需要进行吊销检查。但默认情况下,Windows Server NPS 在进行认证时会执行证书吊销检查,因此需要为受保护的可扩展认证协议(PEAP)禁用证书吊销检查。操作步骤如下:
1. 打开提升权限的 PowerShell 命令窗口,在 NPS 服务器上运行以下命令:
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13\' -Name IgnoreNoRevocationCheck -PropertyType DWORD -Value 1 -Force
- 重启服务器使更改生效。需要注意的是,禁用 CRL 检查会影响所有使用 PEAP 的 NPS 策略,如果 NPS 服务器还支持其他使用 PEAP 的工作负载,如 Wi-Fi,可能需要部署专门用于 VPN 的单独 NPS 服务器。
-
更新 NPS 策略 :更新现有的 Always On VPN 网络策略,使其仅接受 Azure 条件访问颁发的证书。操作步骤如下:
1. 在 NPS 服务器上,打开 NPS 管理控制台(nps.msc)。
2. 在导航树中,展开“策略”和“网络策略”。
3. 双击用于 Always On VPN 的网络策略。
4. 选择“设置”选项卡。
5. 在导航树的“RADIUS 属性”部分选择“供应商特定”。
6. 点击“添加”:- 从“属性”列表中选择“Allowed-Certificate-OID”。
- 点击“添加”。
- 点击“添加”。
- 在“属性值”字段中输入“1.3.6.1.4.1.311.87”。
- 点击“确定”。
- 点击“确定”。
7. 点击“关闭”。
8. 点击“确定”。
-
创建条件访问策略 :
1. 打开 Azure Active Directory 门户(https://aad.portal.azure.com/)。
2. 点击导航树中的“Azure Active Directory”。
3. 点击“条件访问”。
4. 点击“新策略”。
5. 在“名称”字段中输入描述性名称。
6. 在“分配”部分点击“用户和组”:- 选择“选择用户和组”。
- 勾选“用户和组”旁边的框。
- 点击“VPN 用户”组。
- 点击“选择”。
7. 在“分配”部分点击“云应用或操作”: - 点击“选择应用”。
- 勾选“VPN 服务器”旁边的框。
- 点击“选择”。
8. 在“分配”部分点击“条件”: - 点击“设备平台”。
- 在“配置”部分点击“是”。
- 点击“完成”。
9. 在“访问控制”部分点击“授予”: - 选择“授予访问权限”。
- 勾选“需要多因素认证”旁边的框。
- 点击“选择”。
10. 点击“启用策略”下方的“开启”。
11. 点击“创建”。
8. 客户端配置
-
Endpoint Manager UI 配置 :使用原生 Microsoft Endpoint Manager UI 配置 Always On VPN 时,启用 Azure 条件访问和单点登录(SSO)的操作步骤如下:
1. 展开“条件访问”。
2. 点击“此 VPN 连接的条件访问”旁边的“启用”。
3. 点击“使用备用证书的单点登录(SSO)”旁边的“启用”。
4. 在“名称”字段中输入“客户端认证”。
5. 在“对象标识符”字段中输入“1.3.6.1.5.5.7.3.2”。
6. 在“颁发者哈希”字段中输入颁发客户端认证证书的 CA 服务器证书的哈希值。
7. 点击“审核 + 保存”。
8. 点击“保存”。 -
EAP 配置 :更新 Always On VPN 客户端配置,使用短期的 Azure 条件访问证书向 VPN 服务器进行认证。操作步骤如下:
1. 打开 Microsoft Endpoint Manager 管理控制台(https://endpoint.microsoft.com/),导航到 Always On VPN 设备配置文件。
2. 展开“基本 VPN”。
3. 将 EAP XML 部分的内容复制到新的文本文档中。
4. 如果定义了任何 TLS 扩展,将其删除(即删除 XML 中以<TLSExtensions>开头并以</TLSExtensions>结尾的元素)。
5. 在</AcceptServerName>之后和</EapType>之前添加以下 XML 代码块:
<TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">
<FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3">
<EKUMapping>
<EKUMap>
<EKUName>AAD Conditional Access</EKUName>
<EKUOID>1.3.6.1.4.1.311.87</EKUOID>
</EKUMap>
</EKUMapping>
<ClientAuthEKUList Enabled="true">
<EKUMapInList>
<EKUName>AAD Conditional Access</EKUName>
</EKUMapInList>
</ClientAuthEKUList>
</FilteringInfo>
</TLSExtensions>
通过以上步骤,可以在企业网络中有效地部署和配置证书认证以及多因素认证,提高网络的安全性和可靠性。
超级会员免费看
7万+

被折叠的 条评论
为什么被折叠?



