戴小新
摘要:在计算机技术和网络规模迅速发展的环境下,网络安全也成为人们比较关注的问题,如何利用有限的技术资源来构建一个稳定的、可靠的、安全的网络环境是各个事业单位和政府机构急需解决的问题。该文主要结合Windows安全机制建设原理,通过WMI技术设计和实现了一个多功能的Windows客户端安全控制管理系统。 基于WMI的Windows客户端安全控制管理系统的应用为计算机的安全、稳定运行提供了一个高效率的现代化管理工具,不仅可以节约了人力,而且弥补了人为因素、技术因素等方面造成的各种疏忽、漏洞,进一步为计算机网络系统的提供了安全保障。
关键词:WMI;网络系统;客户端
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)17-0021-03
1 WMI简述
WMI简称为Windows管理规范,英语全称为Windows Management Instrumentation,是针对于 Microsoft WBEM的标准系统管理开发接口。WMI为系统开发者访问、配置计算机系统信息以及管理、监视计算机系统资源提供了一种非常简单的方法。WMI多年以前就开始应用于计算机操作系统中,是Windows系统管理的一个重要组成部分。因为WMI的是基于标准的、可扩展的、统一的面向对象接口,所以可以直接通过WMI接口来进行性能数据检索,对计算机各项系统操作和组建进行管理和配置。而且,WMI可以作为组织生成和系统信息的管理工具,可以实现对系统活动的密切监视。
2 WMI的应用优点
WMI的显著优点表现在它的三个管理功能上,即数据收集、系统配置以及事件管理。首先在数据收集方面,利用WMI可以对来自硬件、性能计数器、注册表、事件日志操作系统等不同来源的系统信息进行访问,这些信息结合资产管理进行分析、处理,进而创建性能基准,实现可行性分析。其次在系统配置方面,WMI利用包括服务和软件组件以及操作进程的集中化模式对系统信息进行修改,对系统进行维护和系统更新。另外在事件管理方面,在被监视系统组件的属性发生变化的情况下,管理系统可以及时发现。该监视系统可以在事故发生后在给予通知,也可以按照一定时间间隔进行定时通知,这种功能在错误隔离、解决问题、系统健康以及控制系统可用性的监视过程中作用意义是非常大的。
3基于WMI的Windows客户端安全控制管理系统的设计
3.1系统结构设计
基于WMI的Windows客户端安全控制管理系统的主要有两部分组成,即安全控制中心以及安全执行系统。系统的安全控制中心利用B/S结构来进行设计,主要由三个功能模块构成,系统初始化管理模块、安全策略定制模块以及工作计算机监视和风险诊断模块。安全控制中心可以为安全管理人员提供安全策略制定功能以及各分支计算机的监测和风险检测处理功能。安全执行系统利用C/S结构来进行设计,主要由两个功能模块构成,第一,安全策略配置启用模块;第二,工作计算机信息提取和风险诊断执行模块。安全执行系统的主要功能是为安全控制中心提供Windows应用环境、相关计算机硬件、系统软件、系统审核检测等信息,安全控制中心作出的安全风险检测决定就是由安全执行系统来执行的。
3.2系统功能设计
3.2.1系统初始化模块
该模块内主要包括了3个子模块,即Windows 版本管理、IP 网段划分以及系统管理员设置。该部分是对构建系统框架结构相关功能的设计。
3.2.2安全策略定制模块
安全策略定制模块可以对不同Windows 版本和IP 网段制定安全配置规则。依据Windows 客户端安全策略设计方案,该模块可以分为多个功能部件,本地安全策略、系统服务策略、文件权限策略、必装软件策略、IE选项策略、屏幕保护策略、账号设置策略、网络配置策略、注册表策略以及垃圾清理策略模块。
3.2.3计算机监视和安全监测模块
该系统模块主要是针对计算机安全管理部门而设置的,用于监测各分支计算机基本信息、硬件配置、系统软件安装以及安全策略配置等等情况,并且对一些可疑服务、进程,开机自启动软件以及可疑账号进行控制。 利用WMI获取计算机获取硬件信息相关代码如下:
Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard")
Dim share As ManagementObject
For Each share In searcher.Get()
Debug.WriteLine("主板制造商:" & share("Manufacturer"))
Debug.WriteLine("型号:" & share("Product"))
Debug.WriteLine("序列号:" & share("SerialNumber"))
Next share
此段代码同样采用 WQL 语句实现。同理, 还可获取网卡硬件地址、硬盘 ID 和 CPU 系列号等信息, 在此就不一一列举。
获取软件信息( 以下是一段列出所有系统当前共享目录的代码) :
Imports System.Management
Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_share")
Dim share As ManagementObject
For Each share In searcher.Get()
MessageBox.Show(share.GetText(TextFormat.Mof))
Next share
3.2.4安全策略配置启用模块
该模块就是系统的安全执行系统结合预定好的安全策略进行启用操作的模块。安全策略配置启用模块涉及到的内容:本地安全策略、系统服务策略、文件权限策略、必装软件策略、IE选项策略、屏幕保护策略、账号设置策略、网络配置策略、注册表策略以及垃圾清理策略模块。
3.2.5计算机信息提交与安全监测执行模块
该模块是安全执行系统结合安全控制中心的相关要求,把计算机基本信息、计算机硬件配置、账户设置、安全策略配置、系统服务、安全中心运行状态以及开机自启软件、应用软件、进程等信息提交给安全中心,并依据安全控制信息指令的要求对可以账户进行锁定、禁用,撤销可疑软件的安装和自启功能、中断可疑进程的运行等等安全控制操作。利用WMI远程关闭计算机的代码如下:
Dim scope As ManagementScope = New ManagementScope(“\\”+RemoteHostName + “\Root\CIMV2”, options) //以给定的管理员帐号连接给定计算机名或者 IP 地址的计算机
Try
scope.Connect() //连接远程计算机
Dim oq As System.Management.ObjectQuery
oq = New System.Management.ObjectQuery("Select * From Win32_OperatingSystem")
//调用远程计算机进行 WMI 操作
Dim gwo As ManagementObjectSearcher
gwo = New ManagementObjectSearcher(scope, oq)
//从已经完成远程连接的计算机中, 得到 WMI 操作集合
Dim pwo As ManagementObjectCollection
pwo = gwo.Get()//存放得到 WMI 操作
Dim mo As ManagementObject//定义 WMI 操作对象
For Each mo In pwo
Dim ss() As String = {" "}
mo.InvokeMethod("Shutdown", ss)
Next//调用 WMI 控制, 实现关闭远程计算机
Console.WriteLine("指定的设备已经被关闭! ")
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.WriteLine("不能与指定设备建立连接, 设备已经关闭或者出现网络故障! ")
End Try
3.3数据结构设计以及开发环境
设计一个能够使Windows客户端安全控制管理系统的安全控制中心以及执行系统共用数据库,数据库的基本结构包括基本数据、安全策略数据以及客户端安心信息数据。具体设计的内容和数据表的设计这里不再详细介绍。
系统采用的开发环境有两种,系统的安全控制中心采用ASP 语言环境,安全执行系统采用Visual Basic.Net 语言环境。
4系统的实现
该系统的设计目的主要是针对实际工作中计算机安全配置问题存在的诸多问题,为企业单位提供一套高效、安全的现代化计算机管理工具,利用该系统可以让管理人员轻松掌握各分支机构的计算机安全管理情况,这样就可以避免由于技术能力以及工作疏忽等原因引起的安全隐患。基于WMI的Windows客户端安全控制管理系统的实现主要包括系统初始化模块、安全策略定制模块、安全策略启用模块 、安全配置信息提取模块、工作计算机监视模块以及工作计算机安全诊断模块的功能实现,这里详细介绍一下工作计算机监视模块以及工作计算机安全诊断模块的实现。
计算机监视模块的实现见表1。
表1
[ 功能模块\& WMI接口 \&命名空间\&类\&
基本信息查询\&主机名、域名、工作组\&[Root\CIMV2]\&[Win32_ComputerSystem]\&操作系统版本、最近一次开机时间\&[Root\CIMV2]\&[Win32_OperatingSystem]\&硬件信息查询\&CPU 型号和速率\&[Root\CIMV2]\&[Win32_Processor]\&计算机制造商、型号\&[Root\CIMV2]\&[Win32_ComputerSystem]\&硬盘信息\&[Root\CIMV2]\&[Win32_DiskDrive]\&开机自动软件查询\&[Root\Default]\&StdRegProv
\&应用软件查询\&[Root\CIMV2]\&StdRegProv
\&安全中心信息查询\&防火墙\&[Root\SecurityCenter]\&[FirewallProduct]\&防病毒软件\&[Root\SecurityCenter]\&[AntiVirusProduct]\&]
计算机安全诊断模块的实现见2。
表2
[功能模块\& WM接口\&命名空间\&类\&属性或方法
\&可疑进程撤销\&[Root\CIMV2]\&[Win32_Process]\&方法:[Terminate ]\&解除合法账户锁定 \&[Root\CIMV2]\&[Win32_UserAccount]\&属性:[ Lockout ]
方法:[Put_ ]\&禁用系统服务\&[Root\CIMV2]\&[Win32_Service]\&方法:[StopService ]\&删除系统服务 \&[Root\CIMV2]\&[Win32_Service]\&方法:[Delete]\&]
5系统功能的应用测试
第一,测试环境:个人计算机十八台、服务器一台。个人计算机采用了3种不同性能(性能差三台、性能一般三台、性能好三台)作为测试机,各种不同Windows版本的操作系统6个,以便保证测试的准确性和全面性。用于测试的服务器可以选择2GB内存、 292GB硬盘容量、Intel Xeon 5110型号处理器的PC服务器。
第二,系统测试内容。1.系统安全控制中心系统功能测试内容包括系统登录、系统管理设置、IP 网段划分、Windows 版本管理、安全策略定制、工作计算机信息查询、工作计算机安全诊断等等方面测试。2.安全执行系统测试内容有安全策略配置启动、工作计算机信息提交及安全测试。
第三,系统功能测试结果。通过对系统各项操作的测试证明系统的各功能模块设计合理,可以对相关安全策略进行有效配置,可以对计算机基本信息、账号设置、计算机硬件信息、系统软件信息以及进程服务等信息内容进行实时查询,对可疑账号、可疑进程进行锁定和控制。在系统性能方面,三种不同性能的计算机运行当中系统CPU占用率都最多在百分之五。通过该方法即使对具有上千台计算机的大规模运行系统进行信息查询和数据处理需要花费的时间很短。
在对系统进行测试过程中对系统安全控制中心进行木马、病毒攻击,经过系统测试发现木马、病毒不能通过网站来控制工作计算机或者是发送恶意信息,只会导致系统瘫痪。另外,通过网络工具对安全执行系统中的网络数据进行抓取,因为相关数据都经过了加密,所以是不能被进行篡改或者仿制的。
6结语
以上是基于WMI的Windows客户端安全控制管理系统设计和相关应用测试。Windows客户端安全控制管理系统的应用使客户端安全管理更快捷、更简便、更高效,有利于实现客户端安全配置的标准化。在该系统的应用当中,安全管理人员只需要通过简单的点击,客户端安全策略标准的配置工作就可以自动完成,这就减少了安全管理人员的工作量,很大程度上提高了管理人员的工作效率。而且也可以有效避免客户端安全配置不准确或者是被篡改的问题,为客户端构建了有效的安全防线,提高了计算机安全管理水平。
参考文献:
[1] 任建基,胡延平,陈俊峰,等.基于WMI技术的局域网计算机设备的监测[J].计算机工程与应用,2006(25) .
[2] 宋昕,盛晨,王新华.基于WMI的计算机管理技术的研究与实现[J].浙江科技学院学报,2007(1).
[3] 樊雨送,熊桂喜.基于WMI+.Net Remoting的计算机管理系统的设计与实现[J].仪器仪表用户,2007(3).
[4] 张施展,高景昌.基于WMI技术的计算机自动化管理[J].吉林大学学报(信息科学版),2006(4).
[5] 李明,李廷全,张波.WMI在网络管理中的应用研究[J].网络安全技术与应用,2008(11).
[6] 王文利.基于WMI技术的网络监视软件的设计与实现[J].赤峰学院学报(自然科学版),2011(4).
[7] 吴江川,饶一梅.Windows下基于WMI的数据和程序管理解决方案[J].计算机系统应用,2010(7).