配置统一访问控制 (UAC)
了解如何将防火墙配置为在统一访问控制 (UAC) 部署中充当 Junos OS 实施器。
使用 IC 系列 UAC 设备配置 Junos OS 实施器
开始之前:
通过相关的 Junos OS 安全策略启用 UAC。请参阅 UAC 如何在 Junos OS 环境中工作?。
-
(选答)为对 IC 系列设备的服务器证书签名的证书颁发机构 (证书颁发机构) 创建配置文件,并将证书颁发机构证书导入防火墙。请参阅 示例:手动加载证书颁发机构和本地证书。
通过在 IC 系列设备上设置用户角色、身份验证和授权服务器以及身份验证域来配置用户身份验证和授权。
在 IC 系列设备上配置资源访问策略,以指定允许或拒绝哪些端点访问受保护的资源。
要将防火墙配置为在 UAC 部署中充当 Junos OS 实施器,从而实施 IC 系列 UAC 设备策略,必须指定防火墙应连接到的 IC 系列设备。
要将防火墙配置为 Junos OS 实施器,请执行以下作:
-
指定防火墙应连接的 IC 系列设备。
-
要指定 IC 系列设备主机名:
user@host# set services unified-access-control infranet-controller hostname
-
要指定 IC 系列设备 IP 地址:
user@host# set services unified-access-control infranet-controller hostname address ip-address
注意:配置对多个 IC 系列设备的访问时,必须单独定义每个设备。例如:
user@host# set services unified-access-control infranet-controller IC1 user@host# set services unified-access-control infranet-controller IC2 user@host# set services unified-access-control infranet-controller IC3
user@host# set services unified-access-control infranet-controller IC1 address 10.10.10.1 user@host# set services unified-access-control infranet-controller IC2 address 10.10.10.2 user@host# set services unified-access-control infranet-controller IC3 address 10.10.10.3
确保所有 IC 系列设备都是同一群集的成员。
注意:默认情况下,IC 系列设备应选择端口 11123。
-
指定 IC 系列设备应连接到的 Junos OS 接口:
user@host# set services unified-access-control infranet-controller hostname interface interface-name
-
指定防火墙用于启动与 IC 系列设备的安全通信的密码:
注意:防火墙中统一访问控制 (UAC) 的接触间隔和超时值的任何更改只有在防火墙与 IC 系列设备下次重新连接后才会生效。
user@host# set services unified-access-control infranet-controller hostname password password
-
(选答)指定防火墙验证证书所需的有关 IC 系列设备的服务器证书的信息。
-
要指定防火墙检查的服务器证书主体:
user@host# set services unified-access-control infranet-controller hostname server-certificate-subject certificate-name
-
要指定与证书关联的证书颁发机构配置文件:
user@host# set services unified-access-control infranet-controller hostname ca-profile ca-profile
-
IC 系列设备服务器证书可由中间证书颁发机构颁发。CA 有两种类型:根 CA 和中间 CA。中间证书颁发机构是根证书颁发机构的辅助机构,并向公钥基础架构 (PKI) 层次结构中的其他 CA 颁发证书。因此,如果证书是由中间证书颁发机构颁发的,则需要指定认证链中证书颁发机构配置文件的完整列表。
使用 IPsec 配置 Junos OS 实施器
要将防火墙配置为使用 IPsec 充当 Junos OS 实施器:
使用以下配置语句设置系统和系统日志信息:
system { host-name test_host; domain-name test.mycompany.com; host-name test_host; root-authentication { encrypted-password "$ABC123"; } services { ftp; ssh; telnet; web-management { http { interface ge-0/0/0.0; } } } syslog { user * { any emergency; } file messages { any critical; authorization info; } file interactive-commands { interactive-commands error; } } max-configurations-on-flash 5; max-configuration-rollbacks 5; license { autoupdate { url https://ae1.mycompany.com/junos/key_retrieval; } } ntp { boot-server 1.2.3.4; server 1.2.3.4; } }注意:在防火墙上,允许的最大备份配置数的出厂默认值为 5。因此,您可以有一个活动配置和最多五个回滚配置。增加此备份配置数将导致磁盘上的内存使用量增加和提交时间增加。
要修改出厂默认设置,请使用以下命令:
root@host# set system max-configurations-on-flash number root@host# set system max-configuration-rollbacks number
其中 max-configurations-on-flash 表示要存储在配置分区中的备份配置, max-configuration-rollbacks 表示备份配置的最大数量。
使用以下配置语句配置接口:
interfaces { ge-0/0/0 { unit 0 { family inet { address 10.64.75.135/16; } } } ge-0/0/1 { unit 0 { family inet { address 10.100.54.1/16; } } } ge-0/0/2 { unit 0 { family inet { 10.101.54.1/16; } } }使用以下配置语句配置路由选项:
routing-options { static { route 0.0.0.0/0 next-hop 10.64.0.1; route 10.11.0.0/16 next-hop 10.64.0.1; route 172.0.0.0/8 next-hop 10.64.0.1; route 10.64.0.0/16 next-hop 10.64.0.1; } }使用以下配置语句配置安全选项:
security { ike { traceoptions { file ike; flag all; } proposal prop1 { authentication-method pre-shared-keys; dh-group group2; authentication-algorithm sha1; encryption-algorithm 3des-cbc; } policy pol1 { mode aggressive; proposals prop1; pre-shared-key ascii-text "$ABC123"; } gateway gateway1 { ike-policy pol1; dynamic { hostname gateway1.mycompany.com; connections-limit 1000; ike-user-type group-ike-id; } external-interface ge-0/0/0; xauth access-profile infranet; } gateway gateway2 { ike-policy pol1; dynamic { hostname gateway2.mycompany.com; connections-limit 1000; ike-user-type group-ike-id; } external-interface ge-0/0/0; xauth access-profile infranet; } }使用以下配置语句配置 IPsec 参数:
ipsec { proposal prop1 { protocol esp; authentication-algorithm hmac-sha1-96; encryption-algorithm 3des-cbc; lifetime-seconds 86400; } policy pol1 { proposals prop1; } vpn vpn1 { ike { gateway gateway1; ipsec-policy pol1; } } vpn vpn2 { ike { gateway gateway2; ipsec-policy pol1; } } }使用以下配置语句配置屏幕选项:
screen { ids-option untrust-screen { icmp { ping-death; } ip { source-route-option; tear-drop; } tcp { syn-flood { alarm-threshold 1024; attack-threshold 200; source-threshold 1024; destination-threshold 2048; queue-size 2000; timeout 20; } land; } } }使用以下配置语句配置区域:
zones { security-zone trust { tcp-rst; host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { ge-0/0/0.0; } } security-zone untrust { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { ge-0/0/1.0; } } security-zone zone101 { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { ge-0/0/2.0; } } }使用以下配置语句配置 UAC 策略:
policies { from-zone trust to-zone trust { policy default-permit { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone trust to-zone untrust { policy default-permit { match { source-address any; destination-address any; application any; } then { permit; } } policy default-deny { match { source-address any; destination-address any; application any; } then { permit; } } policy pol1 { match { source-address any; destination-address any; application any; } then { permit { tunnel { ipsec-vpn vpn1; } application-services { uac-policy; } } log { session-init; session-close; } } } } from-zone untrust to-zone trust { policy pol1 { match { source-address any; destination-address any; application any; } then { permit; log { session-init; session-close; } } } } from-zone trust to-zone zone101 { policy pol1 { match { source-address any; destination-address any; application any; } then { permit { tunnel { ipsec-vpn vpn2; } application-services { uac-policy; } } log { session-init; session-close; } } } policy test { match { source-address any; destination-address any; application any; } then { permit; } } } default-policy { deny-all; } } }使用以下配置语句配置 RADIUS 服务器身份验证访问:
access { profile infranet { authentication-order radius; radius-server { 10.64.160.120 secret "$ABC123"; } } }使用以下配置语句为 UAC 配置服务:
services { unified-access-control { infranet-controller IC27 { address 3.23.1.2; interface ge-0/0/0.0; password "$ABC123"; } infranet-controller prabaIC { address 10.64.160.120; interface ge-0/0/0.0; password "$ABC123"; } certificate-verification optional; traceoptions { flag all; } } }
配置 Junos OS 实施器故障切换选项
开始之前:
通过相关的 Junos OS 安全策略启用 UAC。
-
将防火墙配置为 Junos OS 实施器。在配置过程中,定义 Junos OS 实施器应连接到的 IC 系列设备群集。请参阅在 Junos OS 环境中启用 UAC(CLI 过程)。
要配置 IC 系列 UAC 设备故障切换处理,必须将 Junos OS 实施器配置为连接到 IC 系列设备群集。Junos OS 实施器一次与其中一台 IC 系列设备通信,并使用其他设备进行故障切换处理。
要配置故障切换处理:
指定 Junos OS 实施器应期望来自 IC 系列设备的心跳信号,指示活动连接的频率(以秒为单位):
user@host# set services unified-access-control interval seconds
指定 Junos OS 实施器应将当前连接视为超时的时间间隔(以秒为单位):
注意:防火墙中统一访问控制 (UAC) 的接触间隔和超时值的任何更改只有在防火墙与 IC 系列设备下次重新连接后才会生效。
user@host# set services unified-access-control timeout seconds
指定当 Junos OS 实施器与 IC 系列设备群集的连接超时时,应如何处理所有当前和后续流量会话:
user@host# set services unified-access-control timeout-action (close | no-change | open)
使用仅测试模式测试 Junos OS 实施器策略访问决策
开始之前:
通过相关的 Junos OS 安全策略启用 UAC。请参阅 在 Junos OS 环境中启用 UAC(CLI 过程)
-
将防火墙配置为 Junos OS 实施器。请参阅配置 Junos OS 实施器与 IC 系列 UAC 设备之间的通信(CLI 过程)。
如果要连接到 IC 系列 UAC 设备群集,请启用故障切换选项。请参阅配置 Junos OS 实施器故障切换选项(CLI 过程)。
在仅测试模式下配置时,无论 UAC 策略设置如何,防火墙都允许所有 UAC 流量通过。设备会记录 UAC 策略的访问决策而不强制执行,这样您就可以在不阻碍流量的情况下测试实施。
要激活或停用仅测试模式,请输入以下配置语句:
user@host# set services unified-access-control test-only-mode (true | false)
验证 Junos OS 实施器策略实施
显示来自 Junos OS 实施器的 IC 系列 UAC 设备身份验证表条目
使用 Infranet 代理和 Junos OS 实施器配置端点安全性
要将 Infranet 代理集成到 Junos OS-UAC 部署中,无需对 Junos OS 实施器进行特殊配置。您只需创建安全策略,以便像任何其他 Junos OS-UAC 部署一样访问适当的端点。
示例:在 Junos OS 实施器上创建强制门户策略
此示例说明如何在 Junos OS 实施器上创建强制门户策略。在此示例中,您将在要保护的数据中心资源前面部署一个 Junos OS Enforcer,并在 Junos OS Enforcer 上配置强制门户功能。然后,Junos OS 实施器会自动将发往受保护资源的 HTTP 流量重定向到 IC 系列 UAC 设备进行身份验证。
要求
开始之前:
在网络中部署 IC 系列设备,以便用户可以访问该设备。使用 IC 系列设备上的内部端口连接用户、Junos OS 实施器和身份验证服务器。请参阅配置 Junos OS 实施器与 IC 系列 UAC 设备之间的通信(CLI 过程)。
在 Junos OS 实施器上设置安全区域和接口。确保最终用户位于与受保护资源不同的安全区域中。例如,数据中心中的受保护资源配置在可信区域中,用户配置在不可信区域中。请参阅 示例:创建安全性区域。
将单个用户添加到外部身份验证服务器或本地身份验证服务器。为单个用户设置角色和领域。您可以根据网络安全需求配置对受保护资源的访问权限。
概述
在此示例中,您希望通过确保仅向合规且经过身份验证的用户授予访问权限,从而保护可信区域免受 LAN 上用户的伤害。每个月都有新用户加入您的网络。您希望在系统上配置强制门户功能,以便自动将未经身份验证的用户重定向到 IC 系列设备,而无需新用户记住登录 IC 系列设备。
本主题中的配置说明介绍如何创建名为 my-policy的安全策略,指定此策略的匹配条件,将强制门户策略指定为 UAC 策略的一部分,以及设置将流量重定向到 IC 系列设备的标准。在此示例中,策略 my-policy:
指定匹配条件,以包括从先前配置的区域到
trust先前配置的另一个区域(称为untrust)的任何流量。指定作为 UAC 策略一部分调用的强制门户策略
my-captive-portal-policy。将重定向流量标准指定为
unauthenticated。
拓扑结构
配置
过程
CLI 快速配置
要快速配置此示例,请将以下命令复制到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入。commit
set security policies from-zone untrust to-zone trust policy my-policy match destination-address any source-address any application junos-http set security policies from-zone untrust to-zone trust policy my-policy then permit application-services uac-policy captive-portal my-captive-portal-policy set services unified-access-control captive-portal my-captive-portal-policy redirect-traffic unauthenticated
分步程序
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅在 配置模式下使用 CLI 编辑器。
要在 Junos OS 实施器上创建强制门户策略:
指定策略的匹配条件。
[edit security policies from-zone untrust to-zone trust policy my-policy] user@host# set match destination-address any source-address any application junos-http
将强制门户策略指定为 UAC 策略的一部分,以应用于与安全策略中指定的条件匹配的流量。
[edit security policies from-zone untrust to-zone trust policy my-policy] user@host# set then permit application-services uac-policy captive-portal my-captive-portal-policy
将所有未经身份验证的流量重定向到 IC 系列设备。
[edit services unified-access-control] user@host# set captive-portal my-captive-portal-policy redirect-traffic unauthenticated
结果
从配置模式输入 show services and show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
为简洁起见,此 show 命令输出仅包含与此示例相关的配置。系统上的任何其他配置都已替换为省略号 (...)。
[edit]
user@host# show services
unified-access-control {
captive-portal my-captive-portal-policy {
redirect-traffic unauthenticated;
}
}
[edit]
user@host# show security policies
...
from-zone untrust to-zone trust {
policy my-policy {
match {
source-address any;
destination-address any;
application junos-http;
}
then {
permit {
application-services {
uac-policy {
captive-portal my-captive-portal-policy;
}
}
}
}
}
}
如果完成设备配置,请从配置模式进入。commit
根据用户角色对来自 Active Directory 服务器的流量进行分类
了解如何从 Active Directory 身份验证服务器获取用户名和角色信息。
网络已将 IP 地址用作识别用户和服务器的一种方式。该策略基于以下假设:用户或用户组从固定位置连接到网络并一次使用一台设备。
无线网络和移动设备需要不同的策略。个人可以同时使用多个设备连接到网络。设备连接到网络的方式瞬息万变。无法再使用一组静态分配的 IP 地址来识别用户。
在 Junos OS 12.1 及更高版本中,用户角色防火墙安全策略允许您根据用户被分配到的角色对流量进行分类。根据匹配条件(包括用户的角色),您可以创建策略来应用允许或阻止访问资源的服务。用户角色防火墙类似于 SRX 系列防火墙上的 UAC 提供的基于身份的网络访问控制 (NAC) 解决方案。但是,用户角色防火墙不需要安装 Junos Pulse/Odyssey,并且支持无代理透明身份验证。
用户角色信息可以通过多种方式收集:在 SRX 系列 防火墙本地收集,从 Junos Pulse 接入控制 服务设备收集,或者通过Junos Pulse 接入控制服务设备将身份验证数据从第三方身份验证服务器中继到SRX 系列防火墙。
将第三方身份验证服务器合并到用户角色防火墙配置中还可以提供单点登录 (SSO) 支持。这允许基于浏览器的用户进行一次身份验证,并根据需要将该身份验证传达给域中的其他受信任服务器。
要求
此解决方案使用以下硬件和软件组件:
一台软件版本为 4.2 或更高版本的 MAG 系列 Junos Pulse 网关设备
MAG 系列设备上安装的 MAGx600-UAC-SRX 许可证
一个装有 Junos OS 12.1 或更高版本的 SRX 系列防火墙
一台使用版本 2008 的 Microsoft Active Directory 服务器
注意:Microsoft Windows 2003 也与此功能兼容,但术语、路径和设置可能与本文档中介绍的内容不同。
开始之前:
确保将 MAG 系列设备配置为访问控制服务并且可访问网络。有关配置详细信息,请参阅 MAG 系列 Junos Pulse 网关硬件指南 。
确保 MAG 系列设备上安装了 MAGx600-UAC-SRX 许可证。
确保已使用 Junos OS 12.1 或更高版本配置和初始化 SRX 系列防火墙。
确保已将 Active Directory 身份验证服务器配置为标准 Junos Pulse 接入控制服务身份验证。请参阅您的第三方文档。
确保管理员具有配置角色、用户和设备交互的适当功能。
概述
在此解决方案中,SRX 系列防火墙从 Microsoft Active Directory 身份验证服务器动态获取用户角色信息。来自 Active Directory 服务器的身份验证、验证和用户角色信息由 MAG 系列设备上的访问控制服务中继到 SRX 系列防火墙。
同一域中的用户连接到 LAN 分段。它们与用户角色组(例如开发人员或经理)相关联,具体取决于他们在组织中的工作。当用户向 AD 身份验证服务器进行身份验证时,用户应该能够访问受保护的资源,而无需再次进行身份验证。
SRX 系列防火墙配置为 MAG 系列设备的实施器。它从 MAG 系列设备接收用户角色信息,并相应地将用户角色防火墙策略应用于传入和传出流量。
当 SRX 系列防火墙没有用户的用户角色信息时,用户的浏览器将重定向到 MAG 系列设备。MAG 系列设备对用户透明地请求浏览器进行验证。浏览器从 Active Directory 服务器检索确认身份验证的令牌,并将其传递给 MAG 系列设备。MAG 系列设备使用令牌提供的信息从 Active Directory 服务器检索用户的用户角色信息,并创建包含当前 IP 地址和用户角色数据的身份验证表条目。MAG 系列设备会将更新的表推送到 SRX 系列防火墙,并将浏览器重定向回 SRX,以便再次请求访问。这一次,该表包含用户角色信息,然后检索这些信息并将其用作应用用户角色防火墙服务的匹配标准的一部分。
除非 Active Directory (AD) 服务器没有用户的当前身份验证,否则用户不知道该过程。在这种情况下,服务器会提示用户输入姓名和密码。身份验证发生后,服务器会向浏览器返回令牌。
此处记录的过程最初将 MAG 系列设备配置为验证方。稍后会修改配置,以便从 AD 服务器检索身份验证信息。此解决方案使用 SPNEGO 协商和 Kerberos 身份验证来保护 SRX 系列防火墙、MAG 系列设备、浏览器和身份验证服务器之间的通信。
拓扑结构
图 1 显示了此部署的拓扑,其中 MAG 系列设备最初用作身份验证源。稍后,除非用户未通过身份验证,否则将透明地使用 AD 服务器,在这种情况下,系统会提示他输入用户名和密码。
用户访问其他资源的请求由与该用户关联的角色和组控制。例如,属于名为 Dev 的一组开发人员的用户可能有权访问特定的测试服务器。同一用户也可能是经理,并且属于可以访问某些 HR 资源的经理组。为该经理工作的承包商可能也需要访问测试服务器,但不需要访问人力资源资源。在这种情况下,用户将被添加到 Dev 组,可能还会添加到 Contractor 组,但不会添加到 Mgr 组。
在SRX 系列防火墙上定义的用户角色防火墙策略控制可以访问各种资源的组和用户角色。在此配置中,如果请求访问的用户不存在用户角色数据,则策略会将用户的浏览器重定向到 MAG 系列设备,以对用户进行身份验证并检索任何关联的用户角色数据。
在验证用户的身份验证时,访问控制服务、浏览器和 Active Directory 服务器之间的令牌交换对用户保持透明。交换使用 SPNEGO 协商和 Kerberos 身份验证在设备之间对消息进行加密和解密。
使用从响应令牌获取的信息,MAG 系列设备直接从 Active Directory 服务器检索用户的角色和组。然后创建一个身份验证表条目并将其传递给 SRX 系列防火墙。
配置
通过执行以下任务来配置此解决方案的设备。
在实施器配置中连接 SRX 系列防火墙和 MAG 系列设备。
在 MAG 系列设备上配置本地用户身份验证的访问控制服务,并验证身份验证信息是否在设备之间传输。
在 SRX 系列防火墙上配置强制门户策略,以将任何未经身份验证的用户重定向到访问控制服务,并验证重定向是否正常工作。
配置 Microsoft Active Directory 身份验证服务器以与访问控制服务和终结点交互。
重新配置 Active Directory 服务器进行远程身份验证的访问控制服务,并为 SRX 系列防火墙重新定义 Active Directory 组。
为 SPNEGO 协议配置端点浏览器
对于此解决方案,不需要使用本地身份验证配置访问控制服务。但是,通过先配置本地身份验证,您可以验证 MAG 系列设备与 SRX 系列防火墙之间的强制门户交互。
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
- 将 SRX 系列防火墙连接到访问控制服务
- 为本地用户身份验证配置访问控制服务
- 配置从 SRX 系列防火墙到访问控制服务的重定向
- 配置 Active Directory 设置
- 重新配置访问控制服务上的远程身份验证
- 为 SPNEGO 配置端点浏览器
将 SRX 系列防火墙连接到访问控制服务
分步程序
在实施器配置中,MAG 系列设备上的访问控制服务与 SRX 系列防火墙通过安全通道进行通信。SRX 系列防火墙首次与访问控制服务连接时,设备会交换信息以确保通信安全。或者,您可以使用数字安全证书作为建立信任的增强机制。
有关在 SRX 系列防火墙与访问控制服务之间配置证书信任的详细信息,请参阅 《统一访问控制管理指南 》。
要在 MAG 系列设备上连接 SRX 系列防火墙和访问控制服务,请执行以下作:
-
配置 SRX 系列防火墙。
分步程序
-
配置设备的区域和接口。
user@host# set security zones security-zone user interfaces ge-0/0/0 user@host# set security zones security-zone infrastructure interfaces ge-0/0/1 user@host# set security zones security-zone untrust interfaces ge-0/0/2
-
配置接口的 IP 地址。
user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.12.12.1/8 user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.22/24 user@host# set interfaces ge-0/0/2 unit 0 family inet address 203.0.113.19/24
-
将访问控制服务识别为新的 Infranet 控制器,并配置与其连接的接口。
[edit] user@host# set services unified-access-control infranet-controller mag123 address 10.0.0.22 user@host# set services unified-access-control infranet-controller mag123 interface fxp0.0
-
指定用于保护访问控制服务与 SRX 系列防火墙之间交互的密码。
[edit] user@host# set services unified-access-control infranet-controller mag123 password pwd
注意:必须在两台设备上配置相同的密码。
-
(选答)指定 SRX 系列防火墙在连接过程中必须匹配的访问控制服务证书的全名。
user@host# set services unified-access-control infranet-controller mag123 ca-profile ca-mag123-enforcer
-
如果完成 SRX 系列防火墙的配置,请从配置模式输入 commit。
-
从 MAG 系列设备上的管理员控制台配置访问控制服务。
分步程序
导航到 Infranet 执行器页面,然后单击 新建执行器。
-
选择 Junos,输入之前在 SRX 系列防火墙 (InSub321) 上设置的密码,然后输入 SRX 系列防火墙的序列号。
单击 “保存更改”。
结果
配置两台设备后,SRX 系列防火墙会自动连接到访问控制服务。
从“访问控制服务”中,选择 “系统>状态>概述 ”以查看与SRX 系列防火墙的连接状态。如果连接正常,显示屏中的二极管为绿色。要显示其他信息,请单击设备名称。
在 SRX 系列防火墙的作模式下,输入命令
show services unified-access-control status以确认您的连接。如果输出未显示预期的配置,请重复本部分中的说明以更正配置。user@host> show services unified-access-control status
Host Address Port Interface State mag123 10.0.0.22 11123 fxp0.0 connected
为本地用户身份验证配置访问控制服务
分步程序
用户通过身份验证时,MAG 系列设备上的访问控制服务会使用用户的 IP 地址和关联角色更新其身份验证表,并将更新后的表推送到 SRX 系列防火墙。如果删除或修改了此用户数据,访问控制服务将使用新信息更新身份验证表,并再次将其推送到 SRX 系列防火墙。
为了测试身份验证表的成功传输和内容,此任务在 MAG 系列设备上配置访问控制服务以进行本地身份验证。在此配置中,您可以在不影响其他网络作的情况下测试 SRX 系列防火墙的用户角色防火墙。稍后的任务将修改此配置,以从远程 Active Directory 服务器提供用户角色检索。
不需要为本地用户身份验证配置访问控制服务。提供它是为了测试配置中的每个任务。
要为本地身份验证配置访问控制服务:
在访问控制服务上定义角色。
分步程序
在访问控制服务的管理员控制台中,选择 用户>用户角色>新用户角色。
输入 dev 作为角色名称。
在此解决方案中,使用其他角色设置的默认值。
单击 “保存更改”。
注意:此解决方案假定 MAGx600-UAC-SRX 许可证已安装在访问控制服务上。如果安装了全功能许可证,则需要禁用 OAC 安装并启用无代理访问。
配置默认身份验证服务器。
分步程序
选择 Authentication>Auth. Servers。
选择 “本地系统”。这会将 MAG 系列设备建立为默认身份验证服务器。
创建用户。
分步程序
选择 “用户 ”选项卡,然后单击 “新建”。
通过输入以下详细信息创建 用户 a 。
用户名
用户全名
密码
密码确认
重复上一步以创建 用户 b。
单击 “保存更改”。
创建领域。
分步程序
选择 用户>用户领域>新用户领域。
输入 REALM6 作为领域名称。
在“身份验证”框中选择 “本地系统 ”。
单击 “保存更改”。
在同一页面中,创建角色映射规则。
分步程序
选择 “角色映射” 选项卡,然后单击 “新建规则”。
使用以下详细信息定义两个规则。
输入用户名 user-a,并将其分配给角色 dev。
输入用户名 user-b,并将其分配给角色 dev。
单击 “保存更改”。
设置默认登录页。
分步程序
选择 身份验证>登录>登录策略。
单击默认的登录策略 (*/)。
在“ 登录 URL” 框中,输入此设备的 IP 地址。
在 “身份验证领域”、“可用领域”中,选择“REALM6”。
单击 “保存更改”。
结果
验证配置结果。如果输出未显示预期的配置,请重复本部分中的说明以更正配置。
分步程序
验证访问控制服务上的本地身份验证是否正常工作。
从网络中的端点打开浏览器窗口。
输入访问控制服务的全限定域名。
应显示默认登录页。
以用户 a 的身份登录,并提供定义的密码。
-
在 SRX 系列防火墙的作模式下:
分步程序
-
确认 SRX 系列防火墙上的身份验证表已使用 用户 a 更新。
user@host> show services unified-access-control authentication-table
Id Source IP Username Age Role identifier 1 203.0.113.102 user-a 0 0000000001.000005.0 Total: 1
-
确认正确的角色已与角色标识符关联。
user@host> show services unified-access-control roles
Name Identifier dev 0000000001.000005.0
-
列出与用户 a 关联的所有角色。
user@host> show services unified-access-control authentication-table detail
Identifier: 1 Source IP: 203.0.113.102 Username: user-a Age: 0 Role identifier Role name 0000000001.000005.0 dev
-
配置从 SRX 系列防火墙到访问控制服务的重定向
分步程序
如上一个任务中配置的本地身份验证要求用户直接登录到访问控制服务才能访问网络资源。可以将 SRX 系列防火墙配置为,如果用户直接请求访问受保护的资源,则会自动将未经身份验证的用户的浏览器重定向到访问控制服务。您可以定义用户角色防火墙策略,以将未经身份验证的用户重定向到访问控制服务上的强制门户以进行登录。
还可以配置其他服务,如 IDP、内容安全性、AppFW 和 AppQoS,以及 UAC 强制门户实施。该解决方案侧重于强制门户,仅用于实现用户角色的身份验证。
要配置从 SRX 系列防火墙到访问控制服务的重定向:
-
从 SRX 系列防火墙的配置模式,为强制门户 acs-device 配置配置文件。
[edit] user@host# set services unified-access-control captive-portal acs-device redirect-traffic unauthenticated
-
添加访问控制服务的重定向 URL 或默认 URL。
[edit] user@host# set services unified-access-control captive-portal acs-device redirect-url “https://%ic-url%/?target=%dest-url%&enforcer=%enforcer-id%”
此命令指定默认目标变量和实施器变量,以便在身份验证后将浏览器返回到 SRX 系列防火墙。
允许流量流向 Acitve Directory (AD) 服务器、访问控制服务和其他基础架构服务器。
[edit] user@host# set security policies from-zone user to-zone infrastructure policy Allow-AD-UAC match source-address any user@host# set security policies from-zone user to-zone infrastructure policy Allow-AD-UAC match destination-address any user@host# set security policies from-zone user to-zone infrastructure policy Allow-AD-UAC application any user@host# set security policies from-zone user to-zone infrastructure policy Allow-AD-UAC then permit
如果源身份为 unauthenticated-user,则配置一个安全策略,用于将 HTTP 流量从区域用户重定向到区域不信任。
[edit] user@host# set security policies from-zone user to-zone untrust policy user-role-fw1 match source-address any user@host# set security policies from-zone user to-zone untrust policy user-role-fw1 match destination-address any user@host# set security policies from-zone user to-zone untrust policy user-role-fw1 match application http user@host# set security policies from-zone user to-zone untrust policy user-role-fw1 match source-identity unauthenticated-user
配置当流量与 user-role-fw1 的条件匹配时要执行的作。
在这种情况下,允许满足指定条件的流量访问由 acs 设备配置文件定义的 UAC 强制门户。
user@host# set security policies from-zone user to-zone untrust policy user-role-fw1 then permit application-services uac-policy captive-portal acs-device
配置安全策略,允许访问从区域用户到不信任区域的任何 HTTP 流量。
[edit] user@host# set security policies from-zone user to-zone untrust policy user-role-fw2 match source-address any user@host# set security policies from-zone user to-zone untrust policy user-role-fw2 match destination-address any user@host# set security policies from-zone user to-zone untrust policy user-role-fw2 match application http user@host# set security policies from-zone user to-zone untrust policy user-role-fw2 match source-identity any user@host# set security policies from-zone user to-zone untrust policy user-role-fw2 then permit
注意:请务必将未经身份验证的用户的重定向策略置于“任何”用户的策略之前,以便 UAC 身份验证不会受到针对经过身份验证用户的策略的阴影。
如果完成策略配置,请提交更改。
[edit] user@host# commit
结果
分步程序
请按照以下步骤确认您的配置。如果输出未显示预期的配置,请重复本部分中的说明以更正配置。
在配置模式下,输入
show services命令以确认您的强制门户配置文件配置。[edit] user@host# show services
... unified-access-control { captive-portal acs-device { redirect-traffic unauthenticated; redirect-url “https://%ic-url%/?target=%dest-url%&enforcer=%enforcer-id%” ...在配置模式下,输入
show security policies命令以确认您的策略配置。user@host# show security policies
... from-zone user to-zone infrastructure { policy Allow-AD-UAC { match { source-address any; destination-address any; application any; } then { permit } } } from-zone user to-zone untrust { policy user-role-fw1 { match { source-address any; destination-address any; application http; source-identity unauthenticated-user } then { permit { application-services { uac-policy { captive-portal acs-device; } } } } } } from-zone user to-zone untrust { policy user-role-fw2 { match { source-address any; destination-address any; application http; source-identity any } then { permit } } } ...验证重定向策略是否正常运行。
分步程序
从网络中的第二个端点打开浏览器窗口。
输入第三方 URL,例如 www.google.com。
访问控制服务的默认登录页面会提示输入用户和密码。
输入用户名 user-b 及其密码。
浏览器应显示请求的 URL。
注意:如果在端点上设置了弹出窗口阻止程序,则可能会干扰此功能。
-
在 SRX 系列防火墙的作模式下,验证访问控制服务中的身份验证数据和角色是否已成功推送到 SRX 系列防火墙。
user@host> show services unified-access-control authentication-table
Id Source IP Username Age Role identifier 1 203.0.113.112 user-a 0 0000000001.000005.0 2 203.0.113.15 user-b 0 0000000001.000005.0 Total: 2
配置 Active Directory 设置
分步程序
SPNEGO 协商和 Kerberos 身份验证对用户和网络管理员是透明的,但某些配置选项允许使用这些协议。本部分介绍使用 Active Directory 作为身份验证服务器时的配置要求。要在 SPNEGO 协商中进行交互,访问控制服务需要由 Active Directory 创建的键表文件。有关启用 SPNEGO 和 Kerberos 的更多信息,请参阅您的第三方文档。
本部分不打算作为 Active Directory 的教程。但是,此解决方案需要特定的配置详细信息。请参阅第三方文档,将 Active Directory 设置为域控制器。
要配置 Active Directory 身份验证服务器,请执行以下作:
将 DNS 条目添加为 正向查找区域中的 UAC 服务帐户。这样,客户端就可以按名称或 IP 地址引用 MAG 系列设备。
在下一节中,当在 MAG 系列设备上重新配置 UAC 服务时,将使用此 UAC 服务帐户名称。
单一登录身份验证要求 UAC 服务帐户密码永远不会过期。要修改用户设置:
分步程序
从 DNS 中的 Active Directory 用户和计算机应用程序中,选择 “用户>新建>用户” ,然后选择在步骤 1 中创建的 UAC 服务帐户。
选择 “帐户 ”选项卡。
在用户设置中,单击 密码永不过期。
在域控制器上,打开命令行,然后输入创建
ktpassSPNEGO 键表文件的命令。在 Active Directory 服务器上创建的 keytab 文件包含完整的服务主体名称 (SPN) 和来自服务器的其他加密信息。然后,键表文件将上传到 MAG 系列设备上的访问控制服务。每当发送加密消息和响应时,此共享信息都会识别一台设备到另一台设备。
使用以下语法。
ktpass -out output-file-name -mapuser uac-service-acccount-name -prin service://fqdn@REALM
ktpass 第三方 Kerberos 实用工具,用于将 SPN 映射到用户,在本例中映射到 UAC 服务帐户。可执行文件可供下载。有关此实用程序的源代码,请参阅您的第三方文档。
-out output-file-name 要创建的 SPNEGO 键表文件的名称。
-mapuser uac-service-acccount-name 在步骤 1 中创建的 UAC 服务帐户的名称。
-prin service://fqdn@REALM 服务主体名称。Kerberos 身份验证在其通信中使用 SPN。它不使用 IP 地址。
service HTTP 服务。
fqdn Junos Pulse 接入控制服务的主机名。 service在向 Active Directory 服务器注册时,访问控制服务提供名称的 ://FQDN 部分。
REALM Active Directory 身份验证服务器的领域。它与域名相同。按照 RFC 1510 中的建议,Kerberos 领域名称始终采用大写字母。这会影响与其他基于 Kerberos 的环境的互作性。
以下命令将创建一个名为 ic.ktpass 的 SPNEGO 键表文件。
ktpass -out ic.ktpass -mapuser icuser@UCDC.COM -princ HTTP/mag123.ucdc.com@UCDC.COM -pass Doj73096
在下一节中,当 SPNEGO 配置为远程身份验证时,此文件将复制到 MAG 系列设备上的访问控制服务。
重新配置访问控制服务上的远程身份验证
分步程序
本节将重新配置 MAG 系列设备上的访问控制服务,以便在对用户进行身份验证时查询远程 Active Directory 服务器,而不是本地身份验证表。以下步骤将服务和身份验证选项添加到 MAG 系列设备上的访问控制服务。SRX 系列防火墙的配置保持不变。
重新配置领域的身份验证服务器时,访问控制服务将显示已配置域控制器及其受信任域中的所有角色或组。建立角色映射规则将身份验证服务器的角色或组等同于访问控制服务上定义的角色或组。
要在访问控制服务上重新配置远程身份验证:
从 MAG 系列设备上访问控制服务的管理员控制台中,选择 Authentication>Auth. Servers。
选择 “Active Directory/Windows NT” 服务器类型,然后单击“ 添加新服务器”。
输入新身份验证服务器的配置文件。
分步程序
为 Active Directory 服务器命名。
在域框中输入其 NetBIOS 域名。
注意:您可能会收到以下消息:“服务器不是域的域控制器,或者域的 NetBIOS 名称与 Active Directory (LDAP) 名称不同。此消息仅供参考,不会影响身份验证的处理。
输入 Kerberos 领域名称。
Kerberos 领域名称是 Active Directory 域的 FQDN。例如,如果“mycompany”是域或 NetBIOS 名称,则 mycompany.com 是 Kerberos 领域名称。
在“域加入配置”部分中,输入有权将计算机加入 Active Directory 域的 UAC 服务帐户的用户名和密码。
选中“保存凭据”框。
输入容器名称。
这是 Active Directory 中为访问控制服务创建 UAC 服务帐户的容器的名称。
输入计算机名称。
指定访问控制服务用于将指定的 Active Directory 域加入为计算机的计算机 ID。此名称源自访问控制服务的许可证硬件 ID,格式如下:0161MT2L00K2C0。
验证联接作是否成功。
加入状态指示器为域加入作提供颜色编码状态,如下所示:
灰色:未开始
黄色:正在进行中
红色:未能加入
绿色:已加入域
选择 Kerberos 和 NTLM v2 作为身份验证协议。
在“信任”部分中,选中“允许受信任的域”框。
选择 “启用 SPNEGO”。
使用 Browse 按钮上传您在上一节中创建的 keytab 文件。
单击 保存更改 并 测试配置。
确保启用 SSO。
分步程序
选择 用户>用户领域 和领域名称。
从 “身份验证服务器” 列表中选择 Active Directory 服务器名称。
选择 “身份验证策略” 选项卡。
验证是否选择了 SSO 选项。
单击 “保存更改”。
为从身份验证服务器获取的组创建角色映射策略。
需要将 Active Directory 身份验证服务器中的组映射到访问控制服务上的角色。首先需要创建角色,然后将一个或多个组映射到相应的角色。
分步程序
选择“角色映射”选项卡。
单击 新建规则,输入角色名称,然后单击 保存更改。
无需将用户添加到角色。根据需要创建任意数量的角色,以从 Active Directory 身份验证服务器映射组。
单击 “组”,然后选择“ 搜索 ”以列出域控制器中定义的组。
选择要映射到新角色的组名称。
重复步骤 b 到 d 以创建和映射其他组。
单击 “保存更改”。
为 SPNEGO 配置端点浏览器
分步程序
确保端点浏览器已启用 SPNEGO。有关详细信息,请参阅您的第三方文档。
Internet Explorer
从 安全性>Local Intranet>Sites>Advanced 添加受信任的 URL。
IE 执行 SPNEGO,无需任何进一步的端点配置,但系统会提示用户输入用户名和密码。可以缓存用户名和密码。
若要提供单一登录支持,可以通过在 Active Directory 服务器上配置组策略来推送 Internet Explorer 配置。有关更多信息,请参阅您的第三方文档。
必须启用集成 Windows 身份验证。使用 “工具>Internet 选项>高级>安全性>启用集成 Windows 身份验证 路径来验证是否启用了 IWA。
Firefox(Windows 和 MacOS)
配置位于隐藏位置。对于 URL,键入 about:config 并搜索单词 trusted。所需的键是名为 network.negotiate-auth.trusted-uris 的逗号分隔参数。
注意:需要指定资源的 URL(在此解决方案中,FQDN 或域控制器值 UCDC.com)。
铬
使用 Internet Explorer 设置。从 安全性>Local Intranet>Sites>Advanced 添加受信任的 URL。
也可以通过在 Active Directory 服务器上配置组策略来推送 Internet Explorer 配置。Chrome 支持此配置。
通过 SRX 防火墙根据用户角色对流量进行分类 用户
了解如何通过 SRX 防火墙用户获取用户名和角色信息。
用户角色防火墙策略可以与防火墙身份验证集成,以便对用户进行身份验证并检索用户名和角色信息。这些信息将映射到流量的 IP 地址,存储在防火墙身份验证表中,并用于用户角色防火墙策略实施。
以下 CLI 语句为用户角色防火墙实施配置防火墙身份验证。