一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于DNS实现的网站管理方法与流程

2023-02-04 17:15:13 来源:中国专利 TAG:

一种基于dns实现的网站管理方法
技术领域
1.本发明涉及一种基于dns实现的网站管理方法,属于网络安全技术领域。


背景技术:

2.随着计算机技术的飞速发展,计算机网络已经成为社会发展的重要保证,也是很多企业不可缺少的办公工具,然而企业内部员工往往会利用计算机网络的便捷性随意浏览网站,包括企业内的网盘等内含有企业文件的网站,然后进行上传下载文件,容易造成企业重要文件的外泄,如果不做到有效的安全管控,不能够保障企业网络安全。


技术实现要素:

3.为解决上述问题,本发明提出一种基于dns实现的网站管理方法,具体技术方案如下,
4.一种基于dns实现的网站管理方法,包括如下步骤:
5.步骤一:在windows系统上加载wfp驱动,用以监控dns请求;
6.步骤二:通过wfp驱动把应用层的网络数据发送给当前驱动回调;
7.步骤三:wfp驱动接收应用层的网络数据,并对网络数据进行解析;
8.步骤四:若发现网络数据为dns请求,并且存在管理员不允许访问的网站url地址,wfp驱动中断此网络数据继续发往系统网卡驱动,dns请求对应的网络数据发送失败后,浏览器无法打开网站url地址;若dns请求中存在管理员允许访问的网站url地址,则wfp驱动允许此网络数据继续发送系统网卡驱动,dns请求对应的网络数据发送成功后,浏览器可以打开网站url地址。
9.优选的,所述wfp驱动通过调用fwpmengineopen0函数来打开wfp过滤器引擎,用以对dns请求进行监控。
10.进一步的,所述当前驱动回调具体是指过滤层为fwpm_layer_datagram_data_v4标识的udp网络数据回调,通过wfp驱动调用fwpscalloutregister0和fwpmfilteradd0来注册,设置回调函数名为wfpdatagrampacketclassify。
11.进一步的,所述wfp驱动对网络数据进行解析的具体方法为:
12.a.wfp驱动调用注册的wfpdatagrampacketclassify函数,在wfpdatagrampacketclassify函数中对网络数据进行解析;当网络数据协议为udp,端口为53的dns请求数据时,执行步骤b;
13.b.通过exallocatepoolwithtag函数申请一块内存空间databuffer,通过mmgetmdlvirtualaddress和mmgetmdlbytecount函数把当前网络数据拷贝到申请的databuffer中;
14.c.对databuffer中的数据进行解析,首先通过dns头结构体获取dns信息,包含请求数、应答信息;
15.d.跳过dns头结构体长度后,剩余的数据为网站url,把解析出的网站url保存到字
符串数组dnsdomain中;
16.e.把dnsdomain存放的网站url与管理员配置的网站url进行对比,不合规的网站url通过步骤f进行阻断,合规的网站url通过步骤g进行放行;
17.f.设置wfpdatagrampacketclassify函数中参数为fwps_classify_out0的结构体,其中结构体中的actiontype设置为fwp_action_block,flags去掉fwps_classify_out_flag_absorb属性,后续交由wfp框架对当前网络数据进行阻断,浏览器无法正常获取dns数据,无法打开指定网站url;
18.g.不处理的wfpdatagrampacketclassify函数中参数为fwps_classify_out0的结构体,wfp框架不对当前网络数据进行阻断,浏览器可以正常获取dns数据,浏览器可正常访问网站。
19.本发明采用基于windows wfp驱动截获应用层的dns请求,根据请求的网站url进行过滤,对于违规url访问的中断处理,有效保障企业的网络安全,不影响系统正常使用、安全稳定。
附图说明
20.图1是本发明一种基于dns实现的网站管理方法的工作流程图。
具体实施方式
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.wfp(windows filter platform)是为网络过滤应用开发平台提供支持的api和系统服务的集合。
23.如图1所示,一种基于dns实现的网站管理方法,包括如下步骤:
24.步骤一:在windows系统上加载wfp驱动(sys文件),用以监控dns请求;
25.步骤二:通过wfp驱动把应用层的网络数据发送给当前驱动回调;
26.步骤三:wfp驱动接收应用层的网络数据,并对网络数据进行解析;
27.步骤四:若发现网络数据为dns请求,并且存在管理员不允许访问的网站url地址,wfp驱动中断此网络数据继续发往系统网卡驱动,dns请求对应的网络数据发送失败后,浏览器无法打开网站url地址;若dns请求中存在管理员允许访问的网站url地址,则wfp驱动允许此网络数据继续发送系统网卡驱动,dns请求对应的网络数据发送成功后,浏览器可以打开网站url地址。
28.所述wfp驱动通过调用fwpmengineopen0函数来打开wfp过滤器引擎,用以对dns请求进行监控。
29.所述当前驱动回调具体是指过滤层为fwpm_layer_datagram_data_v4标识的udp网络数据回调,通过wfp驱动调用fwpscalloutregister0和fwpmfilteradd0来注册,设置回调函数名为wfpdatagrampacketclassify。
30.所述wfp驱动对网络数据进行解析的具体方法为:
31.a.wfp驱动调用注册的wfpdatagrampacketclassify函数,在wfpdatagrampacketclassify函数中对网络数据进行解析;当网络数据协议为udp,端口为53的dns请求数据时,执行步骤b,其他网络数据不进行处理,进入步骤g;
32.b.通过exallocatepoolwithtag函数申请一块内存空间databuffer,通过mmgetmdlvirtualaddress和mmgetmdlbytecount函数把当前网络数据拷贝到申请的databuffer中;
33.c.对databuffer中的数据进行解析,首先通过dns头结构体获取dns信息,包含请求数、应答等信息;其中dns头结构体如下:
[0034][0035][0036]
d.跳过dns头结构体长度后,剩余的数据为网站url,把解析出的网站url保存到字符串数组dnsdomain中;
[0037]
e.把dnsdomain存放的网站url与管理员配置的网站url进行对比,不合规的网站url通过步骤f进行阻断,合规的网站url通过步骤g进行放行;
[0038]
f.设置wfpdatagrampacketclassify函数中参数为fwps_classify_out0的结构体,其中结构体中的actiontype设置为fwp_action_block,flags去掉fwps_classify_out_flag_absorb属性,后续交由wfp框架对当前网络数据进行阻断,浏览器无法正常获取dns数据,无法打开指定网站url;
[0039]
g.不处理的wfpdatagrampacketclassify函数中参数为fwps_classify_out0的结构体,wfp框架不对当前网络数据进行阻断,浏览器可以正常获取dns数据,浏览器可正常访问网站。
[0040]
某公司管理人员防止内部员工访问百度网盘等网盘网站,以避免内部文件被上传到外网,当员工通过浏览器访问百度网盘url时,wfp驱动检测到dns请求百度网盘,随即中断该dns数据包的继续发送,从而保证内网数据的安全。
[0041]
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本
发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献