三、OSSEC
1.简介
OSSEC属于基于主机和应用的入侵检测系统,通过监视企业重要服务器和各种应用以避免企业资源被攻击、滥用和误用。在前文的介绍中,我们把基于主机和基于应用的入侵检测系统分成了两大类,不过在实际环境中,往往会将二者结合在一起使用。这是因为二者采集信息的来源相同,都是那些被监视保护的主机,而且黑客对主机进行侵入时,往往会同时攻击操作系统和应用服务上的漏洞。OSSEC目前的最新版本是1.5。OSSEC是一个非常典型的主机型入侵检测系统,我们可以通过了解它的体系结构与工作原理来了解这一类型的入侵检测技术。
OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中。包括了日志分析,全面检测,rook-kit检测。作为一款HIDS,OSSEC应该被安装在一台实施监控的系统中。另外有时候不需要安装完全版本得OSSEC,如果有多台电脑都安装了OSSEC,那么就可以采用客户端/服务器模式来运行。客户机通过客户端程序将数据发回到服务器端进行分析。在一台电脑上对多个系统进行监控对于企业或者家庭用户来说都是相当经济实用的。主要功能有日志分析、完整性检查、rootkit检测、基于时间的警报和主动响应。除了具有入侵检测系统功能外,它还一般被用在SEM/SIM(安全事件管理(SEM: Security Event Management)/安全信息管理(SIM:SecurityInformation Management))解决方案中。因其强大的日志分析引擎,ISP(Internet service provider)(网络服务提供商)、大学和数据中心用其监控和分析他们的防火墙、入侵检测系统、网页服务和验证等产生的日志。OSSEC的逻辑结构如图2 。
图2 OSSEC的逻辑结构
OSSEC的逻辑结构比较抽象,我们看看它的三层体系结构,如图3 。
2. 工作原理
(1) Administrator。是一个Unix和linux平台下的命令行的用户接口(GUI),主要起管理维护作用,对OSSEC的大部分管理、配置工作都在这里进行。它的主要作用为建立和断开和Manager的连接、组织和配置代理(Agent)、创建和管理各种类型策略、管理OSSEC 用户和用户优先级、在需要的时候更新Manager的许可证优先级等等。
(2)Event Viewer。这是一个单独的Unix、linux平台下的图形化用户界面,用于查看从Agent中获取的各种事件数据,也就是报警的窗口。这是OSSEC比较独特的一点。一般来说入侵检测系统的管理配置与事件查看功能会结合在一起,用户在看到事件查看模块中的报警后,可以利用管理配置模块来进行策略的调配或者采取其他行动。OSSEC这种分开的做法是出于对管理员职责划分的考虑,在某些企业里可能会把安全管理员分为不同的级别,级别高的管理员可以做所有的事情,而级别低的管理员只允许进行日常的状态与安全情况的监护,但不能实际采取操作去处理问题,他必须向上汇报情况,由上级管理员来处理。这时一个只能显示报警而不能进行实际策略的更改的Event Viewer就比较合适了。如果不需要这么细的管理措施,也可以把Event Viewer与Administrator安装到一个管理工作台上,这样即可以显示报警,也可以配置策略。此外,Event Viewer还可以查询Manager的事件数据库,从而可以查看选定的刚刚发生的或已经发生的各种事件;向代理(Agent)发送各种OSSEC指令;生成并查看各种在线或历史报告。
(3) Manager。是一个运行在后台的应用软件,Manager没有图形化界面,其主要功能是维护与所有注册代理(Agent)的安全通讯;维护域的主列表和把相应的策略分发到每一个代理(Agent);把有关域和策略的变化通知给相应的代理(Agent);接收和存储来自于代理的事件数据;作为OSSEC Administrator、OSSEC Event Viewer和Agent之间通讯的桥梁,维护策略列表和所属域。
Manager是整个运行体系信息流的枢纽,它的应用使OSSEC可以适应大型网络的需要。Agent收集到的攻击与可疑信息会通过Manager向Event Viewer报告,Administrator和Viewer发出的命令与配置指令也会通过Manager下传到Agent上面。在配置时,Administrator、Evnet Viewer与Agent都需要首先到某一个Manager上注册,加入这个Manager所管理的域,才可以参与这个域的安全活动。简单说,就是Administrator注册到Manager A上后,才可以去管理Manager A上已经注册的Agent;Event Viewer注册到Manager A之后才能接受并显示它负责的Agent上报的信息;新的Agent注册到Manager A之后,才可以接受相关的Administrator的策略配置,并把安全报警在相应的Event Viewer上显示。
(4)Agent(代理)。主要起如下作用:监视时间收集器;在发现攻击时,执行相应的动作如通知用户、发送E-mail、通知管理员、终止会话、关闭机器等。从Manager中接受安全升级(Security Update)。建立与Manager的安全连接,同时加密数据以便数据可以在网络中安全传送。OSSEC代理被安装在服务器或工作站中,这些代理可以监视该系统中的所有行为,包括和操作系统的交互通信以及特定的应用,从而可以主动保护企业资源和业务免受非法使用和破坏。