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

一种主动防御网关配置检测方法、装置与系统与流程

2022-08-28 05:29:31 来源:中国专利 TAG:
1.本发明涉及一种主动防御网关配置检测方法、装置与系统,属于网络安全
技术领域
:。
背景技术
::2.主动防御网关是用于保护web站点的一种安全网关,它部署在用户与web站点之间、靠近站点的位置,支持http和https协议。相比与传统的安全网关,主动防御网关具备对用户侧的运行环境进行主动探测和监控的能力,能够提高对威胁事件的判断准确度,进一步提高安全防护能力。3.如图1,在主动防御网关内部,整个网关系统由若干模块组成,包括管理平台、网关配置程序、网关主程序。管理平台本身是一个小型的web站点,它负责向管理员展示网关的运行状态、接受管理员对网关的配置,例如:1.添加新站点;2.修改站点信息(访问域名、访问ip、访问端口等);3.删除站点;4.添加黑白名单;5.配置动态对抗规则;等等。网关配置程序负责接收管理平台的配置变更消息,将其转换为网关主程序可以理解的配置文件,随后通知网关主程序对配置文件进行测试。在验证无误的情况下,通知网关主程序加载新的配置文件。4.网关主程序是网关的核心,它面向公众开放,为后端站点提供反向代理服务。网关主程序有极高的可用性要求,需要尽可能的保证稳定运行,降低服务中断的风险。一般采用主从多进程模型,主进程负责:1.解析初始配置文件;2.启动多个工作进程;3.监视工作进程的运行状态,在工作进程因故障而终止时重新启动它;4.接收配置变更消息,测试配置文件的有效性,启动新的工作进程,终止老的工作进程,在不中断服务的前提下完成配置文件的有序切换。5.目前,网关主程序虽然能够对配置文件进行测试,但是存在这样两个问题:1.因为站点的访问端口是可以复用的,所以网关主程序对新配置文件中的访问端口是否已占用难以做到准确的检查,因此只对配置文件中的端口列表做了静态检查(检查端口号是否冲突,如http端口不可以与tcpstream端口重复),而没有检查运行环境中相关端口是否被占用,导致正式加载配置文件后出现运行错误。2.部分软件模块(如动态对抗)的配置信息包含可执行脚本代码,在配置文件被测试的时候也无法做到准确的检查,而需要在加载配置文件的过程中由相关软件模块的代码进一步执行,才能发现其中的错误。技术实现要素:6.发明目的:针对上述现有技术存在的网关配置文件测试不完善的问题,本发明目的在于提供一种主动防御网关配置检测方法、装置与系统,以提高主动防御网关的配置过程的可靠性,保证网关稳定运行。7.技术方案:为实现上述发明目的,本发明采用如下技术方案:一种主动防御网关配置检测方法,包括如下步骤:创建一个基于网络命名空间的测试环境,测试环境的文件系统复用网关主程序运行环境的文件系统,测试环境的网卡、ip地址和路由表参照运行环境配置;创建一个基于网络命名空间的地址转换空间,为运行环境上除环回地址以外的每一个ip地址添加虚拟网卡、网桥和网络过滤规则,将测试环境中的每一个ip地址转换成一个预先指定的地址,所述预先指定的地址与运行环境中的ip地址不同;扫描运行环境中监听的tcp端口以及所属进程,得到排除网关主程序相关进程后的tcp端口列表;在测试环境的网络命名空间内,以所述tcp端口列表为参数启动tcp端口监听程序,所述tcp端口监听程序创建tcpsocket,监听所述tcp端口列表中的各tcp端口,以模拟运行环境中的tcp端口监听情况;在测试环境的网络命名空间内,以新的配置文件启动网关主程序,如果启动成功,再通过网关访问每个站点;如果启动失败或者存在站点不可访问,则认为配置文件中存在错误。8.作为优选,在测试环境中的网关主程序启动成功,且各个站点能够正常访问时通知运行环境中的网关主程序加载新的配置文件并开始切换。9.作为优选,在配置文件有错误的时,截取错误日志并报告。10.作为优选,所述地址转换空间的创建步骤包括:创建网络命名空间ns_trans;对于测试环境中的每一个ip地址ip_a,创建一个与其对应虚拟网卡相连通的虚拟网卡,并置入网络命名空间ns_trans中;在网络命名空间ns_trans中组建网桥并配置ip地址ip_b,所配置的ip_b与运行环境中的ip地址ip_a处于同一网段,为预先分配好的地址;配置netfilter规则,使得测试环境发出的地址解析请求能够得到响应,并且发出的ip报文能够以配置的ip地址ip_b发往站点所在局域网。11.在具体实施时,若配置文件中存在端口冲突,则测试环境中的网关主程序会启动失败;若网关主程序启动后,存在站点不可访问,则说明配置文件中存在动态规则错误。12.一种主动防御网关配置检测装置,包括:测试环境构建单元,用于创建一个基于网络命名空间的测试环境,测试环境的文件系统复用网关主程序运行环境的文件系统,测试环境的网卡、ip地址和路由表参照运行环境配置;地址转换空间构建单元,用于创建一个基于网络命名空间的地址转换空间,为运行环境上除环回地址以外的每一个ip地址添加虚拟网卡、网桥和网络过滤规则,将测试环境中的每一个ip地址转换成一个预先指定的地址,所述预先指定的地址与运行环境中的ip地址不同;监听端口获取单元,用于扫描运行环境中监听的tcp端口以及所属进程,得到排除网关主程序相关进程后的tcp端口列表;端口监听模拟单元,用于在测试环境的网络命名空间内,以所述tcp端口列表为参数启动tcp端口监听程序,所述tcp端口监听程序创建tcpsocket,监听所述tcp端口列表中的各tcp端口,以模拟运行环境中的tcp端口监听情况;以及,配置测试单元,用于在测试环境的网络命名空间内,以新的配置文件启动网关主程序,如果启动成功,再通过网关访问每个站点;如果启动失败或者存在站点不可访问,则认为配置文件中存在错误。13.作为优选,所述地址转换空间构建单元中,创建网络命名空间ns_trans,对于测试环境中的每一个ip地址ip_a,创建一个与其对应虚拟网卡相连通的虚拟网卡,并置入网络命名空间ns_trans中;在网络命名空间ns_trans中组建网桥并配置ip地址ip_b,所配置的ip_b与运行环境中的ip地址ip_a处于同一网段,为预先分配好的地址;通过配置netfilter规则,使得测试环境发出的地址解析请求能够得到响应,并且发出的ip报文能够以配置的ip地址ip_b发往站点所在局域网。14.一种主动防御网关系统,包括:管理平台,用于对网关进行配置以及展示网关运行状态;网关配置程序模块,用于在管理平台变更配置后生成配置文件;网关主程序模块,用于为后端站点提供反向代理服务;还包括配置检测程序模块,用于在网关配置程序模块生成新的配置文件后,创建测试环境,对配置文件进行测试,测试无误后再通知网关主程序模块加载新的配置文件;所述配置检测程序模块,包括:测试环境构建单元,用于创建一个基于网络命名空间的测试环境,测试环境的文件系统复用网关主程序运行环境的文件系统,测试环境的网卡、ip地址和路由表参照运行环境配置;地址转换空间构建单元,用于创建一个基于网络命名空间的地址转换空间,为运行环境上除环回地址以外的每一个ip地址添加虚拟网卡、网桥和网络过滤规则,将测试环境中的每一个ip地址转换成一个预先指定的地址,所述预先指定的地址与运行环境中的ip地址不同;监听端口获取单元,用于扫描运行环境中监听的tcp端口以及所属进程,得到排除网关主程序相关进程后的tcp端口列表;端口监听模拟单元,用于在测试环境的网络命名空间内,以所述tcp端口列表为参数启动tcp端口监听程序,所述tcp端口监听程序创建tcpsocket,监听所述tcp端口列表中的各tcp端口,以模拟运行环境中的tcp端口监听情况;以及,配置测试单元,用于在测试环境的网络命名空间内,以新的配置文件启动网关主程序,如果启动成功,再通过网关访问每个站点;如果启动失败或者存在站点不可访问,则认为配置文件中存在错误。15.一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的主动防御网关配置检测方法的步骤。16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的主动防御网关配置检测方法的步骤。17.有益效果:与现有技术相比,本发明通过地址转换空间实现对运行环境的模拟,可以在隔离的测试环境中运行网关主程序,来验证配置文件的正确性。本发明能够提高主动防御网关的配置过程的可靠性,避免因未能检查出错误而长时间处于非预期的状态中,保证网关稳定运行。附图说明18.图1为现有主动防御网关系统模块及配置测试流程图。19.图2为本发明实施例的配置测试方法流程图。20.图3为本发明实施例中一个测试环境与地址转换空间连接示意图。21.图4为本发明实施例中另一测试环境与地址转换空间连接示意图。22.图5为本发明实施例中主动防御网关系统模块及配置测试流程图。具体实施方式23.下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。24.针对网关的配置文件测试不完善的问题,本发明实施例公开的一种主动防御网关配置检测方法,基于网络命名空间技术创建测试环境和地址转换空间,利用隔离的测试环境来模拟真实环境加载配置文件的过程。如图2所示,本发明实施例的方法,首先创建一个基于网络命名空间的测试环境,以及一个基于网络命名空间的地址转换空间;然后扫描运行环境中监听的tcp端口以及所属进程;再在测试环境中的创建tcpsocket,监听各tcp端口,以模拟运行环境中的tcp端口监听情况;最后在测试环境在测试环境中启动网关主程序,测试配置文件中是否存在错误。25.本发明实施例中测试环境是一个与原运行环境隔离的虚拟环境。测试环境的文件系统与原运行环境相同,可复用原运行环境的文件系统。测试环境的网络,是与原运行环境相同的网络,但不可复用原环境;同时还要使上行到后端站点的链路是通畅的。具体步骤如下:步骤1.创建网络命名空间,其名称为ns_test,指令为:ipnetnsaddns_test步骤2.扫描原运行环境中的网卡、ip地址、路由表,指令为:iplinkshowipaddrshowiprouteshow步骤3.在网络命名空间ns_test中复原原运行环境的网络,使其网卡数目、名称、ip地址、路由表,与原运行环境完全相同。创建网卡的指令为:iplinkaddeth0typevethpeernameeth1步骤4.创建一个地址转换空间。为环回地址除外的每一个地址添加网卡、网桥和netfilter规则。所需的转换地址应当预先在网关部署时分配好。26.为了模拟原运行环境,我们需要一种地址转换技术,使测试环境中的地址通过转换之后,能够正常访问外部网络。这个地址转换是在名为地址转换空间(ns_trans)的网络命名空间中进行的。27.地址转换空间通过将测试环境中的地址,转换成一个预先指定的地址,避免与服务器上运行环境的地址冲突。地址转换空间的实现步骤如下:a)创建网络命名空间ns_trans,指令为:ipnetnsaddns_transb)创建虚拟网卡并置入网络命名空间中,指令为:iplinkaddlinketh0nameeth2typemacvlaniplinkseteth2netnsns_trans这里eth2是新建的虚拟网卡名字,不与现有网卡名字重复即可。eth0是网关服务器上现有网卡的名字,如果存在多个现有网卡,那么需要相应地创建多个虚拟网卡;同样地,虚拟网卡之间、虚拟网卡与现有网卡之间名字不可重复。虚拟网卡类型除了macvlan外,还可以用ipvlan,此处效果是一样的。28.c)在网络命名空间ns_trans中组建网桥并配置地址,指令为:brctladdbrbr1brctladdifbr1eth1iplinkseteth1upiplinkseteth2upiplinksetbr1upipaddradd192.168.0.2/24deveth2其中192.168.0.2是与服务器网卡eth0的地址同网段的有效地址,需要在系统部署时预留。测试环境与地址转换空间的连接如图3所示,若网关服务器上有多个网卡,为每一个网卡做类似的配置即可,如图4所示。29.d)在网络命名空间ns_trans中配置netfilter规则,指令为:ebtablesꢀ‑tnatꢀ‑apreroutingꢀ‑parpꢀ‑ieth1ꢀ‑jarpreplyꢀ‑‑arpreply-mac76:8b:db:ce:58:21上述指令使测试环境往外发出的地址解析请求(arp)都能够得到响应。30.iptablesꢀ‑tnatꢀ‑apostroutingꢀ‑oeth2ꢀ‑jmasquerade上述指令使测试环境往外发出的ip报文都能够以伪装成虚拟网卡eth2的ip地址192.168.0.2发往局域网。31.步骤5.扫描原运行环境中监听的tcp端口(含地址)以及所属进程。在这些tcp端口中,将网关主程序相关进程排除在外(我们只需要模拟网关主程序的运行环境,而不需要模拟网关主程序本身)。32.步骤6.进入网络命名空间ns_test内,以上述tcp端口列表为参数,运行tcp端口监听程序。tcp端口监听程序在启动时接受一个地址与端口列表,例如:0.0.0.0:22127.0.0.1:8080192.168.0.1:8081对于列表中的每一对地址和端口,tcp端口监听程序依次创建tcpsocket,绑定这个地址和端口并开始监听。该程序并不需要接受tcp连接,而只需要占用tcp端口。33.假如监听程序名为tcp_bind,那么运行指令示例如下:ipnetnsexecns_testtcp_bind0.0.0.0:22127.0.0.1:8080192.168.0.1:8081tcp端口监听程序启动后,创建若干tcpsocket,监听上述tcp端口,以模拟原运行环境中的tcp端口监听情况。本实施例中由于网关主程序暂未使用除tcp外的其他协议类型的端口,因此这里不作模拟。34.步骤7.在网络命名空间ns_test内启动网关主程序。如果启动失败,就说明存在端口冲突等配置错误;如果启动成功,再依次通过网关访问每个站点;如果存在站点不可访问,说明配置文件中存在动态规则错误。在配置有误的情况下,截取错误日志向管理平台报告即可。35.本发明实施例公开的一种主动防御网关配置检测装置,包括:测试环境构建单元,用于创建一个基于网络命名空间的测试环境,测试环境的文件系统复用网关主程序运行环境的文件系统,测试环境的网卡、ip地址和路由表参照运行环境配置;地址转换空间构建单元,用于创建一个基于网络命名空间的地址转换空间,为运行环境上除环回地址以外的每一个ip地址添加虚拟网卡、网桥和网络过滤规则,将测试环境中的每一个ip地址转换成一个预先指定的地址,所述预先指定的地址与运行环境中的ip地址不同;监听端口获取单元,用于扫描运行环境中监听的tcp端口以及所属进程,得到排除网关主程序相关进程后的tcp端口列表;端口监听模拟单元,用于在测试环境的网络命名空间内,以所述tcp端口列表为参数启动tcp端口监听程序,所述tcp端口监听程序创建tcpsocket,监听所述tcp端口列表中的各tcp端口,以模拟运行环境中的tcp端口监听情况;以及,配置测试单元,用于在测试环境的网络命名空间内,以新的配置文件启动网关主程序,如果启动成功,再通过网关访问每个站点;如果启动失败或者存在站点不可访问,则认为配置文件中存在错误。36.所述地址转换空间构建单元中,创建网络命名空间ns_trans,对于测试环境中的每一个ip地址ip_a,创建一个与其对应虚拟网卡相连通的虚拟网卡,并置入网络命名空间ns_trans中;在网络命名空间ns_trans中组建网桥并配置ip地址ip_b,所配置的ip_b与运行环境中的ip地址ip_a处于同一网段,为预先分配好的地址;通过配置netfilter规则,使得测试环境发出的地址解析请求能够得到响应,并且发出的ip报文能够以配置的ip地址ip_b发往站点所在局域网。37.如图5所示,本发明实施例公开的一种主动防御网关系统,包括:管理平台,用于对网关进行配置以及展示网关运行状态;网关配置程序模块,用于在管理平台变更配置后生成配置文件;网关主程序模块,用于为后端站点提供反向代理服务;配置检测程序模块,用于在网关配置程序模块生成新的配置文件后,创建测试环境,对配置文件进行测试,测试无误后再通知网关主程序模块加载新的配置文件;所述配置检测程序模块,包括:测试环境构建单元,用于创建一个基于网络命名空间的测试环境,测试环境的文件系统复用网关主程序运行环境的文件系统,测试环境的网卡、ip地址和路由表参照运行环境配置;地址转换空间构建单元,用于创建一个基于网络命名空间的地址转换空间,为运行环境上除环回地址以外的每一个ip地址添加虚拟网卡、网桥和网络过滤规则,将测试环境中的每一个ip地址转换成一个预先指定的地址,所述预先指定的地址与运行环境中的ip地址不同;监听端口获取单元,用于扫描运行环境中监听的tcp端口以及所属进程,得到排除网关主程序相关进程后的tcp端口列表;端口监听模拟单元,用于在测试环境的网络命名空间内,以所述tcp端口列表为参数启动tcp端口监听程序,所述tcp端口监听程序创建tcpsocket,监听所述tcp端口列表中的各tcp端口,以模拟运行环境中的tcp端口监听情况;以及,配置测试单元,用于在测试环境的网络命名空间内,以新的配置文件启动网关主程序,如果启动成功,再通过网关访问每个站点;如果启动失败或者存在站点不可访问,则认为配置文件中存在错误。38.上述描述的各模块/单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述模块/单元的划分仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块/单元可以结合或者可以集成到另一个系统。39.本发明实施例公开的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的主动防御网关配置检测方法的步骤。40.本发明实施例公开的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的主动防御网关配置检测方法的步骤。41.本领域技术人员可以理解的是,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。存储介质包括:u盘、移动硬盘、只读存储器rom、随机存取存储器ram、磁碟或者光盘等各种可以存储计算机程序的介质。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献