(计算机应用技术专业论文)基于linux的主机监控系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于linux的主机监控系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于linux的主机监控系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于linux的主机监控系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于linux的主机监控系统的设计与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 基于l i n u x 的主机监控系统的设计与实现 摘要 防火墙、入侵监测、认证加密等系统相互补充可以有效地防护来自局域网 外部的威胁。但这些措施对于内部的非安全操作和泄密行为作用不大,甚至无 能为力,主要表现在:网络内部的机器可能直接被未经授权的用户使用,对内 部的信息直接造成潜在的威胁;管理人员对网络的使用情况不易控制,使用者 可能滥用网络从事与工作无关的活动;内部人员随意使用移动设备复制、传播 重要文件;管理人员无法快速对用户的越权使用做出反应等。 针对上述情况,本论文提出了局域网主机监控系统。该系统可以安装在不 同的网络节点上,通过在控制台对受控代理进行用户权限和访问控制策略的设 置,很好的实现了对主机行为的监控和网络行为的监控,从而避免了内部人员 的主动或者被动泄密。同时该系统协助管理员更好的维护网络,时刻掌握主机 和网络资源的使用情况,是网络管理软件和网络安全软件的有益补充。 论文讨论了由控制台、通信模块、系统功能模块组成的监控系统可扩展的 体系结构,并对通信模块和功能模块进行了详细的设计和实现,由控制台发出 的控制和安全策略的设置命令被受控代理解析后分发到不同的功能模块进行处 理。文中也详细制定了控制台和受控代理之间的通信协议和命令规范,并对主 机行为和网络行为监控的种类进行模块化定义,采用动态模块机制实现监控的 类型,在不改变系统体系结构的基础上扩展系统的监控功能。 论文在对l i n u x 平台技术深入研究的基础上,实现了该系统。讨论了系统 的通信模块的各种功能之后,对进程监控、口端口监控等几个典型的监控类型 进行了细致的研究分析,比较了不同的实现技术。同时鉴于主机监控系统要避 免被受控用户损害的特殊性要求,也对系统的隐蔽式监控和自动加载技术进行 了深入的阐述。最后根据实际的应用需要,论文也提出了系统进一步完善的方 向。 关键词:主机行为监控,网络行为监控,受控代理,自动加载 a b s t r a c t d e s i g na n di m p l e m e n t a t i o no f l i n u x - b a s e dh o s t m o n i t o r i n gs y s t e m a b s t r a c t i ng e n e r a l ,t h o u s a n d so fa t t a c k s o u t s i d ec a nb ep r e v e n t e db yf i r e w a l l ,i d sa n dv a r i o u sk i n d s o fa u t h e n t i f i c a t i o n sr e s p e c t i v e l yo rc o m p o s i t i v e l y f o ri n n e ra t t a c k sa n dl e a k a g eo fs e n s i t i v ed a t a , h o w e v e r ,t h e s et e c h n o l o g i e sd on o tw o r kv e r yw e l l f o re x a m p l e ,t h eu s e rw i t h o u ta u t h o r i z a t i o n c a nd i r e c t l ym a n i p u l a t ei n t x a n e th o s t s ;t h ea c a :s st on e t w o r ki so u to fc o n t r o l ,a n dt h eu s e rm a y a b u s en e t w o r ko rc o m p u t e rt ow o r ka ts o m e t h i n gi r r e l e v a n tt ot h e i rj o b ;t h eu s e rc a nr a n d o m l y c o p ya n ds p r e a dc o r ef i l e st h r o u g hs t o r a g ed e v i c e s ;t h ea d m i n i s t r a t o rc a n tr e s p o n s et ot h ei l l e g a l o p e r a t i o n so fu s e r a c c o r d i n gt ot h e s ed e f e c t s ,t h i sp a p e rp r o v i d e si n t r a n e th o s tm o n i t o r i n gs y s t e m i tc a nb e a p p l i e di n t od i f f e r e n tn e t w o r kn o d sw i t hd i f f e r e n te x p a n s i o n a d m i n i s t r a t o rc a ng i a n ta u t h o r i t yt o u s e ra g e n ta n ds e ta c c e s sp o l i c i e st h r o u g hr e m o t ec o n s o l e a n dt h es y s t e mw e l la c h i e v e sh o s t b e h a v i o u rm o n i t o r i n ga n dn e t w o r kb e h a v i o u rm o n i t o r i n g ,w h i c ha v o i d sl e a k a g eo fs e n s i t i v ed a t a i n t e n t i o n a l l yo ru n i n t e n t i o n a l l y i ta l s oa s s i s t sa d m i n i s t r a t o ri nm a i n t a i n i n ti n t r a n e tv e r yw e l l ,t o m a k ea d m i n i s t r a t o rk n o wt h eu s a g eo f c o m p u t e ra n d n e t w o r kr e s o u r c e s a n di ti sc o m p l e m e n t a r y t on e t w o r km a n a g e m e n ts o f t w a w r ea n dn e t w o r ks e c u r i t ys o f t w a r e t h ep a p e rd i s c u s s e so n ee x p a n s i b l es y s t e mf r a m e w o r k ,w h i c hi n c l u d e sr e m o t ec o n s o l e , c o m m u n i c a t i o nm o d u l ea n df u n c t i o nm o d u l e s t h e nt h ep a p e rd e s c r i b e sc o m m u n i c a t i o n p r o t o c o l sa n dc o m m a n ds p e c i f i c a t i o n s , a n dd e f i n e ss y s t e mf u n c t i o n st ob em o n i t o r e d t h e s e f u n c t i o n sa r ei m p l e m e n t e di n t om o d u l e sa n da d d e di n t ot h es y s t e mf i a m e w o r kd y n a m l d y w h a t sm o r e ,t h es y s t e mi si m p l e m e n t e do nl i n u xp l a t f o r ma f t e rd e e p l yr e s e a r c h i n gl i n u x i n v o l v e dt e c h n o l o g i e s a f t e rd e s i g n i n gt h es y s t e mc o m m u n i c a t i o nm o d u l e ,1e l a b o r a t es e v e r a l p a r t i c u l a rf u n c t i o nm o d u l e sa n dc o m p a r ed i f f e r e n ti m p l e m e n t i n gw a y s m e a n w h i l e ,t h ep a p e r d e t a i l e d l yd i s c u s s e sh o wt om o n i t o rt h eh o s tc o v e r t l ya n dl o a dt h es y s t e ma u t o m a t i c a l l y f i n a l l y , ii n t r o d u c es o m ew a y st op e r f e c tt h es y s t e mi nt h ef u t u r e k e y w o r d s :h o s tb e h a v i o u rm o n i t o r i n g , n e t w o r kb e h a v i o u rm o n i t o r i n g ,u s e ra g e n t , a u t o l o a d i n g 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的f - f ) 届, l 本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:弓小力啼 土do 多年5 月”日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间。年月日 各密级的最长保密年限及书写格式规定如下: 内部5 年( 最长5 年,可少于5 年) 秘密1 0 年( 最长1 0 年,可少于1 0 年) 机密2 0 年( 最长2 0 年,可少于2 0 年) 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:孑小勿t ) 君 。d 歹年f 月) 7 日 第1 章引言 第1 章引言 网络给人们的工作和生活方式都带来了巨大的变化,越来越多的企业和政府部门采用 网络来进行内部信息的管理和资源共享,增强内部的信息交流和各个部门之间的协同工作。 其中存储、传输和处理的信息有许多是商业的经济信息、科研数据等敏感信息a 那么就难 免会造成诸如信息泄密、信息窃取、数据篡改、数据删除、计算机病毒等一系列阿络安全 问题。同时,由于使用者范围的不断扩大,导致对单机、网络的管理更加困难,诸如黑客 入侵、带宽占用、数据流失、不怠站点的访问、以及在工作时间打游戏、昕音乐、网上聊 天,这些都成为管理者头痛的问题。因此,开发一个内部网络的监控系统实现对主机和网 络的有效监控就显得非常有必要了。 1 1 监控系统的发展概况 目前的监控系统的发展有两种趋势,一种是监控网络行为,一种是监控计算机行为。 1 - l1 监控网络行为 这类系统监视、控制和记录局域网内计算机在互联网上的活动行为,记录网内计算机 收发的邮件、浏览的网页以及f c p 上传下载的文件,监视和管理网内用户的聊天行为,限 制、阻断网内用户访问指定网络资源和网络协议,该类系统一般安装在局域网的出口处, 或者是共享式以太网的一个主机上,如图1 1 所示。 图1 1 传统监控系统安装结构 网络监控可以有效的控制用户通过网络的方式泄露公司的机密,阻断用户访问一些不 良网站,但是也有一些不足: 审缺乏对远程机器的控制,它不能控制用户通过软盘、可移动设备传播重要文件,不 能有效监视用户对机器的滥用,缺乏对远程机器抓取屏幕图像的功能,不能实时掌 握用户的行为。 夺集中式信息的收集和处理造成网络吞吐量降低。一般网络监控软件安装在局域网的 出口处,国际上商用的网络过滤和拦截产品主要是防火墙和四层交换机,即只是基 第1 章引言 于主机地址和端口的包过滤,部分做到对数据包内容的解析,可以过滤特定的 u r l 。应该看到基于数据包内容的网络过滤有一定难度,而监视邮件内容还需要将 p a c k e t 还原成信息流,并在还原的信息流里解码经过不同编码的邮件内容。这在一 个高速的网络环境下具有极大的技术挑战性。如果网络山口处设备的硬件性能不高 的话,势必会使网络吞吐量降低,增大网络的负载。 审可扩展性较差,由于所有工作都是由单一设备执行,被监控的主机数和网络规模受 到限制,网络监控系统的实时性要求较高,数据过多会造成其过载,从而网络监控 系统来不及处理过量数据或丢失网络数据包而失效。 夺单点失效,当网络监控系统自身受到攻击或其他原因不能正常工作时,监控功能就 会丧失。 1 1 2 监控计算机的行为 监控计算机的各类系统可以获取、收集、控制、管理并报告网络环境下的计算机活动, 从而管理者清楚了解和控制内部的计算机用户如何使用信息资源。可以随时对区域网络的 各计算机屏幕做全程监控,按规定阻止各计算机执行指定应用程序,记录各计算机文件操 作。控制用户通过移动存储设备窃取机密信息。但是缺乏对主机的互联网活动行为的监控, 不能控制邮件的收发,网站的浏览等。 1 2 监控系统主要的功能要求 一个成功的监控系统至少要满足以下4 个主要的功能要求: 夺实时性要求:如何对局域网内各主机的运行状况实时监测,对主机的受限行为及时 做出反应都是对监控系统的要求。系统的实时性也要求在设计和实现时必须充分考 虑信息的搜集和传送应该尽量降低对系统资源、网络资源的占用,这样才能保证实 时监测的可能性。 夺可扩展性要求:无论是对网络行为的监控,还是对于计算机行为的监控。都是基于 目前应用的需要和安装节点类型的要求。如果安装在上网的主机上,那就要求网络 和主机行为两方面的监控:如果安装在服务器上,那只要求能够远程控制机器提供 服务器的种类的功能;如果安装在网关上,就只是提供对网络行为的监控。不同的 安装节点对系统的功能要求是不同的,就要求系统是可裁减的,能够在不改变系统 的整个体系结构的情况下加入新的功能模块。 夺自启动性要求:监控系统一般由受控代理和控制台组成,系统的受控代理需要一种 启动方式,因为受控者不可能主动去执行这个程序。通常的启动方法有两种:一是 系统启动时自动加载,一是与系统中的某类文件关联,当运行和打开此类文件时受 控代理也运行了。最好要求受控代理经过一次植入后能在开机实现自动启动运行, 无需再次远程植入。启动后自动通知控制台并得到连结所需的参数。 令隐蔽性要求:一个好的受控代理必须要有很强的健壮性,不能被受控者发现从而停 止监控进程的运行,因此多数都要进行隐藏处理。 夺基于以上几点要求,开发了一个主机监控系统。该系统是在l i n u x 平台上实现的, 完全按照可扩展方式构建系统框架。 2 第1 章引言 1 3 基于l i n u x 的主机监控系统概述 本系统采用客户月务器模式,结构上由安装在各个节点上的受控代理和进行远程控制 的控制台两部分组成。由于本系统的实现基于t c p i p 协议和客户服务器模型二者都采 用开放的标准,并不局限于某个具体的操作系统,因此本系统可以很容易的移植到诸如 w i n d o w s 的其他操作系统平台。 圈1 2 主机监控系统的安装结构 本系统通过受控代理进行实对有效的监管,其安装结构如图1 2 所示,随时可以控制 每一台被控计算机,及时了解网络内任意一台被控计算机的运行情况、软件安装种类、硬 件配置情况、网络使用状况。监视和控制网络中每台计算机的硬件的使用状况,软件的运 行情况,网络的连接种类,全方位控伟4 客户端的系统,控制得到的数据实时发送到服务器 端。如果这是一条告警信息,服务器把这条记录存入数据库,并对这个告警做出进一步的 处理,例如杀死进程或者关闭i p 端口。 软件的运行状况通常包括允许或者禁止受控主机运行特定进程,控制台可以实时得到 受控主机当前正在运行的进程,启动的非法进程将被杀死,并给控制台发送相应的告警信 息;允许或暂停受控服务器提供网络服务,控制台可以通过协议命令得到当前受控服务器 正在提供的服务,根据局域网安全的要求停止或者暂停某些网络服务。 硬件监控主要包括获取和设置受控主机内存、硬盘的使用量,光驱、软驱、可移动设 备的使用权限,当使用量到达指定值的时候要向服务器端发送相应的告警。 网络监控包括对邮件的监控和浏览网站的监控,鉴于系统的规模,目前只是实现了获 取用户浏览网站的u r l ,获取自b 件的标题、邮件的发送者和接收者,没有进一步解折出网 页的内容和还原出邮件的内容和邮件的附件,根据需要可以在将来进一步开发中实现网页 和邮件内容的监控。 系统的重点部分在于客户端的设计与实现,在本文的余下部分将详细论述客户端的设 计过程和实现技术。 1 4 本系统的实现意义 本系统通过监控和管理实现了监视各客户机工作情况的能力,实现了管理方与客户机 用户之间的有效监控和交流的功能,达到了一个功能丰富的主机监控系统的要求。一方面 它的监控功能可以保证网络内部管理员对整个网络的监视与控制,对于加强一般内部网络 3 第1 章引言 的安全管理和监视有着促进和补充的作用,控制了内部人员主动或无意间泄露机密的可能 性;另方面也提供了丰富的手段供管理者管理网络,同时它所提供的多种管理方式对内 部网络管理者和一般用户之间的协同工作也有相当大的作用,减少了计算机资源的浪费, 提高了工作效率。 1 5 论文的组织结构 首先在引言部分,论述了网络应用化的发展以及对开发主机监控系统的需求。阐述了 现阶段监控系统的发展现状之后,提出了对开发监控系统的功能要求,之后是开发主机监 控系统的重要意义。 第二章提出了主机监控系统的体系结构和总体设计框架,阐述了系统的设计目标、系 统的工作原理、系统的工作流程以及系统的模块划分。 第三章介绍了在l i n u x 环境下实现主机监控系统所使用的关键技术,其中包括可加载 内核模块技术,n e t f i l t e r 机制和l i n u x 的可执行文件的格式分析。 第四章详细叙述了系统通信模块的设计与实现,以及系统使用的协议规范和重要的数 据结构。 第五章叙述了系统功能模块的设计与实现,以及对于不同的功能所采用技术的分析。 主要对几个比较典型的功能子模块进行了分析,以及说明受控代理在主机上是如何做到对 用户隐藏的。 第六章主要叙述了系统的安装和测试,说明了怎样实现系统的隐蔽性安装,以及在主 机启动的时候如何自动加载受控代理。 第七章对主机监控系统进行了总结,并提出了系统将来进一步发展和完善的方向。 4 第2 章系统的总体设计和总体框架 2 1 系统设计的目标 主机监控系统是一种分布式的网络用户行为和节点信息收集系统,它将局域网内各个 节点的软硬件配置状况、用户的访问控制、网络行为的监管、基于主机的安全操作等功能 集为一体,具有监控功能全、监控范围广、监控效率高、自身安全性高等特点。因此,整 个主机监控系统的设计基于如下目标: 夺节点信息的收集:收集受控主机的操作系统类型、主机的i p 地址、i p 地址掩码、 网卡的物理地址、计算机名称、当前的登录用户、目前的系统时间、主机当前安装 的软件信息、内存的大小,系统分区的状况。 夺主机行为的监控:控制受控主机可以运行的进程、服务器可以提供的网络服务的种 类、控制用户使用硬件设备的权限。对主机远程关闭、重启控制。获取主机屏幕和 键盘记录。 夺网络操作的监控:控制用户修改主机l p 地址,获取受控主机目前正在使用的1 p 端 口,允许和禁止通过某些端口建立网络连接;监视用户目前在浏览的网站和收发电 子邮件。 夺实时性:对于用户的违规操作,受控代理根据控制台对受控端的权限设置和访问控 制参数的设置立刻做出反应,并向控制台发出告警信息,等待控制台的进一步处理 结果。启动了非法进程,受控代理就关闭这个进程。用户修改了主机的坤地址, 就会像控制台发送告警信息,由管理员决定是否允许主机继续运行。 夺可扩展性:主机系统采用模块化设计,动态插件机制。根据新的需求,在不改变系 统整个体系结构的前提下,加入新的功能模块。更进一步的是,可以在受控端不停 止运行的情况下,动态插入新的监控功能模块。 寺监控的多样性:系统不但有主机行为的监控,还有网络行为的监控,还可以收集设 备节点的信息。是网络管理软件,内部网络安全软件的有益补充。 夺客户端的自动加载和隐藏:考虑到受控主机的用户不可能自愿运行客户端程序,去 主动接受监控。因此就要求计算机启动时,自动加载受控代理,并且整个监控行为 对用户都是隐蔽的,可以有效的防止用户破坏受控代理的功能。 2 2 系统的工作流程 主机监控系统客户端的工作流程如图2 1 所示,需要说明的是,客户端的工作流程很 大程度上受到了系统的体系结构的影响。为了降低受控代理被用户发现的风险,减少监控 行为被察觉的可能性。系统设计上,把功能模块设计成动态共事库的形式,放置在服务器 端。当受控代理启动的时候,就会去下载功能模块,然后根据动态共享库的使用原理初始 化功能模块,完成监控行为。这样做还有两个好处:方面,要求受控代理在主机上的运 行是随着计算机操作系统的启动而启动的,就要利用木马技术或者程序植入技术,把受控 代理植入操作系统的某个系统程序中,当系统程序被执行时就会去执行受控代理。那么就 要求受控代理程序尽可能的小,以至于可以方便植入。所以整个系统采用动态共享库的设 5 第2 章系统的总体设计和总体框架 计方式,就缩减了受控代理程序的火小。另一方面,由于使用了动态共享库,如果将来对 系统进行扩展,加入新的功能时,不必修改受控代理程序,只要修改动态共享库就可以了, 这样客户端下载的总是最新的功能模块。 图2 , 1 主机监控系统的工作藏程圈 主机监控系统的工作流程具体包括以下几个步骤: 夺启动通信模块,与控制台建立连接,接受控制台的身份验证,如果验证成功,就返 回一些附加信息,由客户端和服务器端在此后的通信中使用,如果验证失败就断开 连接。 夺连接完成,验证无误后,下载配置文件和功能模块,根据配置文件初始化功能模块, 生成各个功能子模块对象。不同的网络节点,其监控范围是不同的,要求的监控功 能也不同。通过配置文件来决定需要初始化那些功能子模块,生成其子模块的对象。 夺初始化完成后,客户端以一个无限循环的方式等待是否有控制台命令数据包到达, 直到计算机系统关闭。如果有监控命令,就会根据命令包的分类判断需要监控什么 内容,然后分发到相应的功能子模块去完成控制台要求的操作。 夺操作结果通过t c p i i 发送到控制台,由控制台决定是向管理员发出告警,还是存 放到数据库中等待将来的查询、审计、总结。 2 3 系统的体系结构和模块划分 2 3 ,1 系统的体系结构 基于监控内容的多样性和复杂性,主机监控系统在设计过程中广泛采用了模块机制, 6 第2 章系统的总体设计和总体框架 每一个功能由一个子模块实现。每个子模块尽管在功能上有很大的差异,但是从模块的系 统架构上来讲是非常相似,只不过在定义和实现方式上有所差别。这种差别不会对统一的 功能模块结构产生负面的影响。从整体上来讲,所有的功能子模块的架构是一致的,所以 在系统的体系结构中,用一个共性的结构表示每一个功能子模块。 、 厂、7、 功能模块 l 髓 控制功能单元 设置与控制| 一 r 一一隐藏功能单元l 1 分折命令 一获取信息1 t0 接收命令结果回送 ” 十夕 通信模块酐一 l o 掣一# * 矗呻峨秘一蝌擐娥特群一。9 0 ? 甓警一 :j 。1,7 士士、 发送命令1 结果回放i l j 。1 1 一 一 控制台模块 l 存入数兰库l 图2 2 主机监控系统体系结构 主机监控系统结构如图2 2 所示,包括四个大的模块,:服务器端控制台模块,客户端 的通信模块、功能模块、l k m 模块。整个系统的体系结构如上图所示,各个模块功能如下 所述: 夺簸务嚣端控制台模块:控制台提供安全策略的定义、描述、修改和存储功能。当管 理员启动控制台以后,经过合法的身份认证之后,进入控制台系统。系统主要由两 部分组成:用户视图、内部功能处理,如图2 3 所示。第一部分,用户视图是友好 的g u i 界面管理,g u i 图形用户接口工具可以完成对受控代理的管理和控制功能。 控制台的左视图按照代理的类型进行主机列表的显示,管理员可以根据左边代理主 机进行选择,右边视图随之进行对应的切换,进行系统的安全策略规划和控制管理。 第二部分,内部功能处理部分,这部分主要是涉及控制台定时触发的一些功能和控 制台主动发出的命令请求。这些功能模块的处理都是并发进行的主要是通过底层 的网络通信模块和代理进行交互的信息传送和处理。控制台监听t c p 网络端口, 等待代理主动连接到控制台,根据代理的命令请求( 通过网络传输的操作命令) 控制台可以转入不同的处理功能。接受的操作主要有:一种,处理不同类型的代理 登录和注册,当代理启动以后,主动向控制台发出连接请,控制台接收代理的一些 7 第2 章系统的总体设计和总体框架 主机的基本信息,向控制台进行身份认证,当成功以后,更新代理列表的用户视图, 设置代理状态,并为该代理做一些初始化操作;另一种,处理受控代理发送的报警 信息,受控代理发生违规事件以后,向控制台进行报警,控制台根据本地的策略设 置,选择合适的报警方式,并将报警信息进行数据库存储,以供将来管理员的统计、 审计时使用。 图2 3 控制台g u i 界面管理 夺客户端通信模块;通信模块的作用是显而易见的。它是受控代理与控制台交互操作 的中枢,进入代理的安全策略设置和请求操作命令都要经过通信模块。由通信模块 根据不同的功能子模块m 将设置和命令分发到不同的子模块对象进行管理和控 制。又因为,系统的模块化设计和统一功能模块的输出接口,所有模块的处理结果 和受控代理的命令请求和告警信息也由通信模块送往控制台。另外,通信模块还肩 负着下载功能模块、初始化功能模块、更新功能模块的重要任务。 夺客户端功能模块:功能模块是所有监控种类的集合。它是对各种各样监控内容的抽 象,具体包括监视网内各个主机的工作状况、收集各个主机的详细工作资料、管理 者对远程主机的控制和设置、管理者对客户主机的屏幕监控。 审客户端l k m 模块:l k m 可加载内核模块是l i n u x 系统一种内核扩展和内核 修改机制,l k m 的作用非常丰富,在本文的主机监控系统中,它一方面保护受控 代理进程来避免被用户杀死,隐藏对客户主机的监控行为,另一方面还要协助功能 模块一起完成系统的监控功能。 2 3 2 系统功能模块的模块划分 夺主机信息获取模块:受控代理通过主机信息获取模块完成控制台对系统信息的获 取,获取信息包括操作系统、处理器类型、操作系统版本、所在的域、登录用户和 系统已经安装的软件信息。 夺主机系统控制模块:主机监控系统为管理者提供了在特殊情况下的一些极端的管理 办法,管理者可以在监控中心对受控主机进行主动控制,可以强行关闭、重新启动 受控主机,也可以锁定、解锁受控主机。当机器被锁定后,键盘和鼠标都被锁定了, 使其不能运行任何应用程序。对主机的关闭、重启、锁定、解锁都是通过主机系统 控制模块实现的。 夺内存管理模块:受控代理通过内存管理模块完成控制台对内存信息的获取和内存控 8 第2 章系统的总体设计和总体框架 制操作。获取的内存信息如图2 4 所示,包括:内存总量、剩余量、剩余警告量、 剩余警告百分比。内存信息的获取可以反映出受控主机应用程序对内存的占用量。 当内存的剩余量低于剩余警告量或剩余百分比低于剩余警告百分比时,便会产生内 存告警。 圈2 4 控制台获取内存信息的视豳 内存控赘4 主要对受控主机的内存进行管理,它既可以获取受控主机的内存信息( 包 括内存总量、内存使用量、剩余警告量、剩余警告百分比) ,又可以对受控主机的 内存告警进行管理,如图2 5 所示。为了便于管理被控计算机,管理者可以在控 制台设置被控计算机在什么情况下产生内存告警,以便能及时了解被控计算机的 运行情况。内存告警条件是:受控主机的剩余量低于剩余警告量或剩余百分比低 于剩余警告百分比,便会产生内存告警。( 内进程管理模块内存总量,内存使用量 不能够设置,它是随机获得的) 圈2 5 控制台进行内存控制的视图 主机屏幕模块;截取受控主机的屏幕图像,要求传输完成后在客户机内部留任何文 件。管理者可以主动提取受控主机当前屏幕信息,并将其保存到控制台的数据库和 任意目录下。管理者可以很方便的查询浏览以前保存的屏幕图像信息。此外,管理 者还可以让监控中心对菜一受控计算机自动实时取屏,只要设置好取屏的间隔时 间,受控主机的屏幕图像就会一幅幅自动显示到控制中心该被监控计算机的视图 9 第2 章系统的总体设计和总体框架 中,便于管理者实时监视受控主机的操作。 夺驱动器管理模块:受控代理通过驱动器管理模块完成控制台对分区信息的获取和分 区的控制操作。获取的分区信息包括:分区挂载点、分区类型、逻辑分区总容量、 剩余量、剩余警告量、剩余警告百分比。分区信息的获取可以反映出客户机用户对 硬盘分区的占用量。当硬盘分区的剩余量低于剩余警告量或剩余百分比低于剩余警 告百分比时,便会产生分区告警。硬盘分区控制主要对受控主机的分区进行管理。 它即可以获取受控主机的分区信息,又可以对受控主机的分区告警进行管理。为了 便于管理被控计算机,管理者可以在控制台设置被控计算机在什么情况下产生分区 告警,以便能及时了解被控计算机的运行情况。分区告警条件是:受控主机分区的 剩余量低于剩余警告量或剩余百分比低于剩余警告百分比、或非法使用光驱、软驱、 可移动磁盘,便会产生分区告警。 夺进程管理模块:受控代理通过进程管理模块完成控制台对进程信息的获取和进程的 管理控制。对于获取的每一个进程,要求得到的进程信息包括:进程】d 、进程名、 运行进程的用户、进程的内存使用量,如图2 6 所示。进程控制是对受控主机的进 程进行直接管理。默认情况下,受控代理允许被控计算机运行系统进程。当被控计 算机运行了其他程序时,受控代理会立刻将此程序杀死并向控制台发送进城告警信 息。管理者可以在控制台配置被控计算机,允许其运行其他管理者指定的进程。对 于被控计算机上已经允许并正在运行的进程,管理者可以在控制台实时将其杀死。 圈2 6 控制台进行进程控制的视圈 夺文件和目录管理模块:主要功能是遍历各个逻辑分区的目录和文件,负责文件的上 传和下载。它在控制台的g u i 界面就像资源管理器一样对受控主机进行目录树的 展开。 夺服务管理模块:通过服务管理模块控制台可以远程对被控计算机的提供的服务进行 控制操作。主要操作包括:获取服务列表、启动服务、停止服务、暂停服务、继续 服务、设置此服务为自动、设置此服务为手动、设置此服务为禁止。 夺l p 端口管理模块:此模块由三个功能,一、通过此模块获取t c p 、u d p 端口的使 用状态,控制台也可以对端口的状态进行控制,设置为允许或禁止。二、进程端口 管理,如果进程被设置为允许的,那么此进程可以使用的端口不受端1 5 1 状态的约束, 即使端口被禁止也可以由此进程使用,也就是进程的优先级更高。此模块还有另外 一个功能,郎口地址管理模块:监控用户是否修改了主机的i p 地址,如果用户修 改了地址,就会发送一条告警信息,信息中包括原来的l p 地址和新的1 p 地址。管 第2 章系统的总体设计和总体框架 理员根据i p 地址告警来判断是否允许受控主机继续运行,还是远程关闭它。 夺键盘记录模块:记录用户的击键信息,并把周期性的把击键记录发送到控制台,用 控制台存放到数据库中,让管理员以后查询审计。 夺网页浏览记录模块:主要开发目标是监控用户浏览的网站,还原网页内容等。但是 还原网页内容要占用大量c p u 时间,所以考虑把传送的数据包发送到服务器端, 由服务器实现网页内容的还原。目前在客户端的功能可以阻断和允许用户浏览某些 网站,记录浏览网站的u r l 夺邮件监控模块:主要的开发目标是监控用户接受和发送的邮件,还原邮件的内容。 但是基于跟网页浏览记录模块同样的理由,考虑把邮件内容的还原交由服务器端完 成。在客户端的功能是记录发送或接收邮件的主题、邮件的接收者、邮件的发送者。 2 4 系统的开发环境 夺系统平台:r e d h a t l i n u x 9 0 夺网络环境:交换式以太网 审开发工具:l i n u xc + + 、l i n u xs h e l l 1 1 第3 章l i n u x 平台支持 第3 章l i n u x 平台支持 系统各个功能子模块的实现需要用到l i n u x 操作系统很多相关技术2 1 【3 l 。因此在详细 介绍各个模块的设计与实现之前,有必要说明这些模块实现所需要借助的关键技术。 3 1 1l i o 介绍 3 1l i n u x 可加载内核模块( l k m ) 如果想把代码加入到l i n u x 内核中,最基本的方式就是把源代码文件加入到内核源代 码树中,然后重新编译内核。这种方式显然比较笨拙,因为加入新的代码之后必须每次都 要重新编译内核。可不可以以在系统运行期间就可以把代码加入的l i n u x 内核空间呢? 答 案是肯定的,按照这种方式加入到内核中的一段代码就是l k m 4 ( 1 0 a d a b l e k e r n e l m o d u l e ) 。 l k m 有很多优点。一是不必经常的重新编译内核。这节约了时间,而且降低了在重新 编译内核和重新安装基内核过程中引入错误的可能性。一旦有了一个正常的基内核后,就 尽可能的不要去改动它,使用l k m 达到目的就可以了。 另外一个优点是【k m 可以帮助诊断系统的问题。如果绑定到基内核中的设备驱动程 序存在一个b u g ,它就可能导致系统不能启动或不能正常启动,很难辨别到底是基内核的 哪个部分带来了这个问题。但是,如果设备驱动程序是l k m 形式的,在驱动程序被加载 之前基内核运行良好,加载驱动之后,系统崩溃了或者死机了,那很明显问题的制造者就 是这个设备驱动程序。除非修正了这个错误,否则不要加载这个驱动。 3 1 2l k g 的作用 l k m 主要有五个作用: 设备驱动:设备驱动 5 1 被设计用来作为特定硬件的一部分,内核使用它与硬件通信 而不需要知道硬件的具体工作细节。对于系统中的任何硬件,内核必须包含它的设 备驱动后才能使用。 夺文件系统驱动:一个文件系统的驱动解释了一个文件系统内容( 也就是磁盘驱动) 为文件还是目录。事实上,有很多不同的方法把文件或者目录存放在磁盘上、网络 服务器上等,每一种方式都要有文件系统驱动程序。例如。在l i m t x 中普遍使用的 e x t 2 文件系统,就有e x t 2 文件系统驱动程序。 夺系统调用:用户空间程序使用系统调用来获得内核空间提供的服务。例如读文件、 创建进程或者关闭系统都要系统调用来完成它的既定功能。大部分的系统调用与系 统本:身是一个整体,它们都被直接编译进基内核中。但是可以加入新的系统调用, 然后以l k m 的形式加载到内核中。或者不喜欢现在l i n u x 系统调用提供的服务行 为,就可以用自己的l k m 覆盖现存的系统调用。l k m 的这种作用非常重要,是 实现l i n u x 主机监控系统的关键技术之一。 夺网络驱动:网络驱动解释网络协议。它在内核网络协议栈的不同协议层都提供、消 费数据流。例如,如果在网络中想得到一个i p x 链接,就必须使用i p x 网络驱动。 第3 章l i n u x 平台支持 夺可执行文件的解释器:一个解释器加载、运行一个可执行文件。l i n u x 可以有多种 不同形式的可执行文件,每一种可执行文件都要有不同的可执行文件解释器。 3 1 3 加载或移除l k m 表3 1 是与l k m 操作相关的工具,插入或者移除l k m 的基本命令就是m s m o d 和 r m m o d 。已经成功加载了的u o d ,会出现在p r o c m o d u l e s 文件中。 表3 1 l k m 相关操作工具 命令名命令作用简述 i n s m o d插入一个l 酬进入内核。 r m m o d把l k m 从内核移除。 d e p m o d 判断l k m 模块之间的相互依赖关系。 l m e l dk e r n e l d 精灵程序。 k s v m s显示由内核导出的可以被新的l k m 使用的符号表a l s m o d显示当前已经加载的l k m 。 m o 曲血 显示l i ( m 对象文件m o d i n f o 部分的内容 m o d 口r o b e智能化的插入或移除一个或一组l k m 。例如,如果在加载模块b 之前必须加裁 模块a ,当使用m o d p r o b e 加载模块b 时就会自动加载模块a m o d p r o b e 可以自动加载l k m 需求的其他模块,它是借助于d e p m o d 命令产生的文件 来达到这种能力的。m o d p r o b e 的另一个主要作用就是在给出l k m 名字的时候,找到l k m 对象文件,前提是已经正确设置了m o d u l e s c o n f 文件。m o d p m b e 是非常重要的,因为缺省 情况下,内核模块加载器使用它按需加载模块。因此如果使用了模块的自动加载功能,就 要正确的设鬣m o d u l e s c o n f 文件,否则m o d p r o b e 不能很好的起作用。使用m o d p r o b e 也可 以删除l k m 栈。另外通过l k m 配置文件( 典型的如e t c m o d u l e s c o n f ) ,可以修改模块的 依赖关系从而控制l k m 的选择。 l k m 机制一个好处就是,内核第一次需要一个模块时,它可以自动加载l k m ,不必 手动加载。可以通过l i n u x 系统的内核模块加载器实现按需加载。简单来说,当内核使用 这个机制加载模块时,创建一个用户空间的进程来执行m o d p r o b e 加载l k m ,然后这个进 程退出。缺省条件下,内核把m o d p r o b e 指i 旬s b i n m o d p r o b e 。 3 1 4l k m 工作原理 所有的l 删包含两个最基本的函数( 最小) :用于初始化所有成员的i n i t _ m o d u l e 0 函 数和用于退出清理c l e a n u p _ m o d u l e 0 函数。 i n s m o d 通过系统调用i n i t把装入内核空间。系统调用在装m o d u l e 0 l k m i n i t m o d u l 0 入l k m 的时候要引发l k m 的初始化过程( r o u t i n e ) ,i n s m o d 要传递l k m 的韧始化函数 i n i tm o d u l e 的地址给系统调用i n i tm o d u l e o 。注意。每一个u 0 讧都有一个叫i n i l m o d u l e 的子过程( s u b r o u t i n e ) ,而基内核有一个系统调用,这个调用是通过标准c 库中的 i n i tm o d u l e 0 过程来使用的。 l k m 的编写者要定义初始化函数i n i t m o d u l e 调用内核函数来注册l k m 包含的子过 程。例如,字符驱动程序的i n i tm o d u l e 函数可能调用内核的r e g i s t e r _ c h r d e v 函数,传递主 第3 章l i n u x 平台支持 设备号、子设备号和l k m 自己的o p e n 过程地址给r e g i s t e r 。然后就_ c h r d e v r e g i s t e r _ c h r d e v 把这个结构体记录到内核表中,当内核想打开那个字符设备的时候,就要调用l k m 中的 o p e n 函数。 但l k m 的i n i t _ m o d u l e 函数是怎么知道基内核的r e g i s t e r _ c h r d e v 函数的地址的,这个 函数又不是系统调用,仅仅是一个绑定到基内核中的普通函数而已。l k m 调用这个函数就 意味着要使用这个函数的地址,然而没有编译进基内核任何位置的l k m 是怎么知道这个 函数地址的? 答案就是i n s m o d 的重定位,i n s m o d 的功能之一就是作为一个重定位的 l i n k e r l o a d e r 。l k m 对象文件包含一个对r e g i s t e rc h r d e v 函数的外部引用,i n s m o d 通过 q u e r y系统调用找出被内核导出的各种各样的内核符号的地址,当然也包括_module r e g i s t e rc h r d e v 。q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论