APP下载

上海电信未备案域名网站发现及处置系统技术实现

2019-06-11张宏丙

电子技术与软件工程 2019年7期
关键词:域名解析域名IP地址

文/张宏丙

1 引言

随着网络的快速发展与普及,加之近年来中小型企业发展步伐加快,信息化需求激增,采用服务器托管或是应用直接部署上云的现象已十分普遍。而与此同时,某些不法分子也想方设法利用IDC网络来传播色情、反动、赌博等非法信息,由此造成的信息安全问题引起了相关政府部门的高度重视。

为此,最近几年,以工信部为代表的国家监管部门屡出重拳,持续开展专项整治行动。其中在《关于进一步加强未备案网站管理工作的通知》(工信管函【2017】1410号)中就明确要求:各通信管理局要加大对未备案接入行为的处罚力度,对于未备案接入网站的行为“零容忍”,发现一起,处罚一起。根据“谁主管谁负责,谁审批谁负责,谁经营谁负责,谁接入谁负责”原则,上海电信在大力发展IDC业务的同时,也感受到前所未有的来自信息安全方面的压力。

为应对挑战,加强和规范互联网安全技术防范工作,落实中央关于加强互联网行业管理、净化互联网络环境的要求,肩负起这应有的社会责任,上海电信近年来一直致力于未备案域名网站发现及处置系统的建设及完善,本文就该系统的总体架构及技术实现做一深入探讨。

2 系统概述

未备案域名网站发现及处置系统的主要功能是及时发现存在于上海电信IDC机房内的活跃域名,并通过比对查询以了解这些域名是否备案,针对那些未备案的域名,则按要求进行相应的处置。系统在架构上主要由分光器、分流器、采集设备、防火墙及应用服务器组成,其总体拓扑如图1所示。

如何能及时捕获现网中的活跃域名,我们首先想到的就是DNS系统。作为互联网不可或缺的一项重要应用,DNS系统负责将域名解析为对应的IP地址,其解析方式有递归查询和迭代查询两种。而作为上海本地最大的固网运营商,上海电信也建有自己的DNS系统,面向广大宽带用户提供域名解析服务。针对提请域名解析请求的用户而言,上海电信DNS系统采用的是递归查询方式,即如果本地不能解析的话,则后面的查询全由本地名称服务器代替请求用户进行查询,直到本地名称服务器从权威名称服务器得到了正确的解析结果,再由本地名称服务器告诉用户查询结果。

图1:上海电信未备案域名网站发现及处置系统拓扑架构示意图

图2:未备案域名发现流程图

上海电信DNS系统对外提供服务的地址为202.96.209.5及202.96.209.133,它也是上海地区知名度最高的主流DNS系统,有大量宽带用户将其设为自己的首选DNS服务器,每天所处理的解析需求量巨大。从其技术实现及统计角度看,只要对该系统的进出报文进行捕获分析,就能查找出现网上的活跃域名,尤其是那些部署于上海地区的网站,一经上线运营,都能在很短的时间内被及时发现。如图1所示。

从功能实现角度来看,未备案域名网站发现及处置系统主要包含三个部分:域名采集发现、域名备案查询以及未备案域名处置。下面将就每一部分的技术实现细节分别加以阐述。

3 技术实现

3.1 域名采集发现

域名解析数据的采集点有两个,其一为本地名称服务器反馈给请求用户的DNS应答报文,即图1中A1所示;其二为权威/二级/顶级/根名称服务器反馈给本地名称服务器的DNS应答报文,即图1中A2所示。出于服务效率及性能设计考虑,绝大多数域名解析请求都由本地名称服务器的缓存记录直接应答,只有那些缓存失效或之前没有缓存的域名解析请求才会通过本地名称服务器以迭代查询的方式向权威/二级/顶级/根名称服务器发起查询请求。从现网实际流量来看,A2报文数不到A1报文数的2%。为提升效率,避免处理大量重复数据,本系统采集A2流量,即权威/二级/顶级/根名称服务器反馈给本地名称服务器的DNS应答流量。

域名采集的具体实现流程如图2前半段所示,其相应步骤如下:

(1)首先,由分光器对本地名称服务器的上行交互流量进行分光,将其送往分流器。之后,由分流器根据五元组信息做ACL过滤,将目的IP为本地名称服务器及源端口号为53的报文以均衡负载的方式送往采集设备。

(2)接着,由采集设备对这些报文进行拆包解析,并将解析后的数据进行全量记录,记录格式主要包括域名、IP地址、时间三个字段。如果一个域名对应多个IP地址,则按多条进行记录。

(3)然后,根据上海电信IP地址清单(包括IDC用户自带地址)对之前捕获到的记录进行筛选,如果在上海电信IP地址清单内的,则保留;不在清单内的,则丢弃。为确保筛选准确性,这里所涉及的上海电信IP地址清单需要定期更新及维护。

(4)最后,对筛选后的记录再进行数据去重,以归并域名和IP地址字段均相同的那些记录,并将时间字段扩充为首次发现时间和最新发现时间,去重时更新最新发现时间。经过数据去重后的记录将被写入域名解析数据表,该表字段主要包含域名、IP地址、备案状态、首次发现时间、最新发现时间。同时,为便于查询,另外创建了域名备案信息表,该表字段主要包含域名、备案状态、备案号、备案查询时间。域名解析数据表和域名备案信息表通过创建索引相关联。如图2所示。

3.2 域名备案查询

至此,活跃域名已经采集发现,紧接着就要判断这些域名是否备案。具体实现上,本系统是通过调用工信部域名备案系统的查询接口来完成相关备案状态的核查工作。

将新捕获到的域名与现有数据库中的域名信息进行比对,如果没有相关信息则被视为新增域名,立即加入查询队列,以调用接口进行备案状态查询,同步记录该域名的备案查询时间。如果有相关信息则被视为存量域名,通过存量域名备案信息表中的备案状态,来更新相关联的域名解析数据表中的对应字段。具体实现流程如图2后半段所示。

图3:存量域名备案信息表备案状态更新流程图

图4:未备案域名处置流程图

鉴于备案状态有可能发生变更,因此,针对那些存量域名,也需定期进行核查。出于对工信部域名备案系统处理性能的考虑,定期核查任务被安排在非忙时执行。每天零点起,系统将对存量域名按备案查询时间排序生成查询队列,时间最早的先进行查询。具体实现流程如图3所示。针对不同的查询反馈结果,其相应的后续操作也不尽相同:

(1)存量已备案域名若反转为未备案域名,则需要输出。

(2)存量未备案域名若反转为已备案域名,则更新备案状态与备案查询时间。

(3)若无反转,则只更新备案查询时间。

(4)若查询接口未反馈备案状态,则不更新备案查询时间。

这里,需要特别指出的是,为控制存量域名备案信息表的规模,提升核查效率,本系统将存量域名限定为当前系统时间与最新发现时间对比在一个月之内的所有域名信息。而对那些超过时限的非活跃域名则在每天指定的时间点加以清除。如图3所示。

3.3 未备案域名处置

通过域名采集、比对查询,我们可以及时找到现网上还有哪些活跃域名没有备案,当然这只是工作的第一步,发现的最终目的是处置这些未按要求备案的非法网站。

出于慎重起见,在对未备案域名进行正式处置前,还需要再经过两部验证:

(1)IP地址验证:对待处置域名进行IP核查,以确认该IP地址是否还在上海电信IP地址清单范围内。

(2)活跃度验证:对待处置域名进行HTTP访问测试,对响应码为200(OK,请求成功)/301(所请求的资源已被指派为新的固定URL)/302(所请求的资源临时位于另外的URL)的反馈结果,认为该域名网页是可以打开的,同时对网页内容进行快照抓取。

待上面两部验证确认后,将首先通过IP地址查询该IP的归属用户信息,包括:用户名、所属责任单位、联系人、联系方式、所在机房等。然后,根据查到的相关信息,通过工单流转系统派给各责任单位进行处理。如果未备案域名网站所有者不配合处理,则将进一步对其实施域名阻断或是IP封堵处置,直至其完成整改。具体实现流程如图4所示。

另外,通过每日例行的活跃度自动巡检,以监控那些尚未完成域名备案的非法网站的启停状态,一旦发现其违规上线运行,则立即进入处置流程。

4 结束语

未备案域名网站发现及处置系统自上线运行以来,共发现处置未备案网站12000余个。通过对该系统的持续建设及完善,上海电信不仅提升了自身满足管理规则的能力,同时也降低了管理风险,保障了业务又快又好发展,进而保障了互联网网络安全和信息安全,促进了互联网健康、有序发展,在维护国家安全、社会秩序和公共利益方面发挥了潜在的巨大效益。

猜你喜欢

域名解析域名IP地址
铁路远动系统几种组网方式IP地址的申请和设置
域名解析服务管理问答
免费动态域名解析软件
Combosquatting域名抢注的测量研究
IP地址切换器(IPCFG)
如何购买WordPress网站域名及绑定域名
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
腾讯八百万美元收购域名
基于云的域名解析服务模型