CN109960660A - 一种基于Ansible的电网业务入网安全测评方法 - Google Patents
一种基于Ansible的电网业务入网安全测评方法 Download PDFInfo
- Publication number
- CN109960660A CN109960660A CN201910292631.8A CN201910292631A CN109960660A CN 109960660 A CN109960660 A CN 109960660A CN 201910292631 A CN201910292631 A CN 201910292631A CN 109960660 A CN109960660 A CN 109960660A
- Authority
- CN
- China
- Prior art keywords
- ansible
- test
- electrical network
- evaluation method
- security evaluation
- 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.)
- Pending
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 16
- 230000006855 networking Effects 0.000 title claims abstract description 16
- 238000012360 testing method Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000008358 core component Substances 0.000 claims description 3
- 239000013589 supplement Substances 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 2
- 238000013100 final test Methods 0.000 abstract description 2
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000011076 safety test Methods 0.000 abstract 1
- 230000008859 change Effects 0.000 description 3
- 239000000306 component Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007711 solidification Methods 0.000 description 2
- 230000008023 solidification Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于Ansible的电网业务入网安全测评方法,对于电力系统需要入网安全测试的系统,实现ansible自动分发相关测试脚本并执行,获取最终测试结果的过程,其实现了批量的配置与部署。把原来人工的介入转换为ansible的调用测试,大大减少人为工作量,并减少测试的误差率。本发明率先在电力行业推广应用,极大提高了测试效率和质量;Ansible采用Python语言编写,具备良好的二次开发扩展的能力。
Description
技术领域
本发明属于计算机中的自动化技术领域,尤其涉及一种基于Ansible的电网业务入网安全测评方法。
背景技术
随着IT技术的发展,企业IT环境和IT管理任务的复杂程度越来越高,尤其电力行业,大小系统多如牛毛,对于各种系统上线前以及常态的安全测评尤为重要。测试任务多也同时意味着任务的复杂繁重。为此,人们采用了流程与任务结合的方式,来将某些服务能力固化,以达到快速、自动化完成指定任务的目的。但当前的方式需要企业针对每个服务进行设计、编码开发,需要专业的研发人员介入,才能构成较好的自动化服务。其结构相对固化、修改调整不便,企业应用场景多样化,构建服务的过程长,投入大,服务执行不连贯。
因此,如何采用一种自动化调度的方法,以降低手动测试的风险、服务的维护和企业对技术人员的要求,是需要进行解决的技术问题。
发明内容
发明目的:针对以上问题,本发明提出一种基于Ansible的电网业务入网安全测评方法,提高测试效率,更大限度的发掘自动化的能力。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于Ansible的电网业务入网安全测评方法,包括步骤:
(1)配置SSH密钥认证,建立免密连接;
(2)根据被测安全层面,自动编写相应的测试用例脚本;
(3)Ansible调用测试用例,对被测主机进行指标抓取;
(4)复杂任务的Ansible playbook编写;
(5)测评指标规则处理;
(6)进行入网安全自动化测试;
(7)结果生成以及漏洞修复。
进一步地,所述步骤2中,常用测试脚本的结构分为三大部分:
(2.1)引用测试用例需要的类、库等文件;
(2.2)定义测试实现类A,这个类通常有两个函数def;
(2.3)实例化A,脚本执行定义动作的入口。
进一步地,所述步骤3中,ansible由5个核心组件构成:
Ansible:核心;
Modules:包括Ansible自带的核心模块及自定义模块;
Plugins:完成模块功能的补充;
Playbooks:编排,定义Ansible多任务配置文件,由Ansible自动执行;
Inventory:定义Ansible管理主机的清单。
进一步地,所述步骤5中,抽象规则包括:等于、不等于、大于、小于、大于等于、小于等于,between,包含,匹配;支持模式:算述表达式、逻辑表达式、正则表达式。
进一步地,所述步骤6中,包括步骤:
(6.1)在管理端创建shell脚本目录以及临时文件目录,临时文件用来存放获取的结果;
(6.2)把shell脚本拷贝到远端被测主机中;
(6.3)控制远端主机执行shell脚本,收集所需要的信息;
(6.4)把远端主机的结果文件下载到控制端主机中,生成结果文件;
(6.5)删除远端主机的临时文件,并执行控制端对收集结果进行规则分析,判断是否符合指标要求。
有益效果:本发明对被测机管理采用最小干预的形式,不像以往管理方式需要内置agent;当面对海量被测设备的时候只需要在管理端进行host管理即可访问,大大减少变更流程。
附图说明
图1是入网安评测试整体流程图;
图2是ansible工作机制结构示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
基于Ansible的电网业务入网安全测评方法及系统,其最大优势是实现应用程序和IT基础组件自动化。通过ansible自动化的处理测评任务,对于安全测评来说可以自动进行配置管理、应用部署、服务内部编排、自动测试以及其他需求。
测试执行实施之前需要进行申请审批,测试申请人可能是省公司部门,也可能是地市公司部门,按照一定得审批流程进行层层审批。但是申请入口需要输入数据采集必填项,比如主机的IP地址、操作系统类型、账户名以及密码,这是保证可以登录到主机的基本信息。如果是不同的安全层面再次输入的信息也不同,比如Oracle层面,需要输入实例、端口号、用户名密码以及配置文件,对于中间件则只需要输入版本号,以及配置文件绝对路径即可。
审批之后进行正式测试环节,但是测试前要保证管理机与被测机之间连通性是良好的,当然支持线上测试。此刻对应的策略需要把防火墙以及路由开放,其中跨地域的连接需要开放的策略多一些。
自动化测试基于ansible对各阶段的自动化的执行,它采用极度简洁的模型来控制各种操作按照所需顺序执行。
如图1所示,本发明所述的基于Ansible的电网业务入网安全测评方法,包括步骤:
(1)配置SSH密钥认证,建立免密连接;
使用Ansible的一种常用方法是配置无需密码的,故需要进行免密处理,SSH密钥登录以方便管理。任何非特权用户都能生成SSH密钥,也能安装到远程系统中任何用户的SSH的authorized_keys文件中。生成密钥后,还需要将之拷贝到远程主机上。
运行Ansible本身无需root权限;然而如果你使用非root用户,你需要为要执行的任务配置合适的sudo权限。输入servera的root密码,这条命令会将你的SSH密钥安装到远程主机上去。安装好SSH密钥后,再通过SSH登录远程主机就不再需要输入root密码了。
(2)根据被测安全层面,自动编写相应的测试用例脚本;
常用测试脚本的结构基本相同,分为三大部分:
(2.1)引用测试用例需要的类、库等文件;
(2.2)定义测试实现类A,这个类通常有两个函数def;
(2.3)实例化A,脚本执行定义动作的入口。
(3)Ansible调用测试用例,对被测主机进行指标抓取;
Ansible使用一个INI风格的文件来追踪要管理的服务器,这种文件被称之为库存清单Inventory。Ansible能够收集目标系统的各种信息。如果主机数量很多,那它会特别的耗时。每台主机大概要花个1到2秒钟,甚至更长时间;对于测评中心来说信息收集是必要的一个环节,目前是把信息收集过来之后,在ansible主机进行分析。测评指标收集根据指标要求,通过自动化编写shell脚本,对目标机信息进行收。.
Ansible在管理节点将Ansible模块通过SSH协议(或者Kerberos、LDAP)推送到被管理端执行,执行完之后自动删除,可以使用SVN等来管理自定义模块及编排。
Ansible部署可以采用源码部署,也可以采用yum部署,实施采用一键式,各种包依赖自动部署在当前文件夹路径,不需要特别配置。部署完成之后对于调用的playbook文件按照实际路径配置,执行playbook调用顺序依次是:将指标脚本拷贝到远端主机,在远端主机执行脚本,生成主机指标,然后把指标结果再次拷贝管理端,在管理端对结果进行规则分析,最终按照一定得模板形成测试结果,展示或导出。
如图2所示,ansible由5个核心组件构成:
Ansible:核心;
Modules:包括Ansible自带的核心模块及自定义模块;
Plugins:完成模块功能的补充,包括连接插件、邮件插件等;
Playbooks:编排,定义Ansible多任务配置文件,由Ansible自动执行;
Inventory:定义Ansible管理主机的清单。
(4)复杂任务的Ansible playbook编写;
Ansible剧本playbook就是包含Ansible指令的YAML格式的文件。本文关注于如何以一种一致的、可重复性的方式来完成任务。
对于playbook的编写有部分约束配置文件,其中var.yml是对路径的约束,包括了被测系统的配置文件绝对路径,ansible组件文件的的路径;shell脚本,系统取值的脚本;指标规则分析脚本等。
(5)测评指标规则处理;
在具体的指标验证中,采用Python分析对比。抽象规则主要有:等于、不等于、大于、小于、大于等于、小于等于,between,包含,匹配等。支持模式:算述表达式、逻辑表达式、正则表达式等。Python会把指标值按照一定规则做解析,形成最终测试结果。
建立标准的指标规则库,对规则指标采用库管理的方式进行管理,所有规则和指标直接从库中调动。一旦有规则和指标的变更,经审批完,直接入库更新。
(6)进行入网安全自动化测试,具体流程如下:
(6.1)在管理端创建shell脚本目录以及临时文件目录,临时文件用来存放获取的结果;
(6.2)把shell脚本拷贝到远端被测主机中;
(6.3)控制远端主机执行shell脚本,收集所需要的信息;
(6.4)把远端主机的结果文件下载到控制端主机中,生成结果文件;
(6.5)删除远端主机的临时文件,并执行控制端对收集结果进行规则分析,判断是否符合指标要求。
(7)结果生成以及漏洞修复。
测试结果按照一定的模板生成,也可以在线编辑修改。对于收集到的结果分析后自动化判定合格或者不合格。对于不合格的指标需要按照合规性修复,然后重新测评,直到所有的指标合规。在合规性修复的过程中,所有的修复记录必须要有留档记录,便于追溯,也为后续建立一定体量的知识库准备。
Claims (5)
1.一种基于Ansible的电网业务入网安全测评方法,其特征在于,包括步骤:
(1)配置SSH密钥认证,建立免密连接;
(2)根据被测安全层面,自动编写相应的测试用例脚本;
(3)Ansible调用测试用例,对被测主机进行指标抓取;
(4)复杂任务的Ansible playbook编写;
(5)测评指标规则处理;
(6)进行入网安全自动化测试;
(7)结果生成以及漏洞修复。
2.根据权利要求1所述的基于Ansible的电网业务入网安全测评方法,其特征在于,所述步骤2中,常用测试脚本的结构分为三大部分:
(2.1)引用测试用例需要的类、库等文件;
(2.2)定义测试实现类A,这个类通常有两个函数def;
(2.3)实例化A,脚本执行定义动作的入口。
3.根据权利要求1所述的基于Ansible的电网业务入网安全测评方法,其特征在于,所述步骤3中,ansible由5个核心组件构成:
Ansible:核心;
Modules:包括Ansible自带的核心模块及自定义模块;
Plugins:完成模块功能的补充;
Playbooks:编排,定义Ansible多任务配置文件,由Ansible自动执行;
Inventory:定义Ansible管理主机的清单。
4.根据权利要求1所述的基于Ansible的电网业务入网安全测评方法,其特征在于,所述步骤5中,抽象规则包括:等于、不等于、大于、小于、大于等于、小于等于,between,包含,匹配;支持模式:算述表达式、逻辑表达式、正则表达式。
5.根据权利要求1所述的基于Ansible的电网业务入网安全测评方法,其特征在于,所述步骤6中,包括步骤:
(6.1)在管理端创建shell脚本目录以及临时文件目录,临时文件用来存放获取的结果;
(6.2)把shell脚本拷贝到远端被测主机中;
(6.3)控制远端主机执行shell脚本,收集所需要的信息;
(6.4)把远端主机的结果文件下载到控制端主机中,生成结果文件;
(6.5)删除远端主机的临时文件,并执行控制端对收集结果进行规则分析,判断是否符合指标要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292631.8A CN109960660A (zh) | 2019-04-12 | 2019-04-12 | 一种基于Ansible的电网业务入网安全测评方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292631.8A CN109960660A (zh) | 2019-04-12 | 2019-04-12 | 一种基于Ansible的电网业务入网安全测评方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109960660A true CN109960660A (zh) | 2019-07-02 |
Family
ID=67026066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910292631.8A Pending CN109960660A (zh) | 2019-04-12 | 2019-04-12 | 一种基于Ansible的电网业务入网安全测评方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109960660A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855501A (zh) * | 2019-11-21 | 2020-02-28 | 广州西麦科技股份有限公司 | 一种用于中创中间件的批量发布系统、方法及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765681A (zh) * | 2015-03-18 | 2015-07-08 | 株洲南车时代电气股份有限公司 | 列车传动控制软件自动化测试系统及方法 |
US9632812B1 (en) * | 2014-05-12 | 2017-04-25 | Trintri Inc. | Collecting data associated with virtual machines from various data sources |
CN108614770A (zh) * | 2018-04-09 | 2018-10-02 | 中国工商银行股份有限公司 | 自动化测试断言方法、装置、存储介质及设备 |
-
2019
- 2019-04-12 CN CN201910292631.8A patent/CN109960660A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9632812B1 (en) * | 2014-05-12 | 2017-04-25 | Trintri Inc. | Collecting data associated with virtual machines from various data sources |
CN104765681A (zh) * | 2015-03-18 | 2015-07-08 | 株洲南车时代电气股份有限公司 | 列车传动控制软件自动化测试系统及方法 |
CN108614770A (zh) * | 2018-04-09 | 2018-10-02 | 中国工商银行股份有限公司 | 自动化测试断言方法、装置、存储介质及设备 |
Non-Patent Citations (1)
Title |
---|
陆冰芳 等: "基于Ansible的web形式自动化运维系统的研究与设计", 《数字技术与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855501A (zh) * | 2019-11-21 | 2020-02-28 | 广州西麦科技股份有限公司 | 一种用于中创中间件的批量发布系统、方法及存储介质 |
CN110855501B (zh) * | 2019-11-21 | 2022-04-26 | 广州西麦科技股份有限公司 | 一种用于中创中间件的批量发布系统、方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034720A (zh) | 一种适用于电力调度业务管理的移动办公平台及装置 | |
CN104793076B (zh) | 智能自动测试系统及测试方法 | |
CN105491038B (zh) | 一种智能设备协议解析方法 | |
CN102799962A (zh) | 一种配置型业务流程系统及其实现方法 | |
CN110472388A (zh) | 一种设备管控系统及其用户权限控制方法 | |
CN109002391A (zh) | 自动检测嵌入式软件接口测试数据的方法 | |
CN111130922A (zh) | 一种机载信息安全自动化测试方法及测试平台 | |
CN112926954A (zh) | 一种基于人工智能机器人跨网络政务信息交换系统及方法 | |
CN108270640A (zh) | 一种智能营配信息集成系统信息互操作一致性测试方法 | |
CN108876283A (zh) | 一种自动审核系统及方法 | |
CN109787844A (zh) | 一种配网主站通信故障快速定位系统 | |
CN107423223A (zh) | 测试管理系统 | |
CN104899134A (zh) | 域名注册服务器自动化测试系统和方法 | |
CN111930078A (zh) | 一种面向核控系统的网络测试装置 | |
CN115396352A (zh) | Cms服务器端协议测试方法、系统、设备及存储介质 | |
CN109960660A (zh) | 一种基于Ansible的电网业务入网安全测评方法 | |
CN109191062A (zh) | 一种配电网辅助设计及项目管控系统 | |
CN108111578A (zh) | 基于nio的配电终端数据采集平台接入终端设备的方法 | |
CN112131544A (zh) | 一种跳板机用户管理的shell脚本方法 | |
CN110019118A (zh) | 基于DevOps提升数据库运维效率的系统及其方法 | |
CN112700083A (zh) | 构建资源综合利用和服务指数指标体系场景的方法及装置 | |
CN116383061A (zh) | 变电站站控系统基础平台接口测试方法及相关装置 | |
CN104391782B (zh) | 基于xml脚本的网络设备管理软件客户端模拟方法 | |
CN103647760B (zh) | 一种智能变电站数字保护装置的mms通讯平台及其访问方法 | |
CN110209578A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190702 |
|
RJ01 | Rejection of invention patent application after publication |