鞠洪尧
(浙江纺织服装职业技术学院,浙江 宁波 315211)
应用服务器群服务安全监控机制
鞠洪尧
(浙江纺织服装职业技术学院,浙江 宁波 315211)
应用服务器关键硬件的承载状态及应用软件自身的工作状态是网络应用系统服务安全的重要因素,通过对应用服务器中央处理器、内存、网络流量、应用软件目录、文件等监控技术的研究,将动态综合监控、安全审查、应用软件智能修复技术进行集成,构建了网络应用系统的智能监控体系架构,并阐明了实现原理和方法,解决了网络应用系统软硬件工作状态综合监控问题,实现了应用系统硬件和软件工作状态异常时自动报警、定位和应用软件遭受攻击时自动修复的目标。
应用服务器群;动态监控;安全审查;异常定位;智能恢复
承载大数据服务的网络应用系统主要由应用服务器硬件和应用软件构成,硬件是应用软件的运行载体,应用软件为网络用户提供应用服务。在过去的几年中,大数据支撑网络的系统硬件工作安全和应用软件服务安全问题日益突出,全球范围多次发生机场空管中心应用系统、护照/签证系统瘫痪的状况,这些承载大数据服务的网络应用系统在发生故障时没有给出预警信息,发生故障后系统不能进行自我修复及故障定位,使得系统故障的解决非常困难。
目前,应用服务器硬件负载监测的研究大多通过 CPU使用率、内存使用率及网络带宽占用率等指标来实现,其缺陷是 CPU 的占用率在短时间出现峰值时会造成假过载问题。而对应用服务器中应用软件的监测研究大多通过通信协议分析来实现攻击和病毒代码的判定,其缺陷是定位遭受攻击的具体位置及自动修复应用软件比较困难,且当应用服务器群中成员服务器数量较多时会额外占用大量的网络带宽,导致通信效率大大降低。
在参阅参考文献[1-5]及总结实验验证数据的基础上,对大数据支撑网络应用服务器的 CPU 平均工作负载、内存的使用率、网卡接口带宽占用率 3个关键硬件指标值进行了监测,并分别设定了上述 3个监测指标的工作负载阈值。当某个监测指标工作负载值超过阈值时,系统自动发出预警提示,并输出过载硬件的信息。同时,对应用服务器上的应用软件的工作目录、目录数量、目录中文件的数量及每个文件的长度进行了动态监测,并将实际监测值与应用软件原始的目录名称、目录数量、目录中文件的数量及每个文件的长度值进行实时比对。当比对值出现不一致时,系统自动发出预警提示,并输出应用软件代码发生改变的位置信息,同时,利用应用软件的原始备份自动覆盖应用软件的所有代码。
依据上述原则,构建了大数据支撑网络应用系统智能监控模型,该模型重点解决了如下问题。
·应用服务器关键硬件过载及故障时给出预警和定位信息。
· 对 CPU 平均工作负载进行监测,即监测 CPU 队列中排队任务的个数,避免了由于 CPU 占用率在短时间出现峰值而造成的假过载问题。
· 应用软件遭受攻击发生改变时,给出预警和定位信息,并实现应用软件的自动修复。
·应用软件状态监测采用目录扫描及文本比较的方法实现,产生的额外网络流量非常小,特别适用于应用服务器群中成员数量较多的网络。
2.1 模型设计原则与架构
模型包含应用服务器集群、智能监控系统和数据交换系统 3个部分。其中,应用服务器集群中每个应用服务器都安装相同的应用软件,并配置了应用软件原始代码池和软件整体更新触发器。智能监控系统包含应用服务器集群成员特征信息数据库、应用服务器集群硬件工作状态监控器、应用软件状态监控器、应用软件修复控制器和负载调度控制器。数据交换系统负责智能监控系统与应用服务器集群间的通信。
根据上述设计原则,大数据支撑网络的智能监控系统模型架构如图1所示。
2.2 两层监控结构及实现机制
第一层监测与安全结构设置在应用软件运行环境层面,由硬件工作状态监测器和负载调度控制器来实现。 硬件工作状态监测器监测对象包括应用服务器的 CPU 平均工作负载、内存使用率和网络带宽占用率 3 个指标,将监测结果与每个监测值的阈值进行比对,根据比对结果确定硬件是否过载及过载点位置,输出预警信息。负载调度控制器依据监测指标的工作负载情况动态调整分配给集群中每个成员服务器的工作负载。第一层监测与安全结构关系如图2所示。
第二层监控与安全结构设置在应用软件层面,由应用软件状态监测器及应用软件修复控制器来实现。应用软件状态监测器的监控对象包括应用软件目录名称、目录数量、目录中的文件名称、文件数量及文件长度 5 个指标,并根据这 5个指标的变化信息确定发生变化对象的位置,然后输出预警信息,并通过应用软件修复控制器将应用软件恢复到原始状态。第二层监控与安全结构关系如图3所示。
图1 大数据支撑网络的智能监控系统模型架构
图2 应用服务器硬件状态监测与负载调度机制
图3 应用软件状态监测与修复机制
硬件工作状态监控系统从应用服务器特征信息数据库 中 依 次 读 取 每 个 应 用 服 务 器 的 名 称 NAMEcomputer、IP 地 址信 息 IPcomputer和 CPU 核 心 数 量 值 NCPU,并 将 这 些 值 传 递 给硬件工作状态监测器,为它们提供工作参数,具体工作过程如图4所示。
3.1 应用服务器特征信息数据库
应用服务器特征信息数据库包含被监测的大数据支撑网络系统中每个应用服务器使用的 IP 地址信息和CPU 核心数 量信息,其中,IP 地址为硬件工作状态扫描器和软件状态扫描器提供的目标信息。CPU 核心数量值是每个 CPU 核心的负载值。应用服务器特征信息数据库结构见表 1。
表1 服务器特征信息数据库结构字段及含义
3.2 硬件工作状态监测器
硬 件 工 作 状 态 监 测 器[6-11]负 责 应 用 系 统 运 行 环 境 关 键硬件负载状况的实时监测,该系统包含硬件工作状态扫描器、硬件扫描结果数据库、特征数据提取模块、数据分析模块和硬件报警模块5个部分。
3.2.1 硬件工作状态扫描器
硬件工作状态扫描器包含 CPU 状态扫描模块、内存状态扫描模块、网络接口状态扫描模块 3个部分。
图4 硬件工作状态监控系统工作过程
(1)CPU 状态扫描模块
该 模 块 根 据智能监测 系 统 提 供 的 IP 地 址 信 息IPcomputer,实 时 监 测 IPcomputer指 定 应 用 服 务 器 CPU 任 务 队 列 的长 度 ,获 得 应 用 服 务 器 1 min、5 min、15 min 内 CPU 的 平 均负载值,将其写入硬件扫描结果数据库中。
(2)内存状态扫描模块
该 模 块 根 据智能监测 系 统 提 供 的 IP 地 址 信 息IPcomputer,实 时 监 测 IPcomputer指 定 应 用 服 务 器 内 存 的 使 用 量和总量值,并将这两个值追加写入硬件扫描结果数据库中。
(3)网络接口状态扫描模块
该 模 块 根 据智能监测 系 统 提 供 的 IP 地 址 信 息IPcomputer,实 时 监 测 IPcomputer指 定 应 用 服 务 器 网 卡 接 口 的 数 据流量、传输速率值和总带宽值,并将这 3 个值追加写入硬件扫描结果数据库中。
3.2.2 硬件扫描结果数据库
该 数 据 库 中 记 录 了 IPcomputer指 定 应 用 服 务 器 的 信 息如下:
· CPU 在 1 min、5 min 和 15 min 内 的 平 均 负 载 总 值 ;
·内存使用量值和总量值;
· 网卡接口数据流量值、数据传输速率值和带宽值。
3.2.3 特征数据提取模块
该模块从硬件扫描结果数据库中读取 CPU 在指定监测周期内的平均负载值、内存使用量值、内存总量值、网卡接口数据流量值、网络传输速率值和网卡接口带宽值,传递给数据分析模块进行分析处理。
3.2.4 数据分析模块
该模块根据特征数据提取模块传递过来的特征数据,计算应用服务器 CPU 每个核心的工作负载、内存使用率和网络带宽占用率,并判断是否过载,同时输出是否过载的结果信息,具体计算及判定方法如下。
(1)CPU 工作负载计算及过载判定方法
其 中 ,FCPU表 示 1 个 CPU 核 心 的 工 作 负 载 值 ,FCPU-average表示实时监测获得的应用服务器 CPU 平均工作负载总值,NCPU表示被监测的应用服务器 CPU 的核心数量值。
CPU 每个核心的工作负载值与其临界值的判定关系见表 2。
其中,MCPU1表示 CPU 正常工作负载临界值,在实际工作 中 ,MCPU1通 常 取 3。MCPU2表 示 CPU 超 载 临 界 值 ,在 实 际工 作 中 ,MCPU2通 常 取 5。
(2)内存使用率计算及过载判定方法
表2 CPU 工作负载状态判定关系
其 中 ,FRAM表 示 应 用 服 务 器 内 存 的 使 用 率 ,GRAM表 示内存使用量,G0表示被监测的应用服务器的内存总量值。
内存工作负载值与其临界值的判定关系见表3。
表3 内存工作负载状态判定关系
其 中 ,MRAM1表 示 内 存 正 常 工 作 负 载 的 临 界 值 ,在 实 际工 作 中 ,MRAM1通 常 取 60%。MRAM2表示内存超载临界 值 ,在实际工作中,MRAM2通常取 85%。
(3)网络带宽占用率计算及过载判定方法
其 中 ,Fnet表 示 应 用 服 务 器 网 络 带 宽 使 用 率 ,Lnet表 示网络的实际数据传输速率值,L0表示被监测应用服务器的网络带宽值。
网络负载值与其临界值的判定关系见表4。
表4 网络负载状态判定关系
其 中 ,Mnet1表 示 网 络 正 常 工 作 流 量 负 载 临 界 值 ,在 实际 工 作 中 ,Mnet1通 常 取 70% 。Mnet2表 示 网 络 流 量 超 载 临 界值 ,在 实 际 工 作 中 ,Mnet2通 常 取 90%。
3.2.5 硬件报警模块
该模块接收来自数据分析模块的 CPU、内存及网络负载 状 态 结 果 输 出 值 RCPU、RRAM和 Rnet,并 根 据 接 收 到 的 RCPU、RRAM和 Rnet值 将 应 用 服 务 器 名 称 NAMEcomputer、RCPU、RRAM和Rnet值 显 示 在 智 能 监 控 服 务 器 屏 幕 上 。当 RCPU、RRAM或 Rnet等于 1或 2时,硬件报警模块将发出不同的报警提示音;当 RCPU、RRAM和 Rnet等 于 0 时 ,硬 件 报 警 模 块 不 发 出 报 警 提示音。
应用软件工作状态监控系统主要包含应用服务器特征 信 息 数 据 库 、软 件 工 作 状 态 监 测 器[12-16]、应 用 软 件 修 复 控制器和应用软件原始代码池等组件。其中,软件工作状态监测器负责服务器中应用软件运行状态的实时监测,该组件包含软件工作状态扫描器、软件扫描结果数据库、与原始库对比处理模块、比对结果数据库和智能模块5个部分。具体工作过程如图5所示。
4.1 应用软件状态扫描器
软件工作状态扫描器通过目录操作指令实时扫描应用服务器中处于工作目录中应用软件的子目录和文件的名称及长度信息,将扫描结果以覆盖方式写入软件扫描结果数据库中。具体过程如图6所示。
其中,1,2,…,k 代表某一个应用服务器应用软件主目录下的第 1,2,…,k 个子目录。
4.2 软件扫描结果数据库
该数据库是一个文本文件,其中保存有使用指定 IP地 址 IPcomputer的 应 用 服 务 器 中 应 用 软 件 的 子 目 录 名 称 、目 录下的文件名称以及它们的长度值,具体信息见表 5。
表5 扫描结果数据库记录信息
图5 应用软件工作状态监控与修复工作过程
图6 应用软件状态扫描器工作过程
4.3 与原始库对比处理模块
该模块通过文本文件比较的方式将软件扫描结果数据库与应用软件原始代码池中应用软件的扫描文件进行对比分析,若比较的记录信息存在差异,则将存在差异的应用服务器的 IP 地址、差异目录或文件的名称以覆盖方式写入比对结果数据库。若比较的记录信息不存在差异,则不向比对结果数据库中写入数据。数据对比过程如图7所示。
4.4 比对结果数据库
该数据库保存了软件扫描结果数据库与应用软件原始代码池中应用软件的扫描文件进行对比的结果。如果两个比对文件不存在差异则该数据库长度为 0,如果两个比对文件存在差异则该数据库中保存着差异部分的名称信息。具体信息见表 6。
表6 比对结果数据库记录信息
4.5 智能模块
该模块首先打开比对结果数据库,若比对结果数据库长度是 0, 表明软件扫描结果数据库与应用软件原始代码池中应用软件的扫描文件一致,应用软件工作状态正常;若比对结果数据库长度不是0,表明软件扫描结果数据库与应用软件原始代码池中应用软件的扫描文件不一致,应用软件代码已被篡改或已遭受攻击,读取比对结果数据库中 的 第 一 个 记 录 ,并 将 该 记 录 信 息 与 IPcomputer值 对 应 的 应 用服务器的名称一起输出到监控服务器屏幕上,并发出报警提示音。同时激活应用软件修复控制器。此处只读取第一个记录的原因在于:由于采用文本文件整体比对,当应用软件工作目录中子目录或文件信息发生变化,后续的信息记录比对会连续出现不匹配的情况,因此,只读取首个出现不同对象的信息即可。
4.6 应用软件修复控制器
该 控 制 器 接 收 来 自 智 能 模 块 的 激 活 信 息 和 IPcomputer值 ,使 用 IPcomputer值 定 位 应 用 服 务 器 集 群 中 的 服 务 器 ,启 动 应 用软件整体更新触发器。首先强制删除应用服务器应用软件工作目录中的所有子目录和文件,然后将应用软件原始代码池中子目录和文件复制到应用服务器应用软件工作目录中,使得网络用户在后续的访问中及时使用正确的应用软件代码,获得正确的访问数据,实现应用软件代码的自动复原过程,具体工作过程如图 8所示。
图7 数据对比过程
图8 应用软件自动修复过程
4.7 应用软件原始代码池
应用软件原始代码池位于应用服务器中,其中保存着应用软件完整的原始代码备份。当工作目录中的代码遭受攻击,被修改时,软件整体更新触发器使用这个备份恢复应用软件到原始状态。
5.1 测试环境及阈值参数设置
在大数据支撑网络应用系统智能监控模型测试过程中,选择了 2 台 Linux 6 服务器构建了 一个小规模 的应用服务器集群,每台应用服务器都安装 Web 应用软件,其中,服务 器 1 含 有 1 颗 4 核 心 的 CPU、16 GB 内 存 和 100 Mbit/s网络连接,服务器 2 含有 1 颗 2 核心的 CPU、4 GB 内存和100 Mbit/s 网 络 连 接 。智 能监 控 服 务 器采 用 Linux 6 系 统 。系统 中 配 置 了 1 台 安 装 Windows Server 2012 操 作 系 统 的DNS 服务器,并配置了负载均衡策略。测试终端使用了 5 台安 装 Windows 7 操 作 系 统 的 计 算 机 。监 测 周期 为 5 min。测试过程中使用的阈值见表 7。
5.2 测试方法及结果
5.2.1 测试硬件工作状态监测器
每个终端持续打开多个浏览器副本,访问应用服务器1和服务器 2,同时监测并获取应用服务器 1 和应用服务器2 的 CPU、内存及网络带宽占用率数值的变化情况。监控服务器实测获得应用服务器 1 和应用服务器 2 的 CPU、内存及网络带宽占用率数值的变化及报警点出现情况如图9所示。
表7 系统测试时使用的阈值参数
图9 服务器的 CPU、内存及网络带宽占用率数值的变化及报警点
其中,图 9(a)、图 9(c)、图 9(e)为应用服务器 1 硬件监测指标的变化关系,图 9(b)、图 9(d)、图 9(f)为应用服务器2硬件监测指标的变化情况。
5.2.2 测试软件工作状态监测器及修复控制器
通过任意终端登录应用服务器 1 和应用服务器 2,修改应用软件子目录或文件,同时使用终端访问应用服务器上的应用软件,观察访问终端浏览器显示信息、智能监控服务器屏幕状态信息及应用服务器目录内容变化情况。测试结果见表 8。
6.1 应用软件工作支撑环境测试结果分析
从 图 9 中 可 以 看 出 :在 图 9 (a)中 接 近 15 min 和 在图 9(b)中 接 近 10 min 时 ,应 用 服 务 器 1、2 的 CPU 负 载 进入测试设定的工作繁忙状态区间,同时,智能监控服务器提 示 了 CPU 工 作 繁 忙 预 警 信 息 。在 图 9(a)中 接 近 25 min时 和 在 图 9(b)中 接 近 24 min 时 ,应 用 服 务 器 1、2 的 CPU负载进入测试设定的工作超载状态区间,同时,智能监控服务器同步提示了 CPU 超载报警信息。
在 图 9(c)和 图 9(d)中 接 近 15 min 时 ,内 存 负 载 进 入测试设定的工作繁忙状态区间,同时,智能监控服务器提示 了 内 存 繁 忙 预 警 信 息 。在 图 9(c)接 近 23 min 和 图 9(d)接 近 29 min 时 ,内 存 负 载 进 入 测 试 设 定 的 工 作 超 载 状 态区间,同时,智能监控服务器同步提示了内存超载报警信息。
在 图 9(e)和 图 9(f)中 接 近 20 min 时 ,网 络 负 载 进 入测试设定的工作繁忙状态区间,同时,智能监控服务器提示了网络繁忙预警信息。在图 9(e)接近 24 min 和图 9(f)接近 29 min 时 ,网 络 负 载 进 入 测 试 设 定 的 工 作 超 载 状 态 区间,同时,智能监控服务器同步提示了网络超载报警信息。
上述测试结果表明:本文构建的智能监控模型,硬件工作状态监控部分已达到预期的目标,在应用服务器关键硬件负载过重时实现自动预警和故障定位。
表8 软件工作状态监测及修复控制器测试结果
6.2 应用软件工作状态测试结果分析
从表 8中可以看出:当应用软件主目录或子目录中增加目录或文件时,在实施增加操作的同一个监测周期内,软件工作状态监测器无响应,终端的相关访问受到影响。在超过同一个监测周期后,软件工作状态监测器立即响应,并激发修复控制器对应用软件主目录中的所有内容进行恢复,同时将新增加的目录或文件名称输出到智能监控服务器屏幕上,终端的相关访问正常。
上述测试结果表明,本文构建的智能监控模型、软件工作状态监测器及修复控制器实现了在应用服务器的应用软件遭受攻击时进行自动预警、故障定位和自我修复。
本文从大数据网络应用软件的硬件支撑环境工作状态监测和应用软件工作状态监测两个方面探讨了应用服务系统的故障监测、故障定位及自动修复机制。在现有研究成果的基础上对运营和维护的实用性、便捷性做了改进,降低了智能监控系统在监测过程中对应用服务器CPU、内存及网络造成的额外工作负载,解决了大数据网络应用服务器群关键硬件及应用软件工作状态的并行监控、故障预警、故障定位及自动修复问题。
[1] 王 建民,尹 建伟,窦万 春. 业务 过 程管 理技 术 专题 前 言[J]. 软件 学报,2015,26(3):447-448. WANG JM, YIN JW, DOU W C.Businessprocess management technology thematic introduction [J].Journal of Software,2015,26(3):447-448.
[2] 孟 小 峰,慈 祥. 大 数 据 管 理 : 概 念 、 技 术 与 挑 战[J]. 计 算 机 研究 与发展,2013,50(1):146-169. MENG X F,CI X.Big data management:concepts,techniques and challenges [J].JournalofComputerResearch and Development,2013,50(1):146-169.
[3] 王宇. 自 主可 控 系统 安 全 防 护 技 术 的 现 状 与 对 策[J]. 保 密 科学 技 术,2014(12):24-30. WANG Y. Current situation and countermeasures for independent and controllable system security technology [J]. Secrecy Science and Technology,2014(12):24-30.
[4] 袁健,陈冬露. 云环境中基于动态监测周期的动态资源管理模型[J]. 小型微型计 算 机系统,2016,37(3):474-478. YUAN J,CHEN D L.Resource management strategic model based on dynamic monitoring period in cloud environment[J]. Journal of Chinese Computer Systems,2016,37(3):474-478.
[5] SHI J,LI H,ZHOU L D.The technical security issues in cloud computing. International Journal of Information and Communication Technology[J].2013,5(3-4):272-282.
[6] NWOBODO I,JAHANKHANI H,EDOH A.Security challenges in the distributed cloud computing [J].International Journal of Electronic Security and Digital Forensics,2014,6(1):38-51.
[7] CHEN G,WU S,WANG Y.The evolvement of big data systems: from the perspective ofan information security application[J].Big Data Research,2015,2(2):65-73.
[8] 王帅,汪来富,金华敏,等. 网络安全分析中的大数据技术应用[J]. 电信科学,2015,31(7):139-144. WANG S,WANG L F,JIN H M,et al.Big data application in network security analysis [J].Telecommunications Science,2015,31(7):139-144.
[9] 胡小梅,刘嘉勇.基于 DNS 劫持的流量监测系统设计与实现[J].网络安全技术与应用,2016(1):110-112. HU X M,LIU J Y.Design and implementation of traffic monitoring system based on DNS [J].Network Security Technology&Application,2016(1):110-112.
[10]MOHAIMENUZZAMAN M,RAHMAN S M M.A design pattern for real time progress monitoring of a time-intensive process in a stateless software application[J].International Journal of Software Engineering,Technology and Applications,2015,1(1):53-63.
[11]CASOLA V, BENEDICTIS A D, DRAGO A, etal. SeNsiM-SEC:secure sensor networks integration to monitor rail freight transport [J].International Journal of System of Systems Engineering,2013,4(4):291-316.
[12]王一川,马建峰,卢笛,等. 面向云环境内部 DDoS 攻击检测的博弈论优 化[J].计算机研究与发展,2015,52(8):1873-1882. WANG Y C,MA J F,LU D,et al.Game optimization for internal DDoS attack detection in cloud computing[J].Journal of Computer Research and Development,2015,52(8):1873-1882.
[13]KIM S K.JenniferSoft:APM software development leader in Korea [J].International Journal of Teaching and Case Studies,2015,6(2):95-107.
[14]JAIN M,PREETI.Availability analysis of software rejuvenation in active/standby cluster system [J].International Journal of Industrial and Systems Engineering,2015,19(1):75-93.
[15]GAUR V,SONI A.A knowledge-driven approach for specifying the requirements of multi-agent system [J].International Journal of Business Information Systems,2015,19(3):300-323.
[16]CAROL S S,SHI Y.Predicting residual software fault content and their location during multi-phase functional testing using test coverage [J].International Journal of Reliability and Safety,2013,7(1):32-57.
Service security monitoring mechanism for application server cluster
JU Hongyao
Zhejiang Textile&Fashion College,Ningbo 315211,China
For an application system,the workloads on the application servers’ key hardware and the working state of the application software are important factors affecting the system’s safety.Based on studies of the monitoring techniques for CPU,RAM,network traffic,software directories and software files of application servers,dynamic comprehensive monitoring,safety review and application software intelligent recovery were integrated,and an intelligent monitoring system was constructed for the application systems.The mechanisms and methodology of the monitoring system were illustrated.The system realized intelligent monitoring the working state of hardware and software,achieved the goal of automatic alarming,fault locating upon abnormal working states of the hardware or software and automatic recovery upon attacks to the software.
application server cluster,dynamic monitoring,security review,anomaly locating,intelligent recovery
s:The Innovation Fund for Technology Based Firms of the Chinese Ministry of Science and Technology(No.14C26213311599),Ningbo Intelligence Group Entrepreneurship Project (No.2013B70071)
TP393.2
:A
10.11959/j.issn.1000-0801.2016173
2016-04-20;
:2016-06-15
科技 部 创 新 基 金 资助项目(No.14C26213311599);宁波市智团创业基金资助 项 目 (No.2013B70071)
鞠洪尧(1966-),男,浙江纺织服装职业技术学院教授,主要研究方向为网络性能优化、云计算、智能制造等。