使用DNS SinkHole“猎捕”木马

2019-12-24 00:44河南郭建伟
网络安全和信息化 2019年11期
关键词:网段工具栏域名

■河南 郭建伟

在众多的恶意软件中,木马具有隐蔽性强,危害大等特点,成为防火墙重点防御的目标。当然,木马当然不甘于束手就擒,会使出各种手段对自身进行伪装。

作为下一代防火墙,FirePower 防火墙拥有更加强大的功能,可以轻松应对日益复杂的安全形式。利用其提供的DNS 安全管理功能,可以拦截并定位木马所在的位置,从源头上切断其传播途径,让其彻底现出原形。

DNS SinkHole 的工作原理

当服务器被植入木马后,木马就会开启后门,窃取该机中重要数据,并将其发送给远方的黑客所控制的主机上。当木马在发送数据时,必然会产生一定的流量,这就需要进行DNS 解析。这是因为对于黑客主机来说,其IP 地址是经常变动的。

因此,黑客在编写木马时,一般都是写入目标DNS地址,而不是IP 地址,这样当木马上线后,就会解析预设的DNS 名称的IP 地址,得到黑客主机的IP 后,木马才可以和黑客进行联系。

利用FirePower 防火墙提供的DNS SinkHole 功能,可以对木马的DNS 解析行为进行拦截,使其无法和黑客进行联络,并找到被木马控制的内网主机,将木马彻底清除。DNS SinkHole 允许FirePower 防火墙针对已知的恶意域名回应DNS 请求,将其解析到一个预先定义好的IP 上。

即针对木马解析的DNS域名,在防火墙上创建一个虚拟的IP,使其和木马使用的DNS 域名绑定起来。让木马误以为解析到了真实的IP,木马就会和该IP 建立连接并发送流量,这样防火墙就可以据此对该木马进行分析和处理,找到被其控制的内网主机,并将该木马彻底清除。

例 如 在网络中发现某台主机被木马控制,其频繁的对“www.eyidns.con”域名其进行解析,可以确定这是一个恶意的DNS。使用FirePower 提供的Sinkhole 功能,将其映射到“1.1.1.1”的IP 上,并定位该木马木马所在的主机。

配置DNS SinkHole 安全机制

对于硬件FirePower 设备来说,也可以激活自身的设备管理功能,对其进行图形化管理。但是,这种管理方式同FMC 统一管理相比存在很多不足,FMC 可以在各个设备上统一监控和配置,统一收集各种信息,FMC 可以对于内网的设备进行渗透测试,实现高级的自动化管理。

在内网中的客户机上打开浏览器,访问“https://x.x.x.x”地址,“x.x.x.x”为FMC 主机地址。在FMC 登录界面中输入账户名和密码,进入FMC 网管中心界面。

在其工具栏上依次点击“Objects”→“Object Management”项,在左侧选择“Security Intelligence”→“Sinkhole”项,在右侧点击“Add Sinkhole”按钮,在打开窗口中输入其名称(例如“Sinkhole1”),在“IPv4 Address”栏中输入合适的IP,例如“1.1.1.1”。

注意,在“IPv6”栏中必须输入某个地址(例如“2001:1::1”),该地址keyi随意设置,但是不能保持空白。在“Type”列表中选择器类型(例如“Phishing”等),点击“Save”按钮保存该项目。

使用记事本创建名为“sinkhole.txt”的文件,在其中输入恶意DNS 地址,可以输入多个恶意DNS 信息。当木马对这些恶意DNS 地址进行解析时,就会被映射到防火墙的预设的IP 上。在工具栏上选择“Objects”→“Object Management”项,在左侧选择“Security Intelligence”→“DNS Lists and Feeds”项,在右侧点击“Add DNS Lists and Feeds”按钮,在打开窗口中的“Name”栏中输入“Sinkholelist”,在“Type”列表中选择“List”项,点击“Browse”按钮,选择上述“sinkhole.txt”文件,点击“Upload”按钮将加载该文件,点击“Save”按钮保存配置。

在工具栏上依次选择“Policies”→“Access Control”→“DNS”项,在工具栏上选择“Policies”→“Access Control”→“DNS”项,在右侧点击“Add DNS Policy”按钮,在策略窗口中显示默认的针对DNS 的全局黑白名单项目,点击“Add DNS Rule”按钮,在新建规则窗口中输入其名称(例如“Sinkholerule”),在“Action”列表中显示可用的动作,包括“Whitelist”(允许使用),“Monitor”(仅仅对DNS 访问访问进行监控并记录日志),“Domain Not Found”(告诉客户目标DNS未找到),“Drop”(丢弃相关数据包),“Sinkhole”(对付恶意DNS)等。这里选择“Sinkhole”项,表示管控恶意DNS 解析。

在“Sinkhole”列表中选择上述“Sinkholelist”列表项目。在“Zones”面板左侧选择“Inside”项,点击“Add to Source”按钮,将其添加到右侧列表中。打开“Networks”面板,在其中可以选择预设的网络项目,也可以点击“+”按钮,来自定义网络项目。在打开窗口中输入合适的名称(例如“Winsrv”),输入其描述信息,在“Network”栏中输入合适的网段,例如“10.1.1.100/32”等。点击“Save”按钮保存该网络信息。选择该网段项目,点击“Add to Source”按钮,将其添加到右侧列表中。

打开“DNS”面板,在左侧选择所有的项目,注意需要排除“Global-Whitelistf or-DNS”,“Global-Blacklist-for-DNS”等全局DNS 黑白名单项目,以及自定义的DNS 黑白名单等正常的项目。点击“Add to Rule”按钮,将其添加到右侧列表中。在规则列表窗口顶部点击“Save”按钮,保存该规则。之后选择工具栏上的“Depoly”按钮,将其推送到FirePower 防火墙进行部署。

这样,当木马试图解析恶意DNS 域名时,是可以顺利进行的,只是会得到防火墙上预设的虚拟的IP。之后木马就会将窃取的信息发送到该地址上,FirePower 防火墙就可以毫不费力的得到这些流量,FirePower 利用内置的IPS 模块,可以对其进行深入分析,选择工具栏上的“Anal ysis”→“Connections”→“Secu rity Intelligence Events”项,在日志列表中可以看到和Sinkhole 相关的信息,可以清晰的查看究竟哪些主机被木马控制。之后在这些主机上进行分析,进而找到并清除木马。

使用黑白名单管控DNS 访问

利用FirePower 提供的DNS 黑白名单功能,可以有效保护DNS 安全。先使用记事本创建名为“DNSPermit.txt”的文件,其中包含允许放行的DNS 地址列表。创建名为“DNSBlock.txt”的文件,其中包含所有禁用的域名地址。创建名为“DNSpermitk.txt”的文件,其中包含所有允许使用的域名地址。

在FMC 管理界面工具栏上选择“Objects”→“Object Management”项,在左 侧 选 择“Security Intelligence”→“DNS Lists and Feeds”项,在右侧点击“Add DNS Lists and Feeds”按钮,在打开窗口中的“Name”栏中输入“DNSBlock”,在“Type”列表中选择“List”项,点击“Browse”按钮,选择上述“DNSBlock.txt”文件。点击“Upload”按钮将加载该文件,点击“Save”按钮保存。

按照同样方法,创建名为“DNSPermit”的列表项目,并加载“DNSPermit.txt”的文件。在工具栏上选择“Policies”→“Access Control”→“DNS”项,在右侧点击“Add DNS Policy”按钮,在策略窗口右侧点击“Add DNS Rule”按钮,在新建规则窗口中输入其名称(例如“RulesBlock”),在“Action”列表中选择“Domain Not Found”项,表示对客户发送没有找到对应DNS 的信息。

注意,该信息不是由Internet 上的服务器发送的,而是由FirePower 防火墙直接回馈给客户的。在“Zones”面板左侧选择“Inside”项,点击“Add to Source”按钮,将其添加到右侧列表中。打开“Networks”面板,在其中点击“+”按钮,可以自定义网络项目。在打开窗口中输入合适的名称(例如“Win7PC”),输入其描述信息,在“Network”栏中输入合适的网段,例如“10.1.1.200/32”等。点击“Save”按钮保存该网络信息。选择该网段项目,点击“Add to Source”按钮,将其添加到右侧列表中。

打开“DNS”面板,在左侧选择上述名为“DNSBlock”的列表项,点击“Add to Rule”按钮,将其添加到到右侧列表中。这样,当内部指定网段的主机在访问黑名单中的DNS 地址时,就会被防火墙拦截。

在规则列表窗口顶部点击“Save”按钮,保存该规则。之后选择工具栏上的“Policies”→“Access Control”→“Access Control”项,在目标访问控制策略右侧的编辑按钮,其编辑窗口中打开“Security Intelligence”面板,在“DNS Policy”列表中选择上述“RulesBlock”规则项。点击“Save”按钮,加载到访问控制策略中。

对于FirePower 防火墙来说,访问控制策略才是最核心的控制机制。点击工具栏上的“Depoly”按钮,将其推送到FirePower 防火墙进行部署。这样,当指定网段的主机在访问DNS 黑名单中的地址时,就会被防火墙拦截。按照同样方法,可以为FirePower 防火墙配置DNS白名单功能,所不同的是,在创建DNS 规则时需要选择“Whitelist”项目,其余的设置与上述基本相同。

注意,如果白名单中存在和黑名单相同的DNS 域名,那么防火墙照样对其进行拦截。

猜你喜欢
网段工具栏域名
商用车网络架构设计探讨
“玩转”西沃白板
“复兴号”17辆编组动车组列车总线网段扩展的设计研究
《江苏教育研究》官方网站域名变更公告
《江苏教育研究》官方网站域名变更公告
什么是IPv6的前缀长度
用无线路由器共享单位局域网
设计一种带工具栏和留言功能的记事本
轻松DIY:用好IE8浏览器中的自定义功能等
以最快的速度为填空题留空