实战解析PxGrid安全分享协议

2019-12-23 21:47:17河南许红军
网络安全和信息化 2019年5期
关键词:域名列表防火墙

■ 河南 许红军

编者按: pxGrid安全分享协议拥有支持多厂商跨平台特性,让网络系统协同运作,pxGrid提供了一个统一的框架,实现生态系统中的合作者紧密集成,pxGrid是非常安全的,并且可以灵活定制。pxGrid协议能够控制内容,实现双向内容共享,可以分享原生格式数据,同时连接多个平台。

pxGrid协议的作用和功能

在正常情况下,对于网络边界设备(例如交换机、ASA防火墙等)来说,当客户使用SSL VPN、802.1X 等方式接入时,都需要借助3A设备进行安全认证等。对于其他网络设备(例如FirePower防火墙等),当用户在连接时,必然要求用户再次执行身份认证操作。用户实际上需要执行重复认证,体验上不佳。

使用pxGrid协议可以将ISE上收集到的丰富的认证信息共享给其他安全设备使用。这样,ASA防火墙就可以知晓用户的账户、组等信息,便于进行更加精确的控制,此外利用pxGrid协议,可以让不同安全设备间自由分享信息,对提高安全性非常重要。

例如在pxGrid协议的帮助下,ISP设备可以将非法用户信息推给ISE设备,ISE设备查找该客户是通过哪台边界设备进入的,进而将授权信息提交给该设备,将不法用户直接拦截在整个网络之外。

实验环境介绍

在网络边界有一台ASA防火墙连接在FrePower防火墙G0/0接 口,FirePower的G0/2接口连接DMZ区,在DMZ中存在Windows 2008 AD服务器和ISE设备,在Windows Server 2008 上配置Web服 务,DMZ的IP地 址 为192.168.1.0/24。FirePower的G0/1接口连接内部网络,在内网中存在FMC,管理主机及其他设备,该区域IP地址为10.1.1.0/24。

当外部用户通过SSL VPN连接ASA防火墙后,会先到ISE设备上进行认证,之后ISE设备将该用户信息推送给FMC主机,FMC主机将其发布到FirePower防火墙。这样该客户在通过ASA防护墙后,就可以直接在FirePower防火墙进行被动认证,进而直接访问内部的Web服务。

可以看到,在以上各环节中pxGrid起着关键作用,其中ASA防火墙充当pxGrid发布者的角色,ISE设备充当pxGrid控制者的角色,FirePower充当pxGrid订阅者的角色。ASA防火墙通过RADIUS协议和ISE通讯,ISE通过pxGrid协议和FMC网管中心通讯。

为ISE配置pxGrid专用证书

pxGrid必须使用证书进行认证。在上述Windows Server 2008域控上打开“证书管理”窗口,右击“管理”项,在模版列表中选择“Web服务器”项,右击“复制模版”项然后确定。在新模版属性窗口中的“常规”面板中输入名称(如“pxgridmb”),选择“在Active Directory中发布证书”项,在“扩展”面板中选择“应用程序策略”项,点击“编辑”,在打开窗口中添加“安全电子邮件”、“加密文件系统”和“客户端身份验证”项导入。

在上述窗口中选择“证书模版”项,找到“要颁发的证书模版”项,选择上述pxgridmb模版发布。登录ISE管理界面,点击“Adminis tration”→“System”→“Certif icates”项,选择“Certificate Signing Requests” 项,在右侧点击“Generate Certificate Signing Reauests(CSR)”按钮,在打开窗口中选择“pxgrid”项,在“Node(s)”栏中选择本ISE的角色(如主ISE设备),在“Subject”栏中输入申请的内容。其余默认,点击“Generate”生成请求文件。

之后复制申请内容,访问“https://serverzs.xxx.com/certsrv”地址,在证书申请页面中依次点击“申请证书”、“高级证书申请”连接,在“保存的申请”栏中粘贴上述请求内容,在“证书模版”列表中选择“pxgridmb”模版提交。在打开的网页中选择“Base 64编码”项,点击“下载证书”链接,得到所需的证书文件(例如“isepxgrid.cer”)。 当 然,还需在证书申请页面下载CA证书,得到根证书。

在ISE中激活pxGrid功能

在上述ISE管理窗口选择“Trustes Certificate”项,点 击“Import”→“浏览”,选择上述根证书并加载。 选 择“Certificate Signing Request”项,选择上述证书请求项,点击“Bind Certificate”→“浏览”按钮,选择上述“isepxgrid.cer” 证 书 文 件,点 击“Submit”将两者绑定。

点 击“Administration”→“System”→“Deployment”,在部署方式窗口中点击主ISE节点,选择“pxGrid”,点击“Save”激活。点击工具栏上的“Administration”→“Identity Management”→“External Identity Source”,选择“Active Directory”,在“Join Pointer Name”栏中输入合适的名称,在“Active Domain Name”栏中输入域名,在“Identity Store Name”中输入标识名称(如“ISEtag”),点击“submit”保存。

根据提示输入域管理员名称和密码,加入到域环境。点击“Add”→“Select Group From Directory”项,点击“Retrieve Groups”,列出该域中所有的组,选择所需的组(如“Fpgrp”,需预先创建好),然后确定添加。让ISE集成到域是便于对用户的身份进行验证。

在FMC上配置证书

登录到FMC管理主机,输入账户名(默认为“admin”)和密码,之后以管理员身份进行操作。执行“openssl genrsa -das3 -out fire.key 4096”命令,生成所需密钥文件。根据提示输入密码,用于加密私钥。执行“openssl req -new -key fire.key -out fire.csr”命令,使用上述密钥文件生成签名请求文件。根据提示输入上述私钥密码和相关信息。注意在“Common Name”栏中必须输入FirePower设备的全域名。

执行“cp fire.* /home”命令,将上述文件复制到“/home”目录。在内网客户机上运行WinCSP,在连接窗口中输入Firepower管理地址,输入账户和密码,使用的文件协议为SCP,连接成功后复制上述“firekey”和“fire.cer”文件。打开fire.cer文件,复制申请的内容,按照上述方法来申请证书和根证书。

登录到FMC网管界面,点 击“Object” →“Object Management”, 选 择“PKI”→“Trusted CAs”,点击“Add Trusted CA”按钮,输入名称(如“FirepowerCA”),点击“Browse”按钮,选择获得的根证书,点击“Save”按钮加载根证书。在左侧选 择“PKI” →“Internal Certs”项,在右侧点击“Add Internal Cert”按钮,输入名称(如“InternalCA”),点 击第一个“Browse”按钮,导入上述获取的证书。点击第二个“Browse”按钮,选择密钥文件,并输入加密密码。点击“Save”按钮,加载证书文件。

将FMC集成到域环境

对于FirePower来说,一般基于用户组进行策略控制。虽然ISE可以通过pxGrid协议将用户的认证信息推送过来,但FirePwer无法基于用户进行控制,因此必须利用LDAP协议和域控进行通讯,来确定指定的用户属于哪个组。这样,就必须将FirePower集成到域环境。

在FMC管理界面点击“System”→“Itegration”,在“Realms”面板点击“New realm”,在打开窗口中输入合适的名称,在“AD Primary Domain”栏中输入域名,在“AD Join Username”中 输入域管理员名,在“AD Join Password”栏中输入密码,在“Directory Username” 和“Directory Password” 栏中输入用于查询的账户和密码,可以是权限较低的账户。在“Base DN”和“Group DN”栏中输入“dc=xxx.dc=com”,用来指定查询的起始位置。

点击确定后在添加目录窗口中输入域名,加入到域环境。对应域名项点击“Edit directory”,选择“Download user and groups”, 列 出域中所有账户信息。在“Available Groups”列表中选择上述“FPgrp”组,点击“Add to Include”添加进来,点击“Save”保存。在对应域名项目右侧“Status”栏中拨动滑块,并下载上述组中账户信息将其彻底激活。

在ISE和FMC之间建立信任关系

在“Identity Sources”中 点 击“Identity Services Engine”, 在“Primary Host Name/IP Address”中输入ISE域名或IP,在“pxGrid Server CA”和“MNT Server CA”列表中选择根证书,在“FMC Server Certificate”列表选择上述为FMC颁发的证书。点击“Test”进行连接测试。

在ISE界 面 点 击“Administration”→ “pxGrid Services”项,点击刷新,可以看到FMC的连接请求信息,选择后点击“Approve”允许测试连接。当在FMC中保存设置后,需在ISE中再次刷新,选择新出现的FMC请求信息,点击“Approve”允许连接,才可在ISE和FMC间建立pxGrid信任关系。

在FMC中创建控制规则

在工具栏上点击“Policies” →“Access Control” →“Access Control”项,点 击“Add a new policy”链接,在新建策略窗口中的“Name”栏输入策略名称(如“FTDPolicy”),其余默认,创建该策略。

之后打开该控制策略,在 对 应 的“Default Action”列表中选择“Access Control:BlockAll Traffic”项,禁止所有流量。之后根据需要,来创建对应的控制策略。例如在“Mandatory”栏中点击“Add Rule”链接,创建新的规则。

但是并没有创建对应的规则来放行VPN流量。即外部主机的访问VPN流量可以通过ASA防火墙认证,但无法穿越FirePower访问目标Web服务器。点击“Policies” →“Access Control”→“Identity”项,点 击“Add a new policy”按钮输入新的策略名称(如“rzpolicy”),点 击“Save”创建该策略。点击“New Rule”,在打开窗口中输入规则名称(如“rule1”),在“Zones”中选择“Outside”区域,点击“Add to Source”按钮。选择“DMZ”,点击“Add to Destination”按钮。

这样,就允许放行外部流量到DMZ区。在“Networks”面板中点击“+”,输入该网络对象的名称(如“vpnnetwork”),选 择“Network”,输入网络范围(如“172.16.1.0/24”),点击“Save”按钮后在“Networks”面板中选择该网络对象,点击“Add to Source”按钮,这样,只有来自该网络的访问才可以进行被动认证。在“Ports” →“Selected Destination Ports”→“Protocol”中选择“TCP”项,在“Port”中输入“80”,点击“Add”按钮添加。

在“Realm & Settings”面板中的“Realm”列表中选择上述域名项目。这样当外部主机访问目标Web服务器时,可使用域中账户进行认证。注意这种访问流量是被动认证,即ISE将认证信息推送过来实现一次性认证,让客户不在频繁输入账号和密码进行认证。但所需的规则和授权等配置信息必须存在。点击“Policies” →“Access Control” →“Access Control”项,在列表顶部创建新的策略,输入名称(如“pxgridcl”),在“Zones”中选择“Outside”→“Add to Source” →“DMZ” →“Add to Destination”。

在“Networks”中 选 择上述“vpnnetwork”对象,点击“Add to Source”按钮添加。在“URLs”面板中输入目标Web地址,点击“Add”按钮添加。因为FMC已经和ISE实现了集成,所以在“SGT/ISE Attributes”面板中显示ISE推送过来的相关信息。例如在“Available Attributes”列表中选择“Device Type”项,在“Availiable Metadata”列表中选择“Windows7-Workstation”项,点击“add to Rule”按钮添加。在“User”面板中选择上述域名项目,选择目标组添加进来。

在“Logging”面板中选择“Log at Beginning of Connection”和“Log at End of Connection”记录访问信息,可实现基于源/区域/设备类型/用户组等方式进行灵活过滤操作。在策略列表 窗 口“Identity Policy”栏中点击“None”,选择上述“rzpolicy”身份认证策略。点击“Save”和“Deploy”保存并部署到FirePower防火墙。

在ISE中配置授权规则

在ISE管理界面工具栏上点击“Administratio n”→“Network”→“Network Devices”项,点击“Add”,输入设备名称,在“IP Addess”栏输入ASA地址,选择“RADIUS Authentication Settings” 项, 在“Share Secret”栏输入认证密钥,点击“Submit”提交修改信息。

点击“Policy”→“Policy Elements”→“Result”项,选 择“Authorization” →“Authorization Profiles”项,点击“Add”,输入认证策略项名称(如“ASAprofile”),在“Common Tasks” 栏 中选 择“ASA VPN”项,输 入在ASA防火墙上配置好的 Group Policy名 称(如“SSLVPN Policy”)。可以在ASA命令行中执行“sh run group→policy”命令,查看对应Group Policy信息。

通过该Group Policy授权,可以让用户取得其所有授权策略。点击“Submit”提交修改。点击“Policy”→“Authorization”项,在授权列表点击“Edit”→“Insert New Rule Allow”项,输入新的策略名称(如“Policy1”),在“Condition(s)” 列中 点 击“Create New Condition (Advanced Option)”按钮,在弹出面板 中 的“Description”列表中上述域名项目,选择“ExternalGroup”项,并选择“Equals”,在其后选择上述预设的组名(如“FPgrp”)。

点击右侧的“Edit”链接, 在“Permissions” 列中 选 择“Standard”菜 单下的上述认证策略项名称(如“ASAprofile”)。 点 击“+”按钮可以添加更多授权项目。点击“Done”链接保存该授权策略。经过以上配置,在外网主机上打开Cisco AnyConnect Secure Mobility Client程序,通过SSLVPN连接ASA防火墙,在打开的认证窗口中输入账户名和密码就可实现一次性认证连接。连接成功后就可以访问目标Web服务器了。

猜你喜欢
域名列表防火墙
巧用列表来推理
学习运用列表法
扩列吧
构建防控金融风险“防火墙”
当代陕西(2019年15期)2019-09-02 01:52:08
如何购买WordPress网站域名及绑定域名
腾讯八百万美元收购域名
不含3-圈的1-平面图的列表边染色与列表全染色
下一代防火墙要做的十件事
自动化博览(2014年6期)2014-02-28 22:32:13
顶级域名争夺战:ICANN放出1930个通用顶级域名,申请者有上千家
互联网天地(2012年6期)2012-03-24 07:52:48
咱去国外买域名