CN112383536B - 防火墙验证方法、装置、计算机设备及存储介质 - Google Patents

防火墙验证方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112383536B
CN112383536B CN202011249553.2A CN202011249553A CN112383536B CN 112383536 B CN112383536 B CN 112383536B CN 202011249553 A CN202011249553 A CN 202011249553A CN 112383536 B CN112383536 B CN 112383536B
Authority
CN
China
Prior art keywords
host
firewall
cluster
verification
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011249553.2A
Other languages
English (en)
Other versions
CN112383536A (zh
Inventor
白露露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011249553.2A priority Critical patent/CN112383536B/zh
Publication of CN112383536A publication Critical patent/CN112383536A/zh
Application granted granted Critical
Publication of CN112383536B publication Critical patent/CN112383536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种防火墙验证方法,包括:利用远程连接组件根据目标主机的账户信息和登陆密码登陆所述目标主机;使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息;根据多个源地址生成第一列表,以及根据多个服务集群信息生成第二列表;确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;测试每个所述防火墙验证路径上的防火墙是否开通。本申请还公开了一种防火墙验证装置、计算机设备以及计算机可读存储介质。本申请在保证主机集群的安全性的情况下,提高了对内部主机集群与外部服务集群之间的防火墙进行验证的效率。

Description

防火墙验证方法、装置、计算机设备及存储介质
技术领域
本申请涉及网络安全领域,尤其涉及一种防火墙验证方法、防火墙验证装置、计算机设备以及计算机可读存储介质。
背景技术
随着网络技术的快速发展及广泛应用,网络安全问题也变得日益严重。为了提高网络数据交互的安全度,在内部网络与外部网络之间通常会设置有防火墙。而内部系统的多台主机在调用外部系统的数据的过程中,需要验证上述内部系统与需调用的各个外部系统之间的防火墙是否开通。
目前,常用的验证防火墙是否开通的方法首先需要人工逐个登陆主机,并查询内部系统需调用的各个外部系统的目的IP地址、以及目的端口,并模拟Http请求建立内部系统与外部系统的通信通道之后,依次执行telnet命令,远程登录查询到的各个目的IP地址和目的端口对应的外部系统来验证对应的防火墙是否开通。由于整个过程中需要借助人工进行查询,因此存在验证效率低下的问题。而若是在主机集群中统一引入免密登陆机制,导致主机集群容易被非法入侵。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种防火墙验证方法、防火墙验证装置、计算机设备以及计算机可读存储介质,旨在解决如何保证主机集群安全性的情况下,提高内部主机集群与外部服务集群之间的防火墙验证效率的问题。
为实现上述目的,本申请提供一种防火墙验证方法,包括以下步骤:
接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;
使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,其中,所述服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息;
根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;
确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;
调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。
进一步地,所述利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机的步骤之后,还包括:
向所述目标主机发送防火墙验证命令,所述目标主机在接收到所述防火墙验证命令时,则获取所述主机集群中各主机对应的源地址和所述服务集群信息进行数据传输;
检测到所述目标主机进行数据传输时,则执行所述使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息的步骤。
进一步地,所述主机集群中各主机的存储端为区块链节点,所述区块链节点用于将所述区块链节点对应的主机本端的源地址,以及与本端交互的服务节点对应的服务地址和端口信息,以块链式账本的方式进行存储;所述目标主机基于本端对应的所述区块链节点,获取所述主机集群中各主机对应的源地址,以及所述服务集群信息。
进一步地,所述调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果的步骤之后,还包括:
将所述验证结果为断开状态的防火墙作为目标防火墙;
对所述目标防火墙进行修复。
进一步地,所述调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果的步骤之后,还包括:
接收到防火墙修复命令时,检测所述账户信息对应的权限等级是否小于预设权限等级;
若否,执行所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤。
进一步地,所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤之后,还包括:
确定所述目标防火墙对应的主机,并获取确定得到的主机的账户信息和登陆密码;
基于所述确定得到的主机的账户信息和登陆密码登陆对应的主机后,执行所述对所述目标防火墙进行修复的步骤。
进一步地,所述防火墙验证方法还包括:
在接收所述目标主机的登陆密码时,禁用密码回显功能。
为实现上述目的,本申请还提供一种防火墙验证装置,所述防火墙验证装置包括:
登陆模块,用于接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;
获取模块,用于使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,其中,所述服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息;
生成模块,用于根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;
确定模块,用于确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;
验证模块,用于调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。
为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括:
所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的防火墙验证程序,所述防火墙验证程序被所述处理器执行时实现如上述防火墙验证方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有防火墙验证程序,所述防火墙验证程序被处理器执行时实现如上述防火墙验证方法的步骤。
本申请提供的防火墙验证方法、防火墙验证装置、计算机设备以及计算机可读存储介质,接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息;根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。这样,不需要人工分别在主机集群中每个主机上执行防火墙验证操作,只需利用防火墙验证应用登陆主机集群中的一个目标主机,即可实现一键验证主机集群中所有主机对应的防火墙状态,从而在保证主机集群的安全性的情况下,提高了对各主机的防火墙验证的便捷性,也有效地提高了对各主机的防火墙验证的验证效率。
附图说明
图1为本申请一实施例中防火墙验证方法步骤示意图;
图2为本申请一实施例中防火墙验证装置示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,在一实施例中,所述防火墙验证方法包括:
步骤S10、接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机。
步骤S20、使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,其中,所述服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息。
步骤S30、根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表。
步骤S40、确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径。
步骤S50、调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。
本实施例中,实施例的执行终端可以是一种计算机设备,或者一种防火墙验证装置。
如步骤S10所述:终端上装载有防火墙的验证应用,可以由是工程师预先利用python语言编写防火墙的验证应用(例如一种防火墙验证工具),并将验证应用部署在终端上,用户可以基于验证应用对主机集群和服务集群之间的防火墙验证。
可选的,在验证应用上,提供有目标主机的登陆界面,以获取用户基于登陆界面输入的目标主机的账户信息和登陆密码。目标主机为主机集群中的任一台主机,验证应用可根据主机集群中各主机对应的主机名称(hostname),生成主机列表,用户可以通过选中主机列表中任一主机作为目标主机,并进一步输入目标主机的账户信息和登陆密码。
其中,远程连接组件用于在终端和主机集群中的主机之间建立通信连接,远程连接组件可以是python语言中的SSHClient组件。SSHClient组件主要是用来解决网络口令传输问题,通过SSHClient组件还可以进一步把所有需要传输数据进行加密,有效避免重要数据在传输时遭到恶意攻击破坏。
可选的,终端得到账户信息和登陆密码后,导入paramiko库,初始化一个SSHClient组件的对象,使用对象的connet方法传输目标主机的主机名称、账户信息和登陆密码至主机集群,从而远程登陆目标主机。
需要说明的是,paramiko库是python语言的一个库,核心组件是 SSHClient组件和SFTPClient组件,可以利用SSHClient组件的connet方法实现远程登录目标主机并执行防火墙验证命令。
如步骤S20所述:当用户远程登陆目标主机后,可以进一步通过验证应用发出防火墙验证命令,目标主机接收到防火墙验证命令后,则获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,并将获取得到的所有主机的源地址和服务集群信息传输至终端。
其中,主机集群相当于受防火墙保护的内部网络系统,服务集群则相当于被防火墙将其与内部网络系统阻隔开来的外部网络系统。主机集群中包括有多个主机,而服务集群中则包括有多个服务节点(或者服务器)。主机集群中的主机,可以调用主机集群对应的服务集群中的服务节点的数据。
其中,各主机对应的源地址,至少包括主机IP地址,可选包括源端口信息、系统名、文件名等。
其中,服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息。其中,各服务节点对应的服务地址,至少包括服务IP地址和/或域名地址;各服务节点对应的端口信息(端口信息与服务节点的服务地址对应),包括服务节点中所有开放的端口名。
可选的,未获取到服务节点的端口信息时,则默认端口信息为端口80。
可选的,主机集群中还包括有中转机,中转机预先存储有主机集群中所有主机的源地址,以及主机集群对应的服务集群的服务集群信息。目标主机可以通过从中转机中调取所有主机的源地址和服务集群信息,并传输至终端。
可选的,主机集群中的每一个主机,均可以作为一个区块链节点,每个主机均可将本主机的源地址,以及与本主机交互的服务节点对应的服务地址和端口信息,以块链式账本的方式进行存储。当主机集群中每一个主机均全局更新块链式账本后,任一台目标主机均可以从本地存储上获取到主机集群中所有主机的源地址,以及主机集群对应的服务集群的服务集群信息,并将源地址和服务集群信息传输至终端。
其中,区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。而区块链网络 (Blockchain Network),则是通过共识的方式将新区块纳入区块链的一系列的节点的集合。
其中,账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
这样,可以方便对源地址和服务集群信息进行及时的更新保存,且保存的数据也不易丢失。
当目标主机向终端进行数据传输,并传输所有主机的源地址和服务集群的服务集群信息时,终端需要同时接收且区分出多个传输参数,包括多个源地址、服务地址,以及服务地址对应的各个端口信息。
可选的,参数解析模块可以是python语言中的argparse模块。
可选的,终端检测到目标主机进行数据传输时,则使用argparse模块命令行解析参数实现批量获取传输参数并分类。argparse模块是python标准库中提供的用于解析命令行参数的模块。导入argparse模块包,使用argparse 模块中的ArgumentParser类生成一个对象,再通过对象的add_argument函数来增加参数。验证应用中增加了--sip、--files、--dip、--port(等同于-s、-f、 -d、-p)等参数,再使用对象的parse_args方法获取解析的参数。
可选的,目标主机向终端传输各主机的源地址时,使用--sip/-s参数可传多个源地址,不同主机的源地址使用空格隔开;使用--sys参数时可传入部署单元名(系统名);将源地址整理进文件,并使用--file/-f参数传入对应的文件名。而终端可使用open方法解析文件内容,判断文件是否存在,若是,读取文件内容,得到各主机对应的源地址。
可选的,目标主机向终端传输各服务节点的服务地址和端口信息时,使用--dip/-d参数可传多个服务地址,不同服务地址以空格隔开;使用--port/-p 参数可传多个端口信息,不同端口信息以空格隔开。
这样,基于python语言中的argparse模块的应用,实现批量获取目标主机传输的源地址和服务集群信息,并对获取到的信息进行分类,通过提高数据处理的效率,从而达到提高验证防火墙的效率的目的。
如步骤S30所述:终端根据多个主机对应的源地址,生成第一列表,以及根据多个服务集群信息生成第二列表,其中,第二列表中的元素,包括了各服务地址,以及服务地址与对应的端口信息的组合。
例如,服务地址F1对应的服务节点,包括有d1和d2两个端口,那么可以组合为F1+d1、F1+d2这两个元素加入第二列表中。
最终得到的第二列表中元素的个数,应与所有服务节点开发的端口数总和相等。
如步骤S40所述:在得到第一列表和第二列表后,确定第一列表和第二列表之间的笛卡尔积。笛卡尔积是指两个集合X和Y之间的乘积,表示为X ×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
最终得到的笛卡尔积,可以穷尽第一列表中的元素和第二列表中的元素的所有交叉组合的可能。
可选的,利用itertools模块得到列表之间的笛卡尔积。itertools模块是 python语言的内置迭代器,使用itertools.product函数可求多个可迭代对象的笛卡尔积,与嵌套的for循环等价,即:
itertools.product(A,B)和((x,y)for x in A for y in B)一样。
itertools.product(第一列表,第二列表)则会返回任一源地址与任一服务地址、任一端口组合的元组,作为防火墙验证路径。
后续在进行防火墙验证时,验证消息在每一防火墙验证路径中,会从源地址出发,到达服务地址,然后再到达该服务地址上的端口,而端口的响应数据则会原路返回至对应的源地址。
即最终所得到的笛卡尔积中,每一元组即可作为一个防火墙验证路径(一个元组包括一个源地址、一个服务地址和一个端口信息,且每一元组均不相同)。例如,得到一个防火墙验证路径为:192.168.0.1(源地址)到 192.168.1.2(服务地址)_8080(端口信息)。
如步骤S50所述的:预设的验墙脚本可以是由开发人员为了对主机集群内的主机进行防火墙开通验证而预先编写并保存在终端上的(或者终端的数据库),当验墙脚本被调用时,即可验证主机与服务节点的各端口之间的防火墙是否开通。
可选的,终端在得到每个主机对应的防火墙验证路径后,将各防火墙验证路径中包括的源地址、服务地址和端口信息进行取值,并传值至SSHClient 组件的SSHClient.client方法,通过调用SSHClient.client方法登陆主机集群中的主机,并根据各主机对应的防火墙验证路径,调用验墙脚本测试防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。
可选的,之前用户输入的目标主机的账户信息和登陆密码,可以是属于一个预设账户的,该预设账户的账户信息和登陆密码可用于登陆主机集群中的所有主机。终端只需目标主机的账户信息和登陆密码,即可登陆主机集群中的其他主机进行防火墙验证。
而当主机集群在新建时,或者有新主机加入到主机集群中时,当新主机未创建有预设账户(即当主机集群中存在未创建有预设账户的主机),则在用户登陆目标主机发出防火墙验证命令后,提示用户是否需要在未创建预设账户的主机上创建预设账户。若用户同意创建,则通过远程登陆方法在相应的主机上创建预设账户(预设账户共用一套账户信息和登陆密码);若用户不同意创建,则未创建有预设账户的主机不加入本次防火墙验证,或者由用户手动调试该主机的防火墙验证数据。
或者,主机集群中的各个主机相互间均向彼此授权有防火墙验证权限,终端可以通过登陆目标主机,从而获取其他主机的登陆权限,然后登陆其他主机进行防火墙验证。
可选的,为了提高安全性,块链式账本中还预先记录有各合法终端的设备信息,目标主机在验证终端发送的账户信息和登陆密码是否正确的同时,还可以根据终端的设备信息检测终端是否属于合法终端,若是,则允许终端登陆;若否,则不允许终端登陆。
当终端将防火墙验证路径传入验墙脚本时,验墙脚本会通过防火墙验证路径中源地址对应的主机,向防火墙验证路径中的服务地址-端口发送验证消息。当接收到对应的服务地址-端口返回的连接成功信息,则确定当前验证的主机与该端口之间的防火墙为开通状态;而如果接收到返回的连接超时信息或连接拒绝信息,则确定验证的主机与该端口之间的防火墙为断开状态,即没有开通防火墙或防火墙出现了故障。
在对所有防火墙验证路径上的防火墙进行验证后,得到每个所述防火墙验证路径对应的验证结果,并将验证结果显示在防火墙验证应用上,以供用户查看。其中,验证结果可包括防火墙处于开通状态或断开状态。
这样,不需要人工分别在主机集群中每个主机上执行防火墙验证操作,只需利用防火墙验证应用登陆目标主机,并发出验证指令,即可实现一键验证主机集群中所有主机对应的防火墙状态,从而在保证主机集群的安全性的情况下,提高了对各主机的防火墙验证的便捷性,也有效地提高了对各主机的防火墙验证的验证效率。
在一实施例中,在上述实施例基础上,所述调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果的步骤之后,还包括:
步骤S60、将所述验证结果为断开状态的防火墙作为目标防火墙。
步骤S61、对所述目标防火墙进行修复。
本实施例中,在得到所述防火墙验证路径上的防火墙的验证结果后,用户可以基于验证应用发出防火墙修复命令。
可选的,终端在接收到防火墙修复命令时,获取结果为断开状态的验证结果,并根据这些验证结果对应的防火墙验证路径,获取防火墙验证路径上的防火墙作为目标防火墙。
可选的,然后根据目标防火墙对应的防火墙验证路径,进一步确定防火墙验证路径中的源地址对应的主机,并将确定得到的主机更新为第二目标主机。需要说明的是,将步骤S10所述的目标主机记为第一目标主机,且当第一目标主机存在需要修复的防火墙时,可将第一目标主机更新为第二目标主机,而主机集群中的其他主机当存在需要修复的防火墙时,亦可更新为第二目标主机。
可选的,登陆第二目标主机,并根据目标防火墙的防火墙验证路径,对第二目标主机对应的目标防火墙进行修复或重新配置,以保证目标防火墙恢复为开通状态。
可选的,第一目标主机的账户信息和登陆密码,可以是属于一个预设账户的,该预设账户的账户信息和登陆密码可用于登陆主机集群中的所有主机。终端只需第一目标主机的账户信息和登陆密码,即可登陆主机集群中的其他主机。或者,主机集群中的各个主机相互间均向彼此授权有防火墙验证权限,终端可以通过登陆第一目标主机,从而获取其他主机的登陆权限。
这样,通过及时修复处于断开状态的防火墙,提高了主机集群内部主机与外部服务节点之间通信的安全性。
在一实施例中,在上述实施例基础上,所述调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果的步骤之后,还包括:
步骤S70、接收到防火墙修复命令时,检测所述账户信息对应的权限等级是否小于预设权限等级;
步骤S71、若否,执行所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤。
本实施例中,预先为不同账户设置有对应的权限等级。例如,设置普通账户的权限等级为低等级,且普通账户只拥有登陆目标主机并发出防火墙验证命令的权限;设置权限等级为中等级的账户,拥有登陆目标主机并发出防火墙验证命令的权限,以及拥有发出防火墙修复命令的权限;设置权限等级为高等级的账户,拥有登陆目标主机并发出防火墙验证命令的权限,以及拥有发出防火墙修复命令的权限,以及拥有一些关键的系统管理权限。
可选的,当终端接收到防火墙修复命令时,则检测之前输入的第一目标主机的账户信息所对应的账户关联的权限等级,是否小于预设权限等级。可选的,预设权限等级可以根据实际情况需要设置,如当权限等级包括上述所述的低等级、中等级和高等级时,设置预设权限等级为中等级。
可选的,当终端检测到该账户信息对应的账户关联的权限等级高于或等于预设权限等级时,则执行所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤(即步骤S60),并通过依次执行步骤S60-S61,执行防火墙修复命令,以保证目标防火墙恢复为开通状态。
可选的,当终端检测到该账户信息对应的账户关联的权限等级低于预设权限等级时,则终端不执行防火墙修复命令,并输出提示信息,以提示用户当前账户权限过低,或者提示用户输入更高权限等级的账户信息和登陆密码。
这样,为了提高安全性,设定用户要发出防火墙修复命令需要具有更高的账户权限,此时用户需要输入比之前的账户信息对应的权限更高的账户信息和登陆密码,通过使用更高权限的账户信息和登陆密码,登陆需要修复防火墙的主机,从而发出防火墙修复命令。
例如用户之前输入的账户信息和登陆密码是属于预设账户的,预设账户具有发出防火墙验证命令的权限,而不具备发出防火墙状态更改命令(如防火墙修复命令)的权限,此时用户需要使用比预设账户更高权限的重要账户,并通过输入重要账户对应的账户信息和登陆密码,登陆需要修复防火墙的主机,并发出防火墙修复命令。
这样,通过设定发出防火墙修复命令需具有比防火墙测试命令更高的账户权限,降低了防火墙状态遭到非法篡改的可能。
在一实施例中,在上述实施例基础上,所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤之后,还包括:
步骤S80、确定所述目标防火墙对应的主机,并获取确定得到的主机的账户信息和登陆密码。
步骤S81、基于所述确定得到的主机的账户信息和登陆密码登陆对应的主机后,执行所述对所述目标防火墙进行修复的步骤。
本实施例中,终端根据目标防火墙对应的防火墙验证路径,进一步确定防火墙验证路径中的源地址对应的主机,并将确定得到的主机更新为第二目标主机。需要说明的是,将步骤S10所述的目标主机记为第一目标主机,且当第一目标主机存在需要修复的防火墙时,可将第一目标主机更新为第二目标主机,而主机集群中的其他主机当存在需要修复的防火墙时,亦可更新为第二目标主机。
进一步地,终端在得到第二目标主机的主机信息后,输出主机信息,并提示用户输入这些主机信息对应的第二目标主机的账户信息和登陆密码。应当理解的是,若第二目标主机只包括第一目标主机,则终端直接根据之前获取到的第一目标主机的账户信息和登陆密码登陆第二目标主机;若第二目标主机除了第一目标主机还包括其他主机,则输出的主机信息不包括第一目标主机;若第二目标主机不包括第一目标主机,则输出的主机信息包括所有的第二目标主机。
可选的,当用户输入第二目标主机对应的账户信息和登陆密码后,则终端获取第二目标主机对应的账户信息和登陆密码,并基于获取到的账户信息和登陆密码登陆第二目标主机。
在终端可以登陆第二目标主机后,则执行所述对所述目标防火墙进行修复的步骤(即步骤S61),以对第二目标主机的目标防火墙进行修复,以保证目标防火墙恢复为开通状态。
这样,通过只在需要对目标防火墙进行修复时,获取相关主机的账户信息和登陆密码并登陆相关主机,而在对主机集群中所有主机对应的防火墙状态进行验证时则无需逐一获取各个主机的账户信息和登陆密码,这样在提高了对内部主机集群与外部服务集群之间的防火墙进行验证的效率的同时,也降低了防火墙状态遭到非法篡改的可能。
在一实施例中,在上述实施例基础上,所述防火墙验证方法还包括:
步骤S90、在接收所述目标主机的登陆密码时,禁用密码回显功能。
本实施例中,为了避免输入登陆密码在终端显示时可能会引发安全问题,在验证应用中可以使用python语言中的getpass模块获取用户输入的登陆密码。getpass模块代码简洁,使用方便,在linux下使用getpass模块中的 getpass.getpass方法可以显示提示符,并关闭密码回显功能,然后读取登陆密码。
这样,当用户基于验证应用输入目标主机的登陆密码时,getpass模块就会被调用,通过getpass模块就可以读取到目标主机的登陆密码,并可禁用密码回显功能,使得用户输入的登陆密码不会以明码方式显示在输入界面中。
这样,可以提高用户使用验证应用的安全性,避免发生密码泄露。
参照图2,本申请实施例中还提供一种防火墙验证装置10,包括:
登陆模块11,用于接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;
获取模块12,用于使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,其中,所述服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息;
生成模块13,用于根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;
确定模块14,用于确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;
验证模块15,用于调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于防火墙验证程序。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种防火墙验证方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质包括防火墙验证程序,所述防火墙验证程序被处理器执行时实现如以上实施例所述的防火墙验证方法的步骤。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的防火墙验证方法、防火墙验证装置、计算机设备和存储介质,接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息;根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果。这样,不需要人工分别在主机集群中每个主机上执行防火墙验证操作,只需利用防火墙验证应用登陆主机集群中的一个目标主机,即可实现一键验证主机集群中所有主机对应的防火墙状态,从而在保证主机集群的安全性的情况下,提高了对各主机的防火墙验证的便捷性,也有效地提高了对各主机的防火墙验证的验证效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM) 或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM (SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM (SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (8)

1.一种防火墙验证方法,其特征在于,包括:
接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;
使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,其中,所述服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息;基于python语言中的argparse模块的应用,实现批量获取目标主机传输的源地址和服务集群信息,并对获取到的信息进行分类,通过提高数据处理的效率,从而达到提高验证防火墙的效率的目的;
根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;
确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;
调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果;
所述利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机的步骤之后,还包括:
向所述目标主机发送防火墙验证命令,所述目标主机在接收到所述防火墙验证命令时,则获取所述主机集群中各主机对应的源地址和所述服务集群信息进行数据传输;
检测到所述目标主机进行数据传输时,则执行所述使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息的步骤;
所述主机集群中各主机的存储端为区块链节点,所述区块链节点用于将所述区块链节点对应的主机本端的源地址,以及与本端交互的服务节点对应的服务地址和端口信息,以块链式账本的方式进行存储;所述目标主机基于本端对应的所述区块链节点,获取所述主机集群中各主机对应的源地址,以及所述服务集群信息。
2.如权利要求1所述的防火墙验证方法,其特征在于,所述调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果的步骤之后,还包括:
将所述验证结果为断开状态的防火墙作为目标防火墙;
对所述目标防火墙进行修复。
3.如权利要求2所述的防火墙验证方法,其特征在于,所述调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果的步骤之后,还包括:
接收到防火墙修复命令时,检测所述账户信息对应的权限等级是否小于预设权限等级;
若否,执行所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤。
4.如权利要求2所述的防火墙验证方法,其特征在于,所述将所述验证结果为断开状态的防火墙作为目标防火墙的步骤之后,还包括:
确定所述目标防火墙对应的主机,并获取确定得到的主机的账户信息和登陆密码;
基于所述确定得到的主机的账户信息和登陆密码登陆对应的主机后,执行所述对所述目标防火墙进行修复的步骤。
5.如权利要求1所述的防火墙验证方法,其特征在于,所述防火墙验证方法还包括:
在接收所述目标主机的登陆密码时,禁用密码回显功能。
6.一种防火墙验证装置,其特征在于,包括:
登陆模块,用于接收到目标主机的账户信息和登陆密码时,利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机;
获取模块,用于使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息,其中,所述服务集群信息包括服务集群中各服务节点对应的服务地址和端口信息;基于python语言中的argparse模块的应用,实现批量获取目标主机传输的源地址和服务集群信息,并对获取到的信息进行分类,通过提高数据处理的效率,从而达到提高验证防火墙的效率的目的;
生成模块,用于根据多个所述源地址生成第一列表,以及根据多个所述服务集群信息生成第二列表;
确定模块,用于确定所述第一列表和所述第二列表之间的笛卡尔积,并根据所述笛卡尔积确定每个所述主机对应的防火墙验证路径;
验证模块,用于调用预设的验墙脚本测试每个所述防火墙验证路径上的防火墙是否开通,得到每个所述防火墙验证路径对应的验证结果;
所述利用远程连接组件根据所述账户信息和所述登陆密码登陆所述目标主机的步骤之后,还包括:
向所述目标主机发送防火墙验证命令,所述目标主机在接收到所述防火墙验证命令时,则获取所述主机集群中各主机对应的源地址和所述服务集群信息进行数据传输;
检测到所述目标主机进行数据传输时,则执行所述使用参数解析模块批量获取所述目标主机所在的主机集群中各主机对应的源地址,以及所述主机集群对应的服务集群信息的步骤;
所述主机集群中各主机的存储端为区块链节点,所述区块链节点用于将所述区块链节点对应的主机本端的源地址,以及与本端交互的服务节点对应的服务地址和端口信息,以块链式账本的方式进行存储;所述目标主机基于本端对应的所述区块链节点,获取所述主机集群中各主机对应的源地址,以及所述服务集群信息。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的防火墙验证程序,所述防火墙验证程序被所述处理器执行时实现如权利要求1至5中任一项所述的防火墙验证方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有防火墙验证程序,所述防火墙验证程序被处理器执行时实现如权利要求1至5中任一项所述的防火墙验证方法的步骤。
CN202011249553.2A 2020-11-10 2020-11-10 防火墙验证方法、装置、计算机设备及存储介质 Active CN112383536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011249553.2A CN112383536B (zh) 2020-11-10 2020-11-10 防火墙验证方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011249553.2A CN112383536B (zh) 2020-11-10 2020-11-10 防火墙验证方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112383536A CN112383536A (zh) 2021-02-19
CN112383536B true CN112383536B (zh) 2022-11-04

Family

ID=74578199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011249553.2A Active CN112383536B (zh) 2020-11-10 2020-11-10 防火墙验证方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112383536B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965374A (zh) * 2021-10-20 2022-01-21 平安普惠企业管理有限公司 基于内网的防火墙验证方法及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714997A (zh) * 2010-01-15 2010-05-26 中国工商银行股份有限公司 防火墙策略生成方法、装置及系统
CN108494771A (zh) * 2018-03-23 2018-09-04 平安科技(深圳)有限公司 电子装置、防火墙开通验证方法及存储介质
CN110035086A (zh) * 2019-04-19 2019-07-19 平安科技(深圳)有限公司 防火墙验证方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714997A (zh) * 2010-01-15 2010-05-26 中国工商银行股份有限公司 防火墙策略生成方法、装置及系统
CN108494771A (zh) * 2018-03-23 2018-09-04 平安科技(深圳)有限公司 电子装置、防火墙开通验证方法及存储介质
CN110035086A (zh) * 2019-04-19 2019-07-19 平安科技(深圳)有限公司 防火墙验证方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112383536A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN108989355B (zh) 一种漏洞检测方法和装置
WO2019144549A1 (zh) 漏洞测试方法、装置、计算机设备和存储介质
CN104468632A (zh) 防御漏洞攻击的方法、设备及系统
KR20090090685A (ko) 웹 어플리케이션의 취약성 판단 방법 및 시스템
CN111353151B (zh) 一种网络应用的漏洞检测方法和装置
CN107004092B (zh) 针对网络和脆弱性扫描仪的控制设备和方法
CN112039868A (zh) 防火墙策略验证方法、装置、设备及存储介质
CN106060072B (zh) 认证方法以及装置
CN111431753A (zh) 一种资产信息更新方法、装置、设备及存储介质
CN113868659B (zh) 一种漏洞检测方法及系统
CN108259514A (zh) 漏洞检测方法、装置、计算机设备和存储介质
CN112383535B (zh) 哈希传递攻击行为的检测方法、装置和计算机设备
CN110597541A (zh) 基于区块链的接口更新处理方法、装置、设备及存储介质
WO2020211377A1 (zh) 防火墙验证方法、装置、计算机设备和存储介质
CN115701019A (zh) 零信任网络的访问请求处理方法、装置及电子设备
CN112383536B (zh) 防火墙验证方法、装置、计算机设备及存储介质
CN113965395B (zh) 一种实时安全访问内网的方法、系统及装置
CN107580002A (zh) 双因子认证安全管理机登录系统及方法
CN113868669A (zh) 一种漏洞检测方法及系统
CN112422527B (zh) 变电站电力监控系统的威胁评估系统、方法和装置
CN111314370B (zh) 一种业务漏洞攻击行为的检测方法及装置
CN113922975A (zh) 一种安全控制方法、服务器、终端、系统和存储介质
CN111800390A (zh) 异常访问检测方法、装置、网关设备及存储介质
CN113886837A (zh) 一种漏洞检测工具可信度验证方法和系统
CN113868670A (zh) 一种漏洞检测流程检验方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant