0 引言
随着电力企业信息化建设的不断推进,桌面终端作为各类业务应用的基础硬件支撑平台,其运行安全和维护效率变得越来越重要。国网辽宁省电力有限公司为提高信息网桌面终端的安全管理水平,对各单位桌面终端的安全管理提出了具体考核要求,考核数据从桌面终端标准化管理系统等各类统一推广的终端管控系统中抽取[1]。由于各类桌面终端管控系统相互独立,地市等基层单位的指标监测人员需要长时间盯着显示器屏幕,逐个登录相关系统控制台查看各项考核指标是否正常。由于指标较多,人工监测一次需要1 h左右的时间,每天需要定时开展多次监测工作,耗费了大量的人力。另外受监测人员精神状态和责任心的影响,指标监测的准确度也不高,经常发生由于人工监测不及时导致的异常终端没有得到及时处理的情况,终端安全管理水平不高。
为解决上述问题,通过研究与实践,借鉴互联网思维[2],基于Web数据采集[3]和网络爬虫技术[4]研发了一套桌面终端安全管理指标集中监测工具,实现了指标的集中展现和全时段自动监测,有效解决了指标人工监测费时费力和准确率低的问题,提高了桌面终端的安全管控水平。
1 桌面终端安全管理指标集中监测工具设计方案
桌面终端安全管理指标集中监测工具由硬件和软件两部分构成,其中硬件主要包括服务器、短信猫池和手机终端,软件包括运行于服务器上的功能软件和数据库。桌面终端安全管理指标集中监测工具系统结构如
桌面终端安全管理指标集中监测工具采用多线程多任务并发技术[5],利用Web数据采集脚本来抓取桌面终端标准化管理系统、360天擎防病毒系统、防违规外联系统和入网规范管理系统等终端安全管控系统的Web前台网页数据,依据预定义的公式对数据进行统计、分析和计算后,将终端注册率、防病毒软件安装率和准入客户端安装率等10余项运行指标集中展现在一个用户界面中。用户界面集中展示的指标数据按照预设的时间间隔自动刷新,当指标数据不符合设定的标准值时,监测工具以手机短信[6]或邮件的形式进行告警,提醒指标管理人员及时处理。
2 桌面终端安全管理指标集中监测工具技术原理及特点
2.1 桌面终端安全管理指标集中监测工具模型技术原理
桌面终端安全管理指标集中监测工具由Web前端数据源[7]、多任务驱动引擎[8]和自动化运维[9]3个部分构成。桌面终端安全管理指标集中监测工具模型如
2.1.1 Web前端数据源
以桌面终端标准化管理系统、360天擎防病毒系统、防违规外联系统和入网规范管理系统Web控制台的前台网页显示数据,作为桌面终端安全管理指标集中监测工具集中展示、逻辑运算和分析的数据源,数据信息存在于用户通过浏览器浏览的网页中,有别于传统的MSSQL、MySQL、Oracle等数据库型数据源。
1)桌面终端标准化管理系统Web控制台网页中需要抓取的数据包括应注册数、已注册数、注册率、防病毒软件安装率、终端IP地址、终端MAC地址、终端用户注册信息、客户端版本、防病毒软件类型、防病毒软件版本和无效设备数等关键信息。
2)360天擎防病毒系统Web控制台网页中需要抓取的数据包括防病毒客户端已安装数、未安装数、病毒库日期、客户端版本、终端IP地址、终端MAC地址、终端用户注册信息和感染病毒数等关键信息。
3)防违规外联系统Web控制台网页中需要抓取的数据包括防违规外联软件安装数、软件版本和终端IP地址等关键信息。
4)入网规范管理系统Web控制台网页中需要抓取的数据包括准入客户端安装数和终端IP地址等关键信息。
2.1.2 多任务驱动引擎
多任务驱动引擎是桌面终端安全管理指标集中监测工具的核心部分,采用多线程并发技术驱动多个任务同时独立运行。多任务驱动引擎由Web数据采集(爬虫)、数据分析、数据存储和应用网关4个相互作用的功能模块构成。
1)Web数据采集(爬虫)模块负责筛选、采集网页上显示的各类关键数据,由基于网络爬虫技术和Web数据采集技术的各类功能脚本组成,主要使用Python[10]、TC等工具开发。Web数据采集(爬虫)模块的核心功能是网页信息提取[11],通过分析网页的源代码(HTML),查找网页元素标识的特征值,采用自动识别关键词技术,利用HTTP协议编程获取想要的数据。网页元素的特征值主要有frame(框架)、id(唯一标识)、tag(标签)、type(类型)、txt(文本)、value(特征)、index(索引)和name(名字)等。拥有这些特征值的网页元素可以通过脚本编程来自动获取元素文本信息。
Web数据采集(爬虫)模块主要由网页登录、网页表单交互、网页数据抓取和网页异常处置4个部分组成。其中网页登录模块负责通过HTTP插件或HTTP协议的POST方式[12] 完成用户权限验证,模拟浏览者登录Web控制台页面时输入用户名、密码和验证码并点击登录按钮的过程,实现各类终端管控系统Web控制台的后台自动登录。网页表单交互模块通过模拟浏览者的手动操作来实现网页交互的后台自动操作,一般使用HTTP插件模拟浏览者将需要输入的数据传送到服务器端,服务器端程序处理表单传过来的数据后将需要的结果反馈给交互模块,主要应用在数据查询页面。网页数据抓取模块负责将想要的目标数据从网页中筛选并提取出来,该模块利用功能脚本模拟浏览者的手动操作过程,自动访问预定义的URL网页,分析HTML源代码,利用预先确定的网页元素特征值来获取目标数据。网页异常处置模块负责处理网页登录、网页表单交互和网页数据抓取过程中出现的网页加载失败、网页加载不完整、网页弹窗和网页异常报错提示框等异常情况的处置,避免网页异常对数据采集过程的影响。
2)数据分析模块依据预定义的指标计算公式,以Web数据采集(爬虫)模块采集的数据为数据源进行计算,得出各个预定时间节点的弱口令数、终端注册率、防病毒软件安装率和敏感信息执行率等桌面终端安全管理指标具体数据值。
3)数据存储模块用于将Web数据采集(爬虫)模块采集的数据、数据分析模块计算的指标结果、监测工具本身的运行日志和预定义的URL等配置参数存储到MSSQL或MySQL等关系型数据库中,便于今后各类报告需求的统计分析和事件回溯。
4)应用网关模块负责完成监测工具与指标管理人员的交互,包括数据展现、短信告警、邮件告警和分析报告4项应用。其中,数据展现应用将指标管理人员关心的、由Web数据采集(爬虫)模块采集的数据和数据分析模块计算得到的指标数值集中展现在指标集中展示窗口中,使得管理人员能够随时掌握桌面终端安全管理的各项指标现状。短信告警应用负责在桌面终端安全管理的各项指标出现异常或者桌面终端安全管理指标集中监测工具运行异常时,以手机短信的形式通知指标管理人员,便于指标管理人员能够及时处理故障,短信告警应用基于短信平台的URL接口进行开发。邮件告警应用作为短信告警的备用方式,将异常情况以邮件的形式发送到指标管理人员指定的邮箱当中,邮件告警应用基于标准的SMTP和POP3协议进行开发[13]。分析报告应用负责按照日、月度、季度和年度时间跨度统计分析桌面终端安全管理指标情况和桌面终端安全管理指标集中监测工具的运行情况,自动生成Word文档并以邮件的形式发送给指标管理人员。
2.1.3 自动化运维
自动化运维功能负责守护服务器上部署的功能软件持续稳定运行,具备一定范围的自动维护功能,包括进程守护、数据备份和自动巡检等功能模块。
1)进程守护模块[14] :负责按照预定的守护规则监控桌面终端安全管理指标集中监测工具自身进程的运行情况,一旦发现监测工具不可用就立即按照预定策略重新启动监测工具,当重新启动监测工具连续失败3次后将重新启动部署监测工具的服务器。
2)数据备份模块:负责按照预定规则定时自动备份数据[15] 。
3)自动巡检模块[16]:负责按照预定巡检策略定时给管理人员发送巡视短信,便于管理人员能够及时掌握指标集中监测工具和短信网关是否处于正常运行状态。
2.2 桌面终端安全管理指标集中监测工具的特点
1)指标展现集中化。将桌面终端标准化管理系统、360天擎防病毒系统、防违规外联系统和入网规范管理系统等多套系统中的终端安全管理指标数据进行比较、整合和分析,集中展现在统一的用户窗口中进行监测,为指标管理人员提供了“一站式”的指标监测模式。
2)指标监测自动化。使用应用程序代替人工手动操作来完成桌面终端安全管理各项指标的监测工作,当指标异常时自动以手机短信的方式通知指标管理人员,实现了从