本申请涉及网络,具体涉及一种域名过滤方法、装置、电子设备及存储介质。
背景技术:
1、随着企业数字化转型的加速与云原生技术的大规模应用,企业数据中心内部的应用服务数量快速上升。通常,应用服务以域名的方式对外提供访问入口,域名作为逻辑地址对访问者屏蔽了应用服务的物理ip,使得应用服务ip的变化对访问者透明。当位于数据中心内部隔离区的应用访问位于内网的应用,或访问公网业务时,需要通过防火墙。
2、目前,基于网络层和传输层的网络防火墙对数据包的ip地址和端口号进行过滤,当目的端ip发生变化时无法实时更新防火墙策略,难以适应云原生技术条件下应用实时调度导致业务ip频繁变化的特点。
技术实现思路
1、本发明提供一种域名过滤方法、装置、电子设备及存储介质,用以解决现有技术中的网络防火墙难以适应业务ip频繁变化的技术问题。
2、本发明提供一种域名过滤方法,包括:
3、解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系后,计算各所述映射关系的哈希值;
4、当所述dns服务器ip是受信任的地址时,将各所述哈希值分别与预存哈希值进行比对,所述预存哈希值包括一个或多个与所述目的端域名相关联的映射关系对应的哈希值;
5、若所述哈希值与所述预存哈希值不匹配,则存储所述哈希值对应的映射关系,使用与所述目的端域名相关联的ip地址替换防火墙过滤规则中的所述目的端域名后,基于所述相关联的ip地址进行域名过滤。
6、根据本发明提供的一种域名过滤方法,所述存储所述哈希值对应的映射关系包括存储所述目的端域名与所述哈希值对应的ip地址的映射关系、存储所述哈希值,以及将所述哈希值对应的映射关系的生存时间更新为当前时间;
7、在将各所述哈希值分别与预存哈希值进行比对之后,还包括:
8、若所述哈希值与所述预存哈希值相匹配,则将所述哈希值对应的映射关系的生存时间更新为所述当前时间。
9、根据本发明提供的一种域名过滤方法,所述域名过滤方法还包括:
10、当所述映射关系的生存时间超过预设期限阈值时,删除所述映射关系,使用与所述目的端域名相关联的ip地址替换所述防火墙过滤规则中的所述目的端域名后,基于所述相关联的ip地址进行域名过滤。
11、根据本发明提供的一种域名过滤方法,所述解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系之前,还包括:
12、获取cpu信息队列和网卡信息队列,所述cpu信息队列包括多个cpu的cpu唯一标识,所述网卡信息队列包括多张网卡的网卡唯一标识;
13、将多个解析线程分别绑定至所述cpu信息队列;
14、对所述多个cpu进行分组,得到多个cpu组,一个cpu组关联一张网卡;
15、基于数据包记载的协议和目标接收端口,筛选出dns服务器返回数据包后,将所述dns服务器返回数据包转发至对应的解析线程。
16、根据本发明提供的一种域名过滤方法,所述dns服务器返回数据包是基于如下步骤进行筛选的:
17、将接收数据包的协议和目标接收端口作为输入二元组,进行哈希计算,得到散列值;
18、若所述散列值与预存散列值一致,则确定所述接收数据包是dns服务器返回数据包。
19、根据本发明提供的一种域名过滤方法,所述解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系,包括:
20、读取所述dns服务器返回数据包的三层数据包;
21、将所述三层数据包中的源ip信息作为所述dns服务器ip;
22、对所述三层数据包中的数据部分进行解析,得到一个或多个所述目的端域名与ip地址的映射关系。
23、本发明还提供一种域名过滤装置,包括:
24、计算模块,用于:解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系后,计算各所述映射关系的哈希值;
25、比对模块,用于:当所述dns服务器ip是受信任的地址时,将各所述哈希值分别与预存哈希值进行比对,所述预存哈希值包括一个或多个与所述目的端域名相关联的映射关系对应的哈希值;
26、过滤模块,用于:若所述哈希值与所述预存哈希值不匹配,则存储所述哈希值对应的映射关系,使用与所述目的端域名相关联的ip地址替换防火墙过滤规则中的所述目的端域名后,基于所述相关联的ip地址进行域名过滤。
27、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述域名过滤方法。
28、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述域名过滤方法。
29、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述域名过滤方法。
30、本发明提供的域名过滤方法、装置、电子设备及存储介质,解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系后,计算各所述映射关系的哈希值;当所述dns服务器ip是受信任的地址时,将各所述哈希值分别与预存哈希值进行比对,所述预存哈希值包括一个或多个与所述目的端域名相关联的映射关系对应的哈希值;若所述哈希值与所述预存哈希值不匹配,则存储所述哈希值对应的映射关系,使用与所述目的端域名相关联的ip地址替换防火墙过滤规则中的所述目的端域名后,基于所述相关联的ip地址进行域名过滤。基于网络防火墙实现对业务域名的动态过滤,根据对dns服务器返回数据包的解析结果,利用目的端域名与ip地址的映射关系,实现对网络防火墙过滤规则进行实时动态调整。
1.一种域名过滤方法,其特征在于,包括:
2.根据权利要求1所述的域名过滤方法,其特征在于,所述存储所述哈希值对应的映射关系包括存储所述目的端域名与所述哈希值对应的ip地址的映射关系、存储所述哈希值,以及将所述哈希值对应的映射关系的生存时间更新为当前时间;
3.根据权利要求2所述的域名过滤方法,其特征在于,所述域名过滤方法还包括:
4.根据权利要求1-3中任一项所述的域名过滤方法,其特征在于,在所述解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系之前,还包括:
5.根据权利要求4所述的域名过滤方法,其特征在于,所述dns服务器返回数据包是基于如下步骤进行筛选的:
6.根据权利要求1-3任一项所述的域名过滤方法,其特征在于,所述解析dns服务器返回数据包,得到dns服务器ip以及一个或多个目的端域名与ip地址的映射关系,包括:
7.一种域名过滤装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述域名过滤方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述域名过滤方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的域名过滤方法。