白名单表中;如果两个响应最快的DNS解析结果与待验证的IP匹配不成 功,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将局域网的IP地址响应 给客户端。
[0061] 客户发起基于HTTP的请求,首先会发生DNS的查询请求,装置的监听模块将会提取 DNS查询请求的IP解析结果,如果DNS查询请求的响应IP有多个,装置的DNS纠正模块中的 DNS同步检测模块会同时记录各个IP及各个IP的响应时间。
[0062] 将提取的响应IP信息同装置内置的黑名单IP表进行内容匹配,如果响应IP信息存 在于黑名单表中,则忽略本次DNS查询请求的返回信息。将黑名单表中此域名对应的"正确 IP"响应给客户端用户;如果响应IP信息不在黑名单表,则将DNS查询的响应报文同时传递 给DNS同步检测模块和DNS统计分析模块。
[0063] DNS同步检测模块对DNS查询请求的响应报文进行分析,常见的DNS污染在响应DNS 解析器的时候采用抢先机制,解析器在第一时间先收到的响应报文当作本次DNS查询请求 响应结果;因此当发生DNS污染时,经常会出现正确的IP报文会慢于被欺骗的IP响应报文。 DNS同步检测模块分析DNS查询请求的响应报文,尤其对响应数据报文中队列标记着编号id 为0x0002的A查询(IPv4)结果的响应报文信息,分析是否有查询id为0x0002的A记录不同步 的问题;如果存在不同步的问题,则说明DNS解析响应存在"抢答机制",贝化NS解析遭受到了 DNS污染,则将IP响应报文信息传递给DNS统计分析模块;反之,则将此响应IP标记为待验证 IP。
[0064] DNS统计分析模块获取DNS查询请求响应报文中的IP信息,从所述数据包中提取对 应的域名W及IP地址,获取并统计IP地址对应的不同域名的数量;根据同一 IP地址对应的 不同域名的数量,尤其区别那类不是同二级域名的数量,对超过预设阀值数量的IP地址标 记为待验证IP;否则,正常响应用户客户端的DNS查询请求。
[0065] 标记的待验证IP同装置匹配模块里的白名单IP列表对匹配,如果此域名与响应IP 信息存在于白名单IP列表中,则直接响应用户客户端的DNS查询请求。待验证IP对应的域 名,通过本装置内置的Ξ个非标端口的国外公共DNS (Googl eDNS、化enDNS、叫化aDNS)各发 起DNS查询请求,综合2个响应最快的DNS解析结果,然后与上述标记的待验证IP对匹配,如 果响应IP匹配,则正常响应用户客户端,同时将域名和IP信息录入装置内置的白名单列表; 反之,丢弃本次用户客户端的DNS查询结果,将域名地址和国外公共DNS解析的IP地址记录 在临时表中,同时将装置的局域网IP(如,192.168.1.1)响应给用户客户端。
[0066] 用户客户端根据响应的DNS解析IP发起HTTP请求,装置监听HTTP协议的请求报文, 尤其捕获请求报文中目的IP为装置的局域网IP(如:192.168.1.1)的报文信息。将此类请求 报文重定向本地静态导航界面,并作出警示操作提示。此处的警示操作提示包括:继续访 问、自动净化和人工净化。"继续访问"则是根据用户客户端第一次DNS查询请求的结果响应 HTT内青求,此时装置已不再干设处理当前同类的HTTP的数据报文。
[0067] "自动净化"则是根据上述DNS检测处理后输出到临时表的IP信息进行DNS净化处 理;具体是:丢弃用户客户端第一次发起DNS查询请求的响应IP,使用装置临时表记录的IP 地址作为HTTP请求的目的IP,封装客户端发起的HTTP请求。运样,当用户客户端再发起的 HTTP查询请求,则是使用的通过装置净化后的DNS查询请求的解析IP,同时将自动净化选择 的DNS响应的IP地址录入装置匹配模块的"黑名单表"。
[0068] "人工净化"则是装置提醒用户进行DNS人工干设净化,具体是:装置根据用户客户 端DNS查询请求的IP地址和装置DNS查询请求的IP地址为提示,用户端可W选择提示的二类 DNS处理对应的IP地址,也可W自定义输入指定的IP地址,之后发起的HTTP请求则是根据用 户自己选择的IP地址进行报文响应,同时将用户添加的IP地址信息和域名录入装置的黑名 单表。
[0069] 此方法和装置运用的实施列一:
[0070] 某企业拥有自己的一套局域网环境,内部员工日常PC机上网都是在此环境上网, 网络管理员发现工作时间,有几个视频网站和几个游戏站点的流量较为突出,为此,网络管 理人员为了健康员工此类的上网行为,并做出警示,做了如下操作:
[0071] 网络管理员在装置的管理WEB端上传了自定义的警示静态页面,并在装置匹配模 块的黑名单表中选配添加了如下所示的内容:
[0072]
[0073] 运样,当员工再次访问域名"abc.videol.com"时,装置就会根据黑名单表的匹配 结果将DNS解析到装置所在的局域网IP地址(192.168.1.1),同时员工基于此IP发起的HTTP 请求在路由到装置时,所有请求报文会被装置重定向到TOL路径:http://192.168.1.1/ index/abc_videol .html,从而警示用户的上网行为,其他域名的处理同理。
[0074] W上实施例是用在对上网行为的管控中,在生活中,我们更希望有运样的一种设 备能智能检测到上网行为的异常,同时可W警示用户做出相应的处理。
[0075] 此方法和装置运用的实施列二:
[0076] 此实施例更加彻底得体现此装置的功能,用户在PC端配置了DNS,但此DNS服务器 正好遭受到了劫持,劫持者通过某些手段取得某域名的解析记录控制权,进而修改了此域 名的解析结果。
[0077] 默认情况下,运样的DNS劫持操作将会导致对该域名的访问由原IP地址转入到修 改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料 或者破坏原有正常服务的目的。
[0078] 此时,在用户所在的本地局域网环境,新增一台网关型装置,即本发明描述的装 置,并配置了外网IP(x.x.x.x)和局域网IPQ92.168.1.1),局域网的上网环境都通过此网 关型装置路由上网。
[0079] 当用户在本地PC机器上打开浏览器,访问了一个网页,会产生一个网页访问的请 求,首先会由本地配置DNS服务器完成请求域名的解析工作。当DNS查询请求和DNS服务器响 应报文经过装置时,装置将对运类数据报文进行监听处理,具体流程参见图1,具体流程如 下:
[0080] 装置的监听模块监听并抓取客户端发起的DNS查询请求的响应报文,获取指定DNS 服务器解析的IP信息。首先将提取出的IP信息同装置的匹配模块中的"黑名单表"进行匹 配,如果匹配成功,则将"黑名单表"中记录的此域名对应的"纠正IP"作为本次用户端DNS查 询请求的解析IP;反之,如果"黑名单表"中没有此域名的匹配结果,则将响应报文传递给装 置的DNS纠正模块处理,DNS纠正模块处理后将输出一个IP地址作为本次用户端DNS查询请 求的解析IP。
[0081 ]如图2是DNS纠正模块的处理流程,当DNS查询响应报文中提取出的IP地址不在装 置匹配模块的"黑名单表"中,则说明此域名在本次访问之前未出现过异常。监听模块将响 应报文信息同时传递给DNS纠正模块中的DNS同步检测模块和DNS统计分析模块。
[0082]只有当"DNS同步检测模块"检测到响应报文中不存在查询id为0x0002的响应报文 有不同步的情况,同时"DNS统计分析模块"分析IP对应的域名个数未超过预设阀值时,才将 此IP正常响应给用户客户端。反之,则说明"DNS同步检测模块"和"DNS统计分析模块"未成 功标示此IP为正确解析IP,则标记此IP为待验证IP。
[0083] 被标记为待验证的IP地址会与装置的匹配模块中的"白名单表"做匹配,如果待验 证IP地址在"白名单表"中,则将"白名单表"中IP地址作为本次DNS查询请求的响应IP,响应 给用户端。反之,待验证IP不在"白名单表"内,则说明此IP在本次DNS请求之前未被装置正 常匹配过。
[0084] 具体的白名单表内容如下:
[0085]
[0086] 通过"白名单表"未被匹配到,装置会基于本次DNS查询请求的域名地址,通过装置 内置的Ξ个非标端口国外公共DNS (Googl eDNS、OpenDNS、叫traDNS)各发起DNS查询请求,综 合2个响应最快的DNS解析结果,然后与上述标记的待验证IP对匹配,如果响应IP匹配,则正 常响应用户客户端,同时将域名和IP信息录入装置内置的白名单列表;反之,丢弃本次用户 客户端的DNS查询结果,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将 装置所在的局域网IP地址(192.168.1.1)响应给用户客户端。
[0087] 图3是DNS同步检测模块的处理流程图,"DNS同步检测模块"会对本次DNS查询请求 的响应报文中的DNS解析IP是否同步进行分析,如果存在查询id为0x0002的响应报文有不 同步的情况,则说明DNS解析响应存在"抢答机制",贝化NS解析遭受到了DNS污染,则将查询 id为0x0002的第一个抢先响应的IP标记为待验证IP;反之,则说明本次DNS查询请求未遭受 至化NS污染行为,则等待"DNS统计分析模块"分析结果。
[0088] 图4是DNS统计分析模块的处理流程图,DNS统计分析模块从装置的监听模块获取 至化NS响应报文,从DNS响应报文中提取出对应的域名W及IP地址,并记录域名与IP地址之 间的对应关系。对抓取到的结果进行统计,获取同一 IP地址对应的不同域名的数量,尤其区 别那类不是同二级域名的域名数量,对超过预置条件数量的IP地址标