使用TrustSec机制保护网络安全

2019-12-22 10:02河南许红军
网络安全和信息化 2019年7期
关键词:客户机工具栏数据包

■ 河南 许红军

编者按:TrustSec其实是一个比较庞大的安全解决方案,我们熟悉的Dot1X只是其中一种安全技术而已。TrustSec是嵌入到思科的所有设备(如交换机、路由器、WLC、安全设备等)中,在二层或三层中进行安全访问控制。例如,在数据中心中可以通过手工操作或动态授权方式,为设备或用户分配对应的SGT(安全组标签)。当其通过数据中心交换机时,交换机就可以基于上述SGT执行访问控制操作,即允许哪个SGT可以通过,哪个SGT禁止通行等。

配置简单实验环境

这里为了便于说明,使用ASA 9.6防火墙实现TruseSec安全控制。在本例中,存在ASA1和ASA2两台防火墙,ASA1的Inside接口和ASA2的Outside接口连接在一起。在ASA1上执行“hostname Firewall1”、“domain-name xxx.com”、“interfce Management0/0”、“nameif GLFW”、“securtiylevel 100”、“ip address 10.1.1.1 255.255.255.0”、“no shutdown”、“username admin password yyyyyy privilege 15”、“aaa authentication ssh console LOCAL”、“aaa authentication http console LOCAL”、“http server enable”、“http 0.0.0.0 0.0.0.0 GLFW”、“ssh 0.0.0.0 0.0.0.0 GLFW”、“ssh timeout 60”等指令创建网管口,便于进行管理。

其中的“xxx”表示名称,“yyy”表 示 具 体 的 密码。在ASA2上执行同样的配置,也为其配置网管接口,所不同的是其名称是不一样的。在ASA1上执行“config t”、“inter g 0/0”、“nameif Outside”、“security-level 0”、“ip address 69.123.1.10 255.255.255.0”、“no shutdown”命令,配置G0/0接口IP地址,其连接的是外部网络。

执 行“inter g0/1”、“nameif Inside”、“security-level 100”、“ip address 200.160.10.1 255.255.255.0”、“no shutdown”命令,配置G0/1接口IP地址,其连接的是内部网络。在ASA2上对G0/0和G0/1接口进行配置,具体参数与上述基本相同,所不同的是G0/0接口 IP为200.160.10.2。 对于G0/1接 口 来 说,IP为192.168.1.10。 因 为ASA1的G0/1接口和ASA2的G0/0接口相互连接,即ASA1内部网络和ASA1的外部网络连接在一起,所以要设置路由信息。

执 行“route inside 0 0 200.160.10.2”、“accesslist out permit ip any any”、“access-group out in in outside”命 令,分别设置默认网关,并放行所有流量。在ASA2上执行“route outside 0 0 200.160.10.1”、“accesslist out permit ip any any”、“access-group out in in outside”命 令,让两者可以互联互通。在ASA1的G0/1接口上连接了PC1,IP为 69.123.1.30。在ASA2的G0/1上连接了PC2和ISE设 备,其IP分别为192.168.1.16和192.168.1.200。

创建网络设备组

登 录 到ISE管 理界面,在工具栏上点击“Administration” →“Network Device Groups”项,在左侧列表中选择“Groups” →“All Device Types”项,在右侧点击“Add”按钮,输入NDG网络设备组名称(如“NDGGrp1”)和描述信息,点击“Submit”提交修改。

在工具栏上点击“Administration” →“Network Devices” 项,在打开窗口中点击“Add”按钮,输入网络设备名称(如“ASA1”), 在“IP Address”栏中输入其IP(如“200.160.10.1”), 在“Device Type”列表中选择“NDGGrp1”项,将其放置到上述NDG组中。

激活TrustSec认证功能

选 择“RADIUS Authentiation Settings”项,在“*Share Secret”栏中输入密码,用于RADIUS认 证。 选 择“Advanced TrustSec Settings”项,在“Device Anthentication Settings”栏 中 选 择“Use Device ID for TrustSec identification” 项, 激活TrustSec认证功能。在“Device Id”栏中显示上述输入的网络设备名称,在“*Password”栏中输入密码,该密码必须进行配置,其实对于TrustSec来说,最重要的是需要使用到Device Id参数。因为在配置PAC时需要使用该参数,所谓PAC,其实是思科私有的安全技术,等同于证书认证。在这里ISE需要为ASA1发放一个PAC,这样当ASA1在联系ISE时,就可以使用该PAC进行认证。

点 击“Generate PAC”按钮,在打开窗口中的“*Identiry”栏中显示PAC的 名 称,在“*Encryptuion Key”栏中输入密码,点击“Generate PAC” 按 钮,创建该PAC。在工具栏上点 击“Administration”→“Network Devices” 项,在打开窗口中点击“Add”按钮,输入网络设备名称(例如“ASA2”),输 入 其 IP(例如“192.168.1.10”), 之后按照上述方法将其放置到“NDGGrp1”组 中,激 活TrustSec认证,并为ASA2创建PAC证书。点击“Submit”按钮执行提交操作。

为ASA配置PAC认证文件

得到PAC文件后,需要将其保存到上述防火墙中。为便于传输文件,可以登录到Cisco ASDM-IDM Launcher控制台,将ASA1和ASA2的管理地址添加进来。点击 菜 单“Tools” →“File Management”项,在打开界面中点击“File Transfer”按钮,在弹出菜单中选择“Between Local PC and Flash”项,将“asa1.pac”文件传输到ASA1防火墙中。

按照同样的方法,在左侧 的“Device List” 列 表中选择ASA2的管理IP,将“asa2.pac”的文件传送到ASA2中。利用这种传输方法,实现起来比TFTP快捷。在ASA1和ASA2上分别上执行“show flash:”命令,可以看到已经得到了所需的PAC文件。在ASA1上执行“cts import-pac flash:/ASA1.pac password xxx”命令,来导入PAC证书,其中的“xxx”为对应的密码。

执 行“aaa-server ISE protocol radius”、“aaaserver ISE(in) host 192.168.1.200”命令,将ISE设备作为3A服务器,并指定ISE的内网中的IP。执行“key xxx”、“exit”命 令,设置Raduis密码。执行“cts server-group ISE”命令,让TrusSec也去找ISE设 备。 执 行“cs refresh environmentdata”、“cts environment-data”命令,来刷新和显示环境数据。如果刷新成功,说明已可以和ISE通过TruseSec进行通讯。在ASA2上执行同样操作,所不同的是PAC文件名称不同。

在ISE中激活SXP服务

当某个网络设备(例如交换机、路由器等)配置了DOT1X后,当用户通过认证获取了IP后,ISE会将其和特定的SGT进行映射。当映射关系建立后,需要使用SXP协议将该关系告诉其他的设备。当然,也可以采取逐跳的方法,将对应的IP打上TAG,将其传递给其他的设备。但是,支持SGT标签的设备很少,使用起来很不方便。

所以在实际中,主要是使用SXP协议来传送IP和SGT标签的映射关系的。在本例中,主要在ISE和ASA之间,以及两个ASA之间建立SXP连接。在ISE管理界面工具栏上点击“Admiistration”→“Deployment”项,在列表中选择该ISE设备名称,在其属性窗口中选择“Enable SXP Service”项,点击“Save”按钮激活SXP服务。

建立SGT和IP的映射关系

在工具栏上点击“WorkCenter”→“TrustSec”→“SXP”项,在打开窗口

中点击“Add”按钮,输入名 称(例 如“ASA1”),在“IP Address”栏中输入地址,

例 如“200.160.10.1”。 在“Peer Role”列表中选择“LISTENER”项,表示ASA只是接收信息。在“Connected PSNs”列表中选择本ISE设备名称,在“Password Type”列表中选择“CUSTOM”项,在“Password”栏中输入密码。在“Version”列表中选择“V3”项,点击“Save”按钮保存配置信息。

按照同样的方法将ASA2也添加进来。在上述工具栏 上 点 击“Components”项,在左侧选择“Security Groups”项,在右侧显示默认的SGT标签。点击“Add”按钮,输入名称(如“SGTAG1”),选择对应的图标表,输入描述信息,在“Security Group Tag”栏中显示其自动指派的TAG值(例如“16/0010”等),点击“Submit”按钮,创建该SGT标签。

在左侧选择“IP SGT Static Mapping”项,在 右侧点击“Add”按钮,在列表中 选 择“IP address(es)”项,输入映射的IP(例如“200.160.10.1”,即 ASA1的Inside接口地址),选择“Map to SGT individually” 项,在“SGT*”列表中选择上述“SGTAG1”的标签,在“Send to SXP Domain”列表中选择“default”项,在“Depoly to devices”列表中选择上述“NDGGrp1”设备组,表示将该IP和SGT的映射信息传送给该组中的所有设备,点击“Save”按钮,可以手动创建对应的映射关系。

在ASA上配置SXP协议

在本例中因为流量需要从ASA1穿越ASA2,所以在ASA2上需要放行ASA1的SXP流量。在ASA2上执行“config t”、“accesslist bypass_sxp extended permit tcp 200.160.10.1 host 192.168.1.200 eq 64999”、“access-list bypass_sxp extended permit tcp 192.168.1.200 host 200.160.10.1 eq 64999”命令,创建扩展的ACL,允许 ASA1的 Inside接口和ISE之间传送SXP流量,TCP 64999为SXP协议端口,执行“tcp-map sxp-bypasstcp-mao”、“tcp-option range 19 19 allow”、“class-map sxp-bypassclass-map”、“match accesslist bypass_sxp”命令,放过TCP Option 19选项,因为在该选项中保存了密码等信息。执行“policy-map global_policy”、“class sxp-bypass-class-map”、“set connection randomsequence-number disable”、“set connection advancedoptions sxp-bypass-classmap”、“exit”、“exit”命 令,禁用随机序列号扰乱。

在ASA上 执 行“config t”、“cts sxp enable”、“cts sxp default password xxx”,“cts sxp default source-ip 200.160.10.1”、“cts sxp connection peer 192.168.1.200 password default mode peer speaker”命令,激活SXP服务,设置默认密码,这里为“xxx”,设置SXP源IP地址,将ISE设置为Speaker角色。

对 应 的,在ASA2上执 行“config t”、“cts sxp enable”、“cts sxp default password xxx”、“cts sxp default sourceip 192.168.1.10”、“cts sxp connection peer 192.168.1.200 source 192.168.1.10 password default mode peer speaker”命令,实现与上述相同的功能,所不同的是SXP的源地址为ASA2的Inside接口IP。在ASA1和ASA2上分别执行“show cts sxp connections”命令,在返回信息中的“Conn status”栏中如果显示“On”,说明配置是没有问题的。分别执行“show cts sxp sgt-map”命令,显示SGT映射关系。

实现TruseSec访问控制功能

有了SGT映射关系,就可以执行访问控制操作了。例如在ASA2上执行“objectgroup security SGTkongzh”、“security-group tag 16”、“exit”、“access-list out line 1 deny icmp objectgroup-security SGTkongzh any any”命令,针对编号为16的SGT标签进行控制,禁止其使用ICMP协议进行探测。这里的“SGTkongzh”为具体的名称。因为与其对应的IP为ASA1的Inside接口地址,这样,在ASA1上就无法针对192.168.1.0/24等网段进行PING探测。这就实现了针对目标SGT流量的控制。

传递TAG标签的方式

在接口上如果没有设置SGT控制功能,那么当数据包发来后,如果没有打上TAG,则按照IP和SGT的映射关系处理,如果数据包带有TAG就会被丢弃。之后在双方的对应接口上都激活SGT处理功能,才可以正常处理数据包。

例如在ASA1上执行“config t”、“inter g0/1”、“cts manual”、“end” 命令,就可以发送带有Tag的包。对应的,在ASA2上执行“config t”、“inter g0/0”、cts manual”、“end” 命 令,在ASA2的OutSide接口上也

可以发送带有Tag的包。这样双方就可以正常处理带有TAG的数据包。如果一方没有配置,是无法正常通讯的。

此外,还可根据需要指定发送的TAG编号。例如在ASA1上执行“config t”、“inter g0/1”、“cts manual”、“policy static sgt 500 trusted”命令,可从该接口发送带有TAG标号为500的数据包。对应的,在ASA2的G0/0接口下也执行该命令。注意,如果不带“trusted”参数,则从上述接口发出的数据包全部打上TAG为500的标签。带上该参数表示如果数据包带有TAG则保持不变。如果不带TAG,则打上TAG为600的标记。

当然,只有ASA防火墙、Nexues7K等少量设备支持此方式为数据包打上TAG。如果不在接口下配置,也可以在全局模式下配置映射关系。

例如在ASA1的G0/1接口下连接一台PC,IP为69.123.1.30,在 ASA1的全局模式下执行“cts role-nased sgt-map 69.123.1.30 sgt 16”命令,也可为该IP和指定的TAG之间建立映射关系。

针对SSLVPN实现TrustSec管控

例如,在ASA1上执行“config t”、“ip local pool SSLPOOL 172.16.1.100-172.16.1.200”、“grouppolicy sslpolicy internal”、“group-policy sslpolicy attributes”、“vpn-tunnel-protocol sslclient ssl-clientless”、“address-pools value SSLPOOL”、“tunnel-group DefaultWEBVPNGroup general-attributes”、“authentication-servergroup ISE”、“webvpn”、“enable Outside”、“anyconnect image disk0:/anyconnect-win-4.3.04027-k9.pkg 1”等 命令,为ASA1配置SSLVPN参数。

其中的“sslpolicy”为本地授权策略。这样,当连接到ASA1的Outside接口下的客户机使用VPN连接后,通过ISE为该用户授权TAG,ASA1就可知晓客户机IP和TAG的映射关系,便于在ASA2上进行控制。在ISE界面工具栏点 击“Administration” →“Identity Management” →“Identities、” 项, 点 击“Add”按钮,输入用户名称(如“VPNUser”),设置密码。在“User Groups”列表中选择某个组,将其放置到该组中。

在工具栏上点击“Policy”→“Results”项,在左侧选择“Authorization”→“Authorization Profiles”项,在右侧点击“Add”按钮,输 入 名 称(如“Profile1”),在“Common Tasks”栏中选择“ASA VPN”项,输入ASA本地策略(如“SSLPolicy”)。这样当客户机获取该授权后会获得所有属性。点击“Submit”提 交。 点 击“Policy” →“Authorization”项,在 授权列表首行右侧打开编辑菜单,点击“Insert New Rule Ablove”项,在新添加行中的“Rule Name”列中输入名称(如“Rule1”)。

在“Conditions”列表选择上述组,在“Permissions”列打开选择面板,在列表中选择上述名为“sslpolicy”本地授权策略。点击“+”按钮,在新添加列表打开“Security Group”项,在显示已存在的所有SGT标签中选择所需的某个标签(如“VPNTag”,该标签可按照上述方法创建)。这样,不仅可以让用户获取普通授权信息,还可获取一个指定SGT标签。在和ASA1的Outside接口连接的客户机上运行Cisco AnyConnect Secure Mobility Client程序,访问69.123.1.10的IP来访问ASA1提供的SSLVPN服务,在登录窗口中上述用户名(如“VPNUser”)和密码,连接成功后,就会获取ASA1分配的IP,例如172.16.1.100。

因为没有进行流量过滤,所以可访问对192.168.1.0/24网段中的设备。在ASA1上执行“show cts sgtmap”命令,显示已存在SGT映射关系,看到和172.16.1.100对 应 的 SGT标 签(如“9”)。在ASA2上执行“object-group security SGTkongzh9”、“security-group tag 9”、“exit”、“access-list out line 1 deny icmp objectgroup-security SGTkongzh9 any any”命令,即可拦截与该SGT标签相关的流量。这样,在该客户机上就无法对192.168.1.0/24网段中的设备进行访问了。

猜你喜欢
客户机工具栏数据包
二维隐蔽时间信道构建的研究*
“玩转”西沃白板
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
隔山亦能打牛,本本巧变远控利器
设计一种带工具栏和留言功能的记事本
升腾瘦客户机借神码翱翔“云端”
基于Web数据提高访问速度的方法
轻松DIY:用好IE8浏览器中的自定义功能等
以最快的速度为填空题留空