2 系统结构
2.1 模块功能说明
2.1.1 监控器和Web插件
为了监控的实时性、减少对网站访问速度影响,LeaGuard采用核心内嵌技术与事件触发技术相结合的方式。监控器能够从操作系统内核实时捕获文件和目录的读写信息,一旦发现某个关心的网站文件或目录有修改、删除、添加等动作时,监控器即会实时地与备份服务器上的相应文件和目录做MD5摘要对比。当发现网页被篡改时,监控器会通知内嵌在Web服务器上的Web插件,阻止相应web网页被访问,同时从备份服务器同步文件进行修复。在网页没有修复之前,Web插件会阻止外部对此网页的访问。当修复之后,监控器会通知Web插件解除对此网页的访问阻止。
除了网页被非法篡改外,网页文件也会系统管理员正常更新和修改。监控器能够区别这两种情况,对于后者,系统不会产生告警。
监控器有自保护功能,在运行中不能被停止。
LeaGuard的核心内嵌与事件触发相结合技术与传统的轮询技术、单纯的事件触发或者核心内嵌技术相比有以下优点:
(1)实时性。LeaGuard通过事件触发机制能够从操作系统捕获每个文件和目录读写动作,所以与轮询技术和核心内嵌技术相比有很强的实时性。
(2) 安全性。恢复被篡改的文件需要时间,有时可能会修复失败(如该文件被黑客程序锁住了),所以在被修复之前外部应该不能访问此网页。LeaGuard通过运行在Web服务器中的Web插件来实现此要求。
LeaGuard的监控器在检测到网页被篡改后会通知Web插件不让此网页被访问,Web插件所做的工作是简单的网页过滤。而核心内嵌技术的Web插件需要判断被访问的每个网页是否被篡改了。所以,LeaGuard在保证被篡改文件不被外部访问的前提下,对网页访问速度的影响也比核心内嵌技术要小。轮询技术和事件触发技术无法保证这种安全性。
2.1.2 备份服务器
备份服务器主要实现三个功能:
(1)为监控器提供某个指定文件或者目录的正确摘要值,监控器利用该摘要值判断网页文件是否被篡改;
(2)为监控器提供文件或者目录内容。监控器通过复制这些文件或者目录的内容来恢复被篡改的文件。
(3)网页内容更新服务,管理员可以通过备份服务器自动或者手动更新网站的内容,方便管理维护工作。
LeaGuard允许让一个备份服务器为多个Web服务器上的监控器提供服务,对于规模较大的网站系统,可以部署多个备份服务器。
2.1.3 管理服务器
管理服务器实现如下功能:
(1)HTTP服务器。系统管理员可以通过Web浏览器在任何机器上管理LeaGuard系统;
(2)管理监控器和备份服务器,为Web客户端提供监控器和备份服务器的运作状态;
(3)在Web客户端和监控器之间、Web客户端和备份服务器之间建立通信通道;
(4)接收监控器发送的告警事件并保存到数据库中,将告警事件发送给事件处理模块。
2.1.4 事件处理、Email告警和Message告警
事件处理模块接收从管理服务器来的告警事件,并根据配置的策略通知Email告警模块或者Message告警模块将告警信息发送给相应管理员。
2.1.5 Web客户端
为LeaGuard系统提供Web管理界面。
2.2 主要功能实现流程
2.2.1 防篡改及自动告警
网页防篡改与自动告警实现流程如下:
(1)系统管理员通过Web客户端设置要监控的web网页文件以及对应的备份服务器的文件目录;
(2)监控器监控这些网页是否有非法写的动作(即不是监控器自己在写文件),如果有,则:
(2.1)监控器从备份服务器读取该文件或者目录的MD5摘要,与本地计算的MD5摘要进行比较,如果不一致,则:
(2.1.1)通知Web插件阻止该web网页的外部访问;
(2.1.2)向管理服务器发送网页被篡改的事件,事件内容包括发生时间、机器地址、被篡改的全路径文件名、篡改的进程名和ID。管理服务器将篡改事件写入数据库,并通知事件处理模块,后者向系统管理员发送告警事件;
(2.1.3)从备份服务器更新相应文件或者目录,如果更新成功,则向Web插件发送通知,解除对相应网页的访问阻止,向管理服务器发送网页恢复成功的事件。
2.2.2 网站更新
网站更新的实现流程如下:
(1)系统管理员通过Web客户端设置好Web服务器与备份服务器之间的目录对照关系;
(2)系统管理员将要更新的网站文件上传到备份服务器上;
(3)系统管理员通过Web客户端通知监控器要进行网站更新,并告诉监控器要更新的目录或者某个文件;
(4)监控器主动请求备份服务器,要求更新某个目录下的文件或者某个具体的文件;
(5)备份服务器将所有需要的文件发送给监控器,监控器更新相应文件。
在网站更新过程中,虽然发生了文件写操作,但由于监控器能够识别该写操作是自己发出的,所以相应文件变化时不会告警,同时又能够对其他文件继续进行监控。
3 系统性能
(1)发生篡改的检测时间
对于1MB以内文件,从篡改发生到系统报告篡改事件的时间在1秒以内。
(2)网页恢复的时间
对于1MB以内文件,从篡改发生到系统自动恢复文件的时间在2秒以内。
4 系统安全性
LeaGuard在如下几个方面实现安全性:
(1)阻止被篡改文件的外部访问
系统在检测到文件被篡改后,在恢复之前,该网页不能被外部访问。
(2)监控器的自保护,能够抵御已知手段的攻击
监控器程序在机器启动时被自动启动,在运行过程中不能被停止。
监控器没有对外打开任何服务端口,所以可以抵御已知手段的网络攻击。
(3)通信信息的安全性
监控器与备份服务器之间、备份服务器与管理服务器之间、监控器与管理服务器之间的数据传输采用SSL加密,保证数据传输的安全性。
(4)用户权限管理
系统支持多用户管理,可以设置用户能够管理的Web服务器和备份服务器,是否可以查看审计日志等。用户登录系统时只能看到有权限的Web服务器状态和告警事件。
(5)审计日志
对用户的所有操作都有审计日志记录。 |