CN111984363B - Waf管理方法和系统 - Google Patents

Waf管理方法和系统 Download PDF

Info

Publication number
CN111984363B
CN111984363B CN201910425202.3A CN201910425202A CN111984363B CN 111984363 B CN111984363 B CN 111984363B CN 201910425202 A CN201910425202 A CN 201910425202A CN 111984363 B CN111984363 B CN 111984363B
Authority
CN
China
Prior art keywords
waf
information
instance
virtual machine
virtual
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
CN201910425202.3A
Other languages
English (en)
Other versions
CN111984363A (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.)
SF Technology Co Ltd
Original Assignee
SF Technology 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 SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201910425202.3A priority Critical patent/CN111984363B/zh
Publication of CN111984363A publication Critical patent/CN111984363A/zh
Application granted granted Critical
Publication of CN111984363B publication Critical patent/CN111984363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种WAF管理方法和系统,其中方法包括:接收前端发送的WAF实例创建请求;根据WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;根据确定的WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;将各WAF组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;本申请在WAF实例的创建时候,可直接从资源池调用虚拟机和虚拟IP,且通过设置独立的任务中心避免了临时定义和配置任务,进一步提高了WAF实例创建的效率。

Description

WAF管理方法和系统
技术领域
本公开一般涉及信息安全技术领域,具体涉及防火墙技术领域,尤其涉及WAF管理系统和系统。
背景技术
随着Web应用越来越丰富,传统的基于防火墙方式的安全防护面对多样化的Web攻击越来越乏力,由此产生了WAF(Web Application Firewall),Web应用防火墙其通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供安全性保证的产品。
WAF主要有两类:使用专用硬件的硬件WAF和使用通用服务器+软件的软件WAF。由于硬件WAF价格较为昂贵、规则更新较慢、灵活性差且存在技术“黑盒”,而目前的软件WAF存在的技术问题如下:
软件WAF部署繁琐、使用不便;缺乏监控和日志。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种可自动部署和修改WAF实例,可展示WAF防护日志和监控数据的WAF管理系统和方法。
第一方面本申请提供一种WAF管理方法,包括以下步骤:
接收前端发送的WAF实例创建请求,WAF实例创建请求包括WAF实例规则与部署信息;
根据WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;
根据确定的WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;
根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;资源池中存储有从云平台预申请的虚拟IP及、可用虚拟机的虚拟机账号信息;
将各WAF组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;任务中心存储有任务名称信息及其对应的预定义任务;任务中心根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
根据本申请实施例提供的技术方案,根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP之后还包括:
将各虚拟机账号信息与各个WAF组件对应分配、将各虚拟IP与每种WAF组件对应分配;
将WAF实例名称信息及对应的WAF组件、与各WAF组件对应的虚拟机账号信息和虚拟IP存入WAF实例数据库。
根据本申请实施例提供的技术方案,还包括以下步骤:
接收前端发送的WAF实例修改请求,WAF实例修改请求包括WAF实例名称信息、WAF实例规则及部署修改信息;
根据WAF实例规则及部署修改信息提取需要修改的WAF组件的信息及对应的任务名称信息;
从WAF实例数据库中查询与WAF实例名称信息及需要修改的WAF组件对应的虚拟机账号信息和虚拟IP;
将提取的任务名称信息及对应的虚拟机账号信息发送至任务中心;任务中心根据根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
根据本申请实施例提供的技术方案,还包括以下步骤:
接收前端发送的WAF实例扩容请求,WAF实例扩容请求包括WAF实例名称信息和需要扩容的WAF组件的扩容数量信息;
根据需要扩容的WAF组件的扩容数量信息确定扩容虚拟机数量;
根据确定的扩容虚拟机数量从资源池中获取数量相应的虚拟机账号信息;
从WAF实例数据库中获取与WAF实例名称信息对应的各WAF组件的任务名称信息;
将获取的虚拟机账号信息及与需要扩容的WAF组件的任务名称信息发送至任务中心,任务中心根据与需要扩容的WAF组件对应的虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
根据本申请实施例提供的技术方案,还包括以下步骤:
接收前端发送的WAF实例缩容请求,WAF实例缩容请求包括WAF实例名称信息和需要缩容的WAF组件的缩容数量信息;
从WAF实例数据库中获取与WAF实例名称信息对应的需要缩容的WAF组件的虚拟机账号信息;
清理与虚拟机账号信息对应的虚拟机上的程序;
将获取的虚拟机账号信息存入资源池中。
根据本申请实施例提供的技术方案,还包括以下步骤:
接收前端发送的日志数据读取请求,日志数据读取请求包括WAF实例名称信息;
从ELK套件内读取与WAF实例名称信息对应的日志数据,并返回给前端;ELK套件用于通过kafka套件获取各WAF实例中各WAF组件对应的虚拟机的日志数据。
根据本申请实施例提供的技术方案,还包括以下步骤:
接收前端发送的监控数据读取请求,监控数据读取请求包括WAF实例名称信息;
从ELK套件内读取与WAF实例名称信息对应的监控数据,并返回给前端;ELK套件用于通过kafka套件获取各WAF实例的WAF组件对应的虚拟机的监控数据。
根据本申请实施例提供的技术方案,还包括以下步骤:
接收前端发送的WAF实例开/关请求,WAF实例开/关请求包括WAF实例名称信息;
从WAF实例数据库中获取与WAF实例名称信息对应的用于控制开/关的WAF组件及对应的控制开/关的任务名称信息,确定与控制开/关的WAF组件对应的虚拟机账号信息;
将获取的虚拟机账号信息及控制开/关的任务名称信息发送至任务中心,任务中心根据与控制开/关的WAF组件对应的虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
第二方面,本申请还提供一种WAF管理系统,包括:
WAF后端,配置用于:
接收前端发送的WAF实例创建请求,WAF实例创建请求包括WAF实例名称信息、WAF实例规则与部署信息;
根据WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;
根据WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;
根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;
资源池,配置用于从云平台预申请的虚拟IP及、虚拟机的虚拟机账号信息;
WAF后端,还配置用于:
将各组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;
任务中心,存储有任务名称信息及其对应的预定义任务,配置用于:
根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
根据本申请实施例提供的技术方案,WAF后端还配置用于:
将各虚拟机账号信息与各个WAF组件对应分配、将各虚拟IP与每种WAF组件对应分配;
将WAF实例名称信息及对应的WAF组件、与各WAF组件对应的虚拟机账号信息和虚拟IP存入WAF实例数据库。
根据本申请实施例提供的技术方案,WAF后端还配置用于:
接收前端发送的WAF实例修改请求,WAF实例修改请求包括WAF实例名称信息、WAF实例规则及部署修改信息;
根据WAF实例规则及部署修改信息提取需要修改的WAF组件的信息及对应的任务名称信息;
从WAF实例数据库中查询与WAF实例名称信息及需要修改的WAF组件对应的虚拟机账号信息和虚拟IP;
根据提取的任务名称信息及其对应的虚拟机账号信息和虚拟IP;
将提取的任务名称信息及对应的虚拟机账号信息发送至任务中心;
任务中心还配置用于:
根据根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
第三方面,本申请还提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任意一种WAF管理方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质有计算机程序,计算机程序被处理器执行时实现如上述任意一种WAF管理方法的步骤。
本申请的上述技术方案,通过将WAF创建的前端和后端分离,并且建立相互独立的任务中心和资源池,各部分物理上相互独立,在创建WAF实例的时候,可直接从资源池调用虚拟机和虚拟IP,相对于现有的临时申请虚拟机和虚拟IP的技术方案,效率更高;且通过设置独立的任务中心,只需要根据任务名称调用预定义任务即可,避免了临时定义和配置任务,进一步提高了WAF实例创建的效率;各独立部分分工明确,配合灵活;
根据本申请实施例提供的技术方案,通过对前端、后端、资源池、任务中心及一些ELK套件和kafka套件的配合使用;实现了用户在前端一键建立和修改WAF实例,可自动收集、展示WAF实例日志、监控状态;实现了WAF实例的开关、扩容和缩容;实现了防护规则在线修改、更新、回退。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请第一种实施例的原理框图;
图2是本申请第二种实施例中WAF实例创建的流程图;
图3是本申请第二种实施例中WAF实例创建的另一实施例的流程图;
图4是本申请第三种实施例中WAF实例修改的流程图;
图5是本申请第四种实施例中WAF实例扩容的流程图;
图6是本申请第五种实施例中WAF实例缩容的流程图;
图7是本申请第六种实施例中WAF实例日志数据读取的流程图;
图8是本申请第七种实施例中WAF实例监控数据读取的流程图;
图9是本申请第八种实施例中WAF实例开/关的流程图;
图10是本申请第九种实施例中终端设备的原理框图。
图中标号:
100、前端;200、WAF后端;300、资源池;400、任务中心;
500、ELK套件;600、kafka套件;700、创新云。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例一:
请参考图1为本申请一种WAF管理系统一种实施例的原理框图,本实施例提供的WAF管理系统包括前端100、WAF后端200、任务中心400和资源池300;
前端100使用vue.js做为框架,Vue.js是用于构建交互式的Web(网页)界面的库;WAF后端200使用Python的flask做为框架;Flask是一个使用Python编写的轻量级Web应用框架。
WAF后端200设有api组件,例如设有为前端提供的restful-api接口,接收前端100发送的日志查询、统计、WAF实例创建、修改、状态监测等请求;api组件例如还可以设有给外部系统提供的api接口。
资源池300也是采用python语言的flask框架开发形成,为WAF后端200提供restful-api接口;资源池300通过云平台提供的接口从云平台申请、分配、回收vm和/vip。云平台例如可以是创新云700,在其他实施例中,也可以是kvm平台,kvm是Kernel-basedVirtual Machine的简称,翻译为基于内核的虚拟机管理平台。vm为虚拟服务器(或虚拟机)的简称,vip为虚拟ip,即虚拟地址,几台相同功能的vm可以共用一个虚拟ip。
在本申请中,资源池300配置用于预申请一定数量的vm和vip,预申请的vm账号信息(或虚拟机账号信息)和vip(虚拟IP)分别存在vm库和vip库,随着WAF后端200随时从vm库和vip库中调取vm和vip;资源池300动态调整着vm和vip库存。
任务中心400采用python语言的flask框架加ansible模块开发形成,ansible是使用python开发的自动化运维工具,任务中心400为WAF后端200提供restful-api接口;接收WAF后端200的指令对vm进行部署和修改配置。
例如,用户在浏览器上创建WAF实例,由前端100通过restful-api接口发送到WAF后端200;
WAF是Web应用防护系统,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的系统。WAF实例是具备WAF功能的所有组件的集合,WAF组件包括三大种类:一种是waf_client,第二种是waf_server,第三种是rsa_server;每一种类的WAF组件都可以根据容量和规则部署信息配置多台vm;
waf_client用于接收HTTP/HTTPS请求,当请求为HTTPS类型的时候,表示该请求为加密类型,将请求转发给rsa_server进行证书解密;
rsa_server再将解密后的HTTPS请求发回至waf_client,waf_client再将解密后的HTTPS请求转发至waf_server;
waf_server判断该请求是否属于需要被拦截的请求,若是,则将预定义的40拦截页面返回至请求发起端;若不是,则将该请求发送至网页服务器;网页服务器再将网页通过waf_client返回至请求端显示。
属于同一种类WAF组件的vm共用一个VIP,例如本实施例中,多个waf_client和LVS共用一个虚拟IP,多个waf_server共用一个虚拟IP;多个rsa_server共用一个虚拟IP。LVS和waf_client为同类的反向代理服务器,用于处理TCP请求。
因此,WAF实例就是对设立了指定规则和按照指定要求部署后的vm的集合。
优选地,本系统还使用了Kafka套件600和ELK套件500;ELK套件500的主要组件有filebeat、heartbeat、elasticsearch、logstach kibana和sentinl的简称,kafka套件600采用zookeeper kafka。
filebeat为一种日志文件托运工具、heartbeat为轻量级的服务状态采集器elasticsearch是一个基于Lucene的搜索服务器;logstach是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据;Kibana是一个开源的分析和可视化平台,旨在与Elasticsearch合作,Kibana提供搜索、查看和与存储在Elasticsearch索引中的数据进行交互的功能,开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据;sentinl插件是个对数据进行监控报警的模块,可以实现对于Kibana的一些数据的某些字段进行持续关注,通过报警的手段就可以大幅提升对这些信息状态了解的及时性及可靠性。
所述ELK套件500内的filebeat组件,用于从WAF实例各大组件打印到的文件中读取日志数据通过Kafka套件存储到ELK套件500的elasticsearch中;具体为WAF实例各大组件自动打印日志到文件。filebeat模块直接从各大组件的文件中采集WAF实例各组件的日志数据,发送到kafka套件600的kafka指定的队列中;logstash消费kafka队列中的数据,将数据序列化、格式化以后,发送到elasticsearch进行存储。
所述ELK套件500内的heartbeat组件,采集WAF实例所应用的网址的监控数据,发送到kafka套件600内kafka指定的队列中;ELK套件500中的logstash消费kafka队列中的数据、将数据序列化、格式化以后,发送到elasticsearch中存储;所述监控数据为tcp端口状态信息。在本实施例中,ELK套件500中的kibana会实时读取elasticsearch中的数据,使用sentinl插件对监控数据进行检查,对出现的异常情况进行告警。
优选地,在本实施例中,所述WAF后端200还设置有权限管理模块,配置用于判断前端用户具有与其请求对应的权限时处理该用户的请求。例如,对于用户在前端发送的WAF实例的规则修改请求的时候,权限管理模块优先判断该用户是否有修改的权限,在具有修改权限的时候才执行修改的动作。
在其他实施例中,当用户删除WAF实例的时候,该WAF实例对应的vm账号信息和vip将被释放回到资源池的vm库和vip库中,此时资源池还配置用于回收vm账号信息和vip;当多个WAF实例同时创建的时候,资源池配置用于在预申请的vm账号信息和vip选择具体分配给哪个WAF实例。
对于本实施例中的WAF后端200,还设置有用于存储前端用户的id信息、权限信息及其对应的WAF实例的规则信息以及WAF实例状态的信息的数据库MYSQL。
在本实施例中,资源池、任务中心、KAFKA套件和ELK套件可以是嵌入在WAF后端的独立设置的模块,也可以是分别安装在独立的服务器上。
实施例二:
基于本申请提供的上述WAF管理系统的基本部署,本申请提供的WAF管理方法的第一种实施例如图2所示:
本实施例提供的WAF管理方法用于创建WAF实例的过程,包括以下步骤:
s110、接收前端发送的WAF实例创建请求,WAF实例创建请求包括WAF实例规则与部署信息;
s120、根据WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;例如,本实施例中的waf实例创建请求中创建了一个具有2个WAF组件waf_client、2个WAF组件waf_server和2个WAF组件rsa_server的waf实例创建请求;例如对应WAF组件waf_client的任务名称信息为deploy_waf_client;
s130、根据确定的WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;例如对应步骤s120对应每个WAF组件waf_client、每个WAF组件waf_server及每个WAF组件rsa_server均申请一个vm,基于网页请求的基本反向代理的基础服务,还需要的2个LVS,每个LVS需要申请一个vm,因此本实施例中需要申请8个vm,对应每种WAF组件申请一个VIP,因此vip的数量为3个;
s140、根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;资源池中存储有从云平台预申请的虚拟IP及、可用虚拟机的虚拟机账号信息;因此本实施例中,需要从资源池中申请8个虚拟机账号信息和3个虚拟IP;
s150、将各WAF组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;任务中心存储有任务名称信息及其对应的预定义任务;任务中心根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
任务中心以列表的方式存储有任务名称及对应的预定义任务:
例如对应任务名称信息为任务名称信息为deploy_waf_client的预定义任务如下表1所示:
表1waf_client程序部署和启动,包括如下步骤:1.创建应用目录;2.上传waf_client程序包;3.检测系统版本;4.上传配置文件;5.上传启动脚本;6.启动waf_client程序。LVS基础服务、日志和监控收集等任务,包括如下步骤:1.安装jdk(Java语言的软件开发工具包);2.安装LVS基础服务;3.配置logrotate(日志文件管理工具)做日志切割;4.安装日志收集组件;5.安装状态监控组件。
优选地,如图3所示,根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP之后还包括:
s160、将各虚拟机账号信息与各个WAF组件对应分配、将各虚拟IP与每种WAF组件对应分配;
s170、将WAF实例名称信息及对应的WAF组件、与各WAF组件对应的虚拟机账号信息和虚拟IP存入WAF实例数据库。
WAF实例数据库(也叫MYSQL)中存储有WAF实例名称信息及对应的waf_client、LVS、waf_server及rsa_server的虚拟机账号信息、及对应的虚拟IP:
例如WAF实例数据库中存储的waf实例1的基础信息如下表2所示:
表2
实施例三:
如图4所示,本实施例在实施例一的基础上进一步提供WAF实例的修改方法:根据本申请实施例提供的技术方案,还包括以下步骤:
s210、接收前端发送的WAF实例修改请求,WAF实例修改请求包括WAF实例名称信息、WAF实例规则及部署修改信息;
s220、根据WAF实例规则及部署修改信息提取需要修改的WAF组件的信息及对应的任务名称信息;
s230、从WAF实例数据库中查询与WAF实例名称信息及需要修改的WAF组件对应的虚拟机账号信息和虚拟IP;
s240、将提取的任务名称信息及对应的虚拟机账号信息发送至任务中心;任务中心根据根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
实施例四:
如图5所示,本实施例在实施例一的基础上进一步提供WAF实例的扩容方法:还包括以下步骤:
s310、接收前端发送的WAF实例扩容请求,WAF实例扩容请求包括WAF实例名称信息和需要扩容的WAF组件的扩容数量信息;
s320、根据需要扩容的WAF组件的扩容数量信息确定扩容虚拟机数量;
s330、根据确定的扩容虚拟机数量从资源池中获取数量相应的虚拟机账号信息;
s340、从WAF实例数据库中获取与WAF实例名称信息对应的各WAF组件的任务名称信息;
s350、将获取的虚拟机账号信息及与需要扩容的WAF组件的任务名称信息发送至任务中心,任务中心根据与需要扩容的WAF组件对应的虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
实施例五:
如图6所示,本实施例在实施例一的基础上进一步提供WAF实例的缩容方法:还包括以下步骤:
s410、接收前端发送的WAF实例缩容请求,WAF实例缩容请求包括WAF实例名称信息和需要缩容的WAF组件的缩容数量信息;
s420、从WAF实例数据库中获取与WAF实例名称信息对应的需要缩容的WAF组件的虚拟机账号信息;
s430、清理与虚拟机账号信息对应的虚拟机上的程序;
s440、将获取的虚拟机账号信息存入资源池中。
实施例六
如图7所示,本实施例在实施例一的基础上进一步提供WAF实例的日志数据读取方法:还包括以下步骤:
s510、接收前端发送的日志数据读取请求,日志数据读取请求包括WAF实例名称信息;
s520、从ELK套件内读取与WAF实例名称信息对应的日志数据,并返回给前端;ELK套件用于通过kafka套件获取各WAF实例中各WAF组件对应的虚拟机的日志数据。
实施例七
如图8所示,本实施例在实施例一的基础上进一步提供WAF实例的监控数据读取方法:还包括以下步骤:
s610、接收前端发送的监控数据读取请求,监控数据读取请求包括WAF实例名称信息;
s620、从ELK套件内读取与WAF实例名称信息对应的监控数据,并返回给前端;ELK套件用于通过kafka套件获取各WAF实例的WAF组件对应的虚拟机的监控数据。
实施例八
如图9所示,本实施例在实施例一的基础上进一步提供WAF实例的监控数据读取方法:还包括以下步骤:
s710、接收前端发送的WAF实例开/关请求,WAF实例开/关请求包括WAF实例名称信息;
s720、从WAF实例数据库中获取与WAF实例名称信息对应的用于控制开/关的WAF组件及对应的控制开/关的任务名称信息,确定与控制开/关的WAF组件对应的虚拟机账号信息;
s730、将获取的虚拟机账号信息及控制开/关的任务名称信息发送至任务中心,任务中心根据与控制开/关的WAF组件对应的虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
因此,根据本申请上述技术方案,实现了在waf前端创建、修改、扩容、缩容waf实例;并且可以实时读取waf实例的日志数据和监控状态数据;给用户提供了方便,同时由于本申请采用的独立的资源池和任务中心,提高了waf实例管理的效率。
实施例九
本申请还提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述实施例二至实施例八所示的WAF管理方法的步骤。
如图10所示:终端设备包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明的实施例,上文参考流程图2至图10描述的过程可以被实现为计算机软件程序。例如,本发明的实施例二至八包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例一至八的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一生成模块、获取模块、查找模块、第二生成模块及合并模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块还可以被描述为“用于在该基础表中获取多个待探测实例的获取模块”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的货物集中派送方法。
例如,所述电子设备可以实现如图2中所示的:s110、接收前端发送的WAF实例创建请求,WAF实例创建请求包括WAF实例规则与部署信息;s120、根据WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;s130、根据确定的WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;s140、根据确定的虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;资源池中存储有从云平台预申请的虚拟IP及、可用虚拟机的虚拟机账号信息;因此本实施例中,需要从资源池中申请8个虚拟机账号信息和3个虚拟IP;s150、将各WAF组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;任务中心存储有任务名称信息及其对应的预定义任务;任务中心根据虚拟IP,将与任务名称信息对应的预定义任务发送至与虚拟机账号信息对应的虚拟机执行。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种WAF管理方法,其特征在于,包括以下步骤:
接收前端发送的WAF实例创建请求,所述WAF实例创建请求包括WAF实例规则与部署信息;
根据所述WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;
根据确定的所述WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;
根据确定的所述虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;所述资源池中存储有从云平台预申请的虚拟IP及、可用虚拟机的虚拟机账号信息;
将各WAF组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;所述任务中心存储有任务名称信息及其对应的预定义任务;所述任务中心根据所述虚拟IP,将与所述任务名称信息对应的预定义任务发送至与所述虚拟机账号信息对应的虚拟机执行。
2.根据权利要求1所述的WAF管理方法,其特征在于,根据确定的所述虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP之后还包括:
将各虚拟机账号信息与各个WAF组件对应分配、将各虚拟IP与每种WAF组件对应分配;
将WAF实例名称信息及对应的WAF组件、与各WAF组件对应的虚拟机账号信息和虚拟IP存入WAF实例数据库。
3.根据权利要求2所述的WAF管理方法,其特征在于,还包括以下步骤:
接收前端发送的WAF实例修改请求,所述WAF实例修改请求包括WAF实例名称信息、WAF实例规则及部署修改信息;
根据所述WAF实例规则及部署修改信息提取需要修改的WAF组件的信息及对应的任务名称信息;
从WAF实例数据库中查询与所述WAF实例名称信息及需要修改的WAF组件对应的虚拟机账号信息和虚拟IP;
将提取的所述任务名称信息及对应的虚拟机账号信息发送至任务中心;所述任务中心根据所述虚拟IP,将与所述任务名称信息对应的预定义任务发送至与所述虚拟机账号信息对应的虚拟机执行。
4.根据权利要求1至3任意一项所述的WAF管理方法,其特征在于,还包括以下步骤:
接收前端发送的WAF实例扩容请求,所述WAF实例扩容请求包括WAF实例名称信息和需要扩容的WAF组件的扩容数量信息;
根据需要扩容的WAF组件的扩容数量信息确定扩容虚拟机数量;
根据确定的所述扩容虚拟机数量从所述资源池中获取数量相应的虚拟机账号信息;
从WAF实例数据库中获取与所述WAF实例名称信息对应的各WAF组件的任务名称信息;
将获取的虚拟机账号信息及需要扩容的WAF组件的任务名称信息发送至任务中心,所述任务中心根据与需要扩容的WAF组件对应的虚拟IP,将与所述任务名称信息对应的预定义任务发送至与所述虚拟机账号信息对应的虚拟机执行。
5.根据权利要求1至3任意一项所述的WAF管理方法,其特征在于,还包括以下步骤:
接收前端发送的WAF实例缩容请求,所述WAF实例缩容请求包括WAF实例名称信息和需要缩容的WAF组件的缩容数量信息;
从WAF实例数据库中获取与所述WAF实例名称信息对应的需要缩容的WAF组件的虚拟机账号信息;
清理与所述虚拟机账号信息对应的虚拟机上的程序;
将获取的所述虚拟机账号信息存入所述资源池中。
6.根据权利要求1至3任意一项所述的WAF管理方法,其特征在于,还包括以下步骤:
接收前端发送的日志数据读取请求,所述日志数据读取请求包括WAF实例名称信息;
从ELK套件内读取与所述WAF实例名称信息对应的日志数据,并返回给所述前端;所述ELK套件用于通过kafka套件获取各WAF实例中各WAF组件对应的虚拟机的日志数据。
7.根据权利要求1至3任意一项所述的WAF管理方法,其特征在于,还包括以下步骤:
接收前端发送的监控数据读取请求,所述监控数据读取请求包括WAF实例名称信息;
从ELK套件内读取与所述WAF实例名称信息对应的监控数据,并返回给所述前端;所述ELK套件用于通过kafka套件获取各WAF实例的WAF组件对应的虚拟机的监控数据。
8.根据权利要求1至3任意一项所述的WAF管理方法,其特征在于,还包括以下步骤:
接收前端发送的WAF实例开/关请求,所述WAF实例开/关请求包括WAF实例名称信息;
从WAF实例数据库中获取与所述WAF实例名称信息对应的用于控制开/关的WAF组件及对应的控制开/关的任务名称信息,确定与控制开/关的WAF组件对应的虚拟机账号信息;
将获取的虚拟机账号信息及控制开/关的任务名称信息发送至任务中心,所述任务中心根据与控制开/关的WAF组件对应的虚拟IP,将与所述任务名称信息对应的预定义任务发送至与所述虚拟机账号信息对应的虚拟机执行。
9.一种WAF管理系统,其特征在于,包括:
WAF后端,配置用于:
接收前端发送的WAF实例创建请求,所述WAF实例创建请求包括WAF实例名称信息、WAF实例规则与部署信息;
根据所述WAF实例规则及部署信息确定各WAF组件的数量信息、与各WAF组件对应的任务名称信息;
根据所述WAF组件的数量信息确定虚拟机数量信息和虚拟IP数量信息;
根据确定的所述虚拟机数量信息和虚拟IP数量信息从资源池提取对应数量的虚拟机账号信息和虚拟IP;
资源池,配置用于存储从云平台预申请的虚拟IP及、虚拟机的虚拟机账号信息;
所述WAF后端,还配置用于:
将各组件的任务名称信息及对应的虚拟机账号信息发送至任务中心;
任务中心,存储有任务名称信息及其对应的预定义任务,配置用于:
根据所述虚拟IP,将与所述任务名称信息对应的预定义任务发送至与所述虚拟机账号信息对应的虚拟机执行。
10.根据权利要求9所述的WAF管理系统,其特征在于,
所述WAF后端还配置用于:
将各虚拟机账号信息与各个WAF组件对应分配、将各虚拟IP与每种WAF组件对应分配;
将WAF实例名称信息及对应的WAF组件、与各WAF组件对应的虚拟机账号信息和虚拟IP存入WAF实例数据库。
11.根据权利要求10所述的WAF管理系统,其特征在于,所述WAF后端还配置用于:
接收前端发送的WAF实例修改请求,所述WAF实例修改请求包括WAF实例名称信息、WAF实例规则及部署修改信息;
根据所述WAF实例规则及部署修改信息提取需要修改的WAF组件的信息及对应的任务名称信息;
从WAF实例数据库中查询与所述WAF实例名称信息及需要修改的WAF组件对应的虚拟机账号信息和虚拟IP;
根据提取的所述任务名称信息及其对应的虚拟机账号信息和虚拟IP;
将提取的所述任务名称信息及对应的虚拟机账号信息发送至任务中心;
所述任务中心还配置用于:
根据所述虚拟IP,将与所述任务名称信息对应的预定义任务发送至与所述虚拟机账号信息对应的虚拟机执行。
CN201910425202.3A 2019-05-21 2019-05-21 Waf管理方法和系统 Active CN111984363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910425202.3A CN111984363B (zh) 2019-05-21 2019-05-21 Waf管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910425202.3A CN111984363B (zh) 2019-05-21 2019-05-21 Waf管理方法和系统

Publications (2)

Publication Number Publication Date
CN111984363A CN111984363A (zh) 2020-11-24
CN111984363B true CN111984363B (zh) 2024-04-12

Family

ID=73436190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910425202.3A Active CN111984363B (zh) 2019-05-21 2019-05-21 Waf管理方法和系统

Country Status (1)

Country Link
CN (1) CN111984363B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224392A (zh) * 2015-10-13 2016-01-06 中国联合网络通信集团有限公司 一种虚拟计算资源配额管理方法及平台
CN107204963A (zh) * 2016-03-18 2017-09-26 上海有云信息技术有限公司 云计算模式下的高可靠性web安全防护实现方法
CN109408196A (zh) * 2018-09-27 2019-03-01 中国科学院电子学研究所 一种基于Xen的虚拟化管理系统、构建方法及计算机可读存储介质
CN109768892A (zh) * 2019-03-04 2019-05-17 中山大学 一种微服务化的网络安全实验系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277708B2 (en) * 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US20180129524A1 (en) * 2016-11-10 2018-05-10 International Business Machines Corporation Managing pre-allocated virtual machine instance pools

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224392A (zh) * 2015-10-13 2016-01-06 中国联合网络通信集团有限公司 一种虚拟计算资源配额管理方法及平台
CN107204963A (zh) * 2016-03-18 2017-09-26 上海有云信息技术有限公司 云计算模式下的高可靠性web安全防护实现方法
CN109408196A (zh) * 2018-09-27 2019-03-01 中国科学院电子学研究所 一种基于Xen的虚拟化管理系统、构建方法及计算机可读存储介质
CN109768892A (zh) * 2019-03-04 2019-05-17 中山大学 一种微服务化的网络安全实验系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
运营商管理云平台的虚拟化技术;孙希昀;;电子技术与软件工程(第05期);第193-194页 *

Also Published As

Publication number Publication date
CN111984363A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
US10735345B2 (en) Orchestrating computing resources between different computing environments
US9747093B2 (en) Device driver aggregation in operating system deployment
CN109684038B (zh) Docker服务容器日志的处理方法、装置和电子设备
US20180157844A1 (en) Consolidating static analysis tool warnings using dynamic programming
US20170147483A1 (en) Tracking asynchronous entry points for an application
US10009220B2 (en) In-vehicle information system and information processing method thereof
WO2018200961A1 (en) Hyper dynamic java management extension
CN111949484B (zh) 信息处理方法、装置、电子设备和介质
CN110221910B (zh) 用于执行mpi作业的方法和装置
US11924284B1 (en) Automated security, orchestration, automation, and response (SOAR) app generation based on application programming interface specification data
CN112394907A (zh) 基于容器的交付系统构建方法、应用交付方法和交付系统
CN111984363B (zh) Waf管理方法和系统
CN111698109A (zh) 监控日志的方法和装置
US20160277252A1 (en) High performance topology resolution for non-instrumented nodes
CN113568803B (zh) 用于监控存储系统的方法、电子设备和计算机程序产品
CN111274104B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN112860447A (zh) 一种不同应用间的交互方法和系统
JP2013012225A (ja) 名称特定プログラム、構成管理サーバおよび情報処理システム
CN111367762B (zh) 设备入侵检测方法、系统及电子设备
US11693720B1 (en) Deploying schematically enriched document content as representational state transfer application programming interfaces
Urias et al. Implications of cloud computing on digital forensics
CN115422012A (zh) 一种数据处理方法、装置、电子设备及计算机可读介质
CN114116847A (zh) 多区域服务的集中管理方法、装置、电子设备及存储介质
CN117667407A (zh) 负载均衡设备配置数据的获取方法、装置、设备和介质
CN116136857A (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