在Solaris网络部署HIDS配置实战(下)
2008-08-23 13:17:39 来源:WEB开发网上文介绍IDS基础和OSSEC的技术特点,下面笔者以Solaris 10操作系统为实例介绍配置具体过程。这里包括几个方面首先是ossec-hids-1.5 在Solaris 10 服务器进行安装和配置,然后再Linux 工作站、windows工作站、BSD工作站上配置OSSEC的IDS代理。最后是基于Web的监控界面的配置。过程比较长对于初学者有一定难度。
一、在Solaris服务器下配置ossec-hids-1.5
系统要求:首先必须配置好C 编译器和make工具。只是Unix工作的基础,读者可以查看相关资料进行配置,笔者略过。另外硬件方面根据监控的主机数量如表-1 配置。
IDS代理客户端数量 | IDS服务器CPU数量 | IDS服务器CPU速度 | IDS服务器内存容量 | IDS服务器用于客户端的磁盘存储容量 |
1–100 | 1 | 大于1500MHZ | 1024MB | 20GB以上 |
100-200 | 双核或者多处理器 | 大于2000MHZ | 1024MB以上 | 40GB以上 |
1、软件下载安装
#wegthttp://www.ossec.net/files/ossec-hids-1.5.tar.gz
#wegthttp://www.ossec.net/files/OSSEC-GPG-KEY.asc
#gpg--importOSSEC-GPG-KEY.asc
#gpg--verifyfile.sigfile
说明通过gpg验证可以保证软件包安全。
#gunzipossec-hids-1.5.tar.gz
#tarvxfossec-hids-1.5.tar
#cdossec-hids-1.5
#./install
开始安装界面如图1 。
图1 开始安装
首先是语言选择由于笔者使用Solaris 10 服务器不能支持UTF 编码格式,所以汉字显示为乱码,所以选择英文安装不过这应当是Unix 系统管理员基本功,不过在Linux 下是可以使用中文安装的。接着系统进行检测主机情况如图2 。
图2 检测主机情况
说明OSSEC需要以root权限安装。按 ENTER 继续或 Ctrl-C 退出。
下面是具体安装步骤,包括三大部分若干小部分:
您希望哪一种安装 ,如图3 。
图3 选择安装类型
说明:您可以有三种安装选项:服务器端安装(server),代理端(agent)或本地安装(local):如果选择'服务器端安装(server)', 您将可以分析所有日志,发送e-mail告警及联动,接收远端机器的syslog日志, 接收代理端发回的日志(代理端发回的日志是经过加密的).如果您选择'代理端安装(agent)', 您将可以读取本机文件(syslog, snort, apache等)并将它们发送给服务器端(加密过后)进行分析.如果选择'本地安装(local)',除了不能接收远程机器或代理端发回的信息外,你可以作服务器(server)安装能做的任何事情。如果您希望安装一个日志分析服务器,请选择'server'.,如果您已经有一台日志分析服务器并且希望将本机的日志传送给它,请选择'agent'. (这是web服务器, 数据库服务器等的理想配置方法),如果您只有一台机器要监控,那么请选择'local'。
本章选择Server 服务器安装。
初始化安装环境
初始化安装环境即选择安装目录,通常选择/var/ossec即可。
配置 OSSEC HIDS
此处是本文配置关键之处,笔者详细介绍:包括6 项内容,代码依次如下:
-ConfiguringtheOSSECHIDS.
-Doyouwante-mailnotification?(y/n)[y]:y
-What'syoure-mailaddress?youremail@yourdomain.com
-What'syourSMTPserverip/host?yoursmtpserveraddress(localhost)
-Doyouwanttoruntheintegritycheckdaemon?(y/n)[y]:y
-Runningsyscheck(integritycheckdaemon).
-Doyouwanttoruntherootkitdetectionengine?(y/n)[y]:y
-Runningrootcheck(rootkitdetection).
-Activeresponseallowsyoutoexecuteaspecific
commandbasedontheeventsreceived.Forexample,
youcanblockanIPaddressordisableaccessfor
aspecificuser.
Moreinformationat:
http://www.ossec.net/en/manual.html#active-response
-Doyouwanttoenableactiveresponse?(y/n)[y]:y
-Activeresponseenabled.
-Bydefault,wecanenablethehost-denyandthe
firewall-dropresponses.Thefirstonewilladd
ahosttothe/etc/hosts.denyandthesecondone
willblockthehostoniptables(iflinux)oron
ipfilter(ifSolaris,FreeBSDorNetBSD).
-TheycanbeusedtostopSSHDbruteforcescans,
portscansandsomeotherformsofattacks.Youcan
alsoaddthemtoblockonsnortevents,forexample.
-Doyouwanttoenablethefirewall-dropresponse?(y/n)[y]:y
-firewall-dropenabled(local)forlevels>=6
-Defaultwhitelistfortheactiveresponse:
-192.168.2.1
-DoyouwanttoaddmoreIPstothewhitelist?(y/n)?[n]:n
-Settingtheconfigurationtoanalyzethefollowinglogs:
--/var/log/messages
--/var/log/auth.log
--/var/log/syslog
--/var/log/mail.info
--/var/log/apache2/error.log(apachelog)
--/var/log/apache2/access.log(apachelog)
-Ifyouwanttomonitoranyotherfile,justchange
theossec.confandaddanewlocalfileentry.
Anyquestionsabouttheconfigurationcanbeanswered
byvisitingusonlineathttp://www.ossec.net.
---PressENTERtocontinue---
中文解释如下:
- 您希望收到e-mail告警吗? (y/n) [y]: n
--- Email告警启用 .
- 您希望运行系统完整性检测模块吗? (y/n) [y]:
- 系统完整性检测模块将被部署.
- 您希望运行 rootkit检测吗? (y/n) [y]:
- rootkit检测将被部署.
- 关联响应允许您在分析已接收事件的基础上执行一个已定义的命令.
例如,你可以阻止某个IP地址的访问或禁止某个用户的访问权限.
更多的信息,您可以访问:
http://www.ossec.net/en/manual.html#active-response
- 您希望开启联动(active response)功能吗? (y/n) [y]:
- 关联响应已开启
- 默认情况下, 我们开启了主机拒绝和防火墙拒绝两种响应.
第一种情况将添加一个主机到 /etc/hosts.deny.
第二种情况将在iptables(linux)或ipfilter(Solaris,FreeBSD或NetBSD)中拒绝该主机的访问.
- 该功能可以用以阻止 SSHD 暴力攻击, 端口扫描和其他
一些形式的攻击. 同样你也可以将他们添加到其他地方,例如将他们添加为 snort 的事件.
- 您希望开启防火墙联动(firewall-drop)功能吗? (y/n) [y]:
- 防火墙联动(firewall-drop)当事件级别 >= 6 时被启动
- 联动功能默认的白名单是:
- 192.168.40.1
- 您希望添加更多的IP到白名单吗? (y/n)? [n]:
- 您希望接收远程机器syslog吗 (port 514 udp)? (y/n) [y]:
- 远程机器syslog将被接收.
- 设置配置文件以分析一下日志:
-- /var/log/messages
-- /var/log/secure
-- /var/log/maillog
-如果你希望监控其他文件, 只需要在配置文件ossec.conf中
添加新的一项-如果你希望监控其他文件, 只需要在配置文件ossec.conf中
任何关于配置的疑问您都可以在 http://www.ossec.net 找到答案.
--- 按 ENTER 以继续 ---
配置界面如图4 。
图4 配置界面
下面经过系统自动配置如果服务器的Gcc和make工具正确。系统可以完成安装如图5 。
图5 配置完成界面
图5 提示如下:-已正确完成系统配置.
要启动 OSSEC HIDS:
/var/ossec/bin/ossec-control start
要停止 OSSEC HIDS:
/var/ossec/bin/ossec-control stop
要查看或修改系统配置,请编辑 /var/ossec/etc/ossec.conf
图6 是最后配置完成界面。
图6 最后配置完成界面
图6提示您必须首先将该代理添加到服务器端以使他们能够相互通信.
这样做了以后,您可以运行'manage_agents'工具导入服务器端产生的认证密匙.
/var/ossec/bin/manage_agents
二、添加代理
下面开始在Solaris 10 服务器下依次添加Linux 、windows 代理。
1 运行/var/ossec/bin/manage_agents 出现如图7界面。
图7 添加代理
显示依次是
(A)添加一个代理
(E)建立一个代理钥匙
(L)查看代理列表
(R)删除一个代理
退出
这里选择A 字母 建立第一个代理。依次输入代理名称、IP地址、序列号。如图8 。
图8 依次输入代理名称、IP地址、序列号
下面选择(E)建立一个代理钥匙,如图9。
图9 建立一个代理钥匙
下面使用把下面一行字符复制下来到一个文本文件中以后使用,然后依次建立第二、第三个代理过程是相同的。
三、Linux下配置 OSSEC的IDS代理
进入一个Linux 工作站,下载安装ossec-hids-1.5 。运行install.sh脚本。开始安装不过安装选项是代理如图10 。除了要输入一次OSSEC HIDS服务器IP地址外,其他安装 过程和在Solaris 10 服务器上相同。
图10 安装选项是代理
说明:这里使用的是Fedora 8 Linux 系统。内核版本2.6.23.1-42.fc8 。
下面运行命令:
/var/ossec/bin/manage_agents
选择I 加入代理钥匙。如图11。
图11 选择I 加入代理钥匙
完成linux 下配置 OSSEC的IDS代理。
四、Windows下配置 OSSEC的IDS代理
软件下载链接:http://www.ossec.net/files/ossec-agent-win32-1.5.exe ,Manage Agent 目前支持NT, 2000, XP ,2003,Vista ,安装过程可以选择扫描IIS 日志和关联响应。如图12 。
图12 安装过程可以选择扫描IIS日志
安装完成后可以运行 “Manage Agent”,如图13 。
图13 运行 “Manage Agent”
在 OSSEC server I 栏目输入服务器IP :192.168.40.135
在authentication Key 栏目输入代理钥匙:
MDAxIHhwIDE5Mi4xNjguNDAuMTM1IDU5OWE0NDM0Yjg5YWVjMDJjZTQzMWUyYzRjOTA4YWM0Mjc3Y2FlMDIzMjlkNGIyZDM5MmUwNDg0NzQwYjRkMWQ=
Manage Agent 可以监控注册表文件的任何变化以及IIS 日志情况。我们知道在网络给我们的工作学习带来极大方便的同时,病毒、木马、后门以及黑客程序也严重影响着信息的安全。这些程序感染计算机的一个共同特点是在注册表中写入信息,来达到如自动运行、破坏和传播等目的。所以监控注册表是非常重要的。另外IIS日志也是黑客攻陷的重点。另外可以设置Manage Agent自动启动使用windows 服务设置。步骤如下:
以管理员或Administrators组成员身份登录,单击“开始→运行”菜单项,在出现的对话框中键入“Services.msc”并回车,即可打开“服务管理控制台”,。你也可以单击“开始→控制面板→性能和维护→管理工具→服务”选项来启动该控制台。在服务控制台中,双击任意一个服务,就可以打开该服务的属性对话框,如图14所示。在这里,我们可以对服务进行配置、管理操作,通过更改服务的启动类型来设置满足自己需要的启动、关闭或禁用服务。
图14 设置Manage Agent自动启动
“服务状态”是指服务的现在状态是启动还是停止,通常,我们可以利用下面的“启动”、“停止”、“暂停”、“恢复”按钮来改变服务的状态。这里选择自动。下面选择将运行服务的账户 ,在上述对话框中单击“登录”选项卡,执行下述操作之一:
(1)要使用本地系统账户,单击“本地系统账户”选项。
(2)要使用本地服务台账户,单击“本账户”选项,然后键入“NT AUTHORITYLocalService”。
(3)要使用网络服务账户,单击“本账户”选项,然后键入“NT AUTHORITYNetworkService”。
(4)要指定另一个账户,单击“本账户”选项,然后单击“浏览”按钮,然后在“选择用户”对话框中指定用户账户即可。
最后在“密码”和“确认密码”框中键入用户账户的密码,单击“确定”按钮。
注意:必须明确配置用户账户以便登录到服务。要验证用户账户是否经过了正确配置,请在“本地用户和组”中右键单击该用户账户。在“属性”对话框的“常规”选项卡上,确认已选中“密码永不过期”复选框,然后单击“成员”选项卡来确认该用户是适当组的成员。如果选择的账户没有作为服务登录的权限,则在你当前管理的计算机上,服务会自动授予该账户适当的权限。
五、启动OSSEC 服务器
1. 启动、关闭、查看OSSEC服务器
所有OSSEC的IDS代理配置完成后就可以启动OSSEC 服务器了,打开一个终端运行命令:
/var/ossec/bin/ossec-control start
图15是OSSEC的IDS服务器启动成功界面。
图15 OSSEC启动成功界面
查看进程可以使用ps命令的相关参数查看运行是否正常,命令如图16 。
图16 查看OSSEC服务器进程
关闭OSSEC 服务器命令:
/var/ossec/bin/ossec-control stop
设置shell脚本管理ossec服务
SMF是Solaris 10操作系统中的软件服务管理工具。它替代了以前操作系统的/etc/*.d中的服务运行脚本。对于使用过Windows的读者来说,SMF的功能类似“控制面板”中的“服务”;对于使用过Linux和UNIX的读者来说,这个功能就是替代部分目录/etc/rc*.d中的启动脚本程序(还有一本分没有替代)和超级服务器(inetd)的功能。另外,使用过Solaris 9的读者知道,Solaris 9是没有这个管理工具的,这是Solaris 10的新功能。SMF主要作为服务操作系统的Solaris 10的服务管理工具,必然要有强大的服务管理功能。SMF作为新的管理工具,具有很多新的特性。SMF提供以下特性:
当出现了管理错误、软件有Bug或者发生了硬件错误,导致了服务程序异常中止时,SMF可以自动按照一定的次序重新启动服务。
使用svcs命令可以查看所有的服务,而使用svcadm和svccfg命令就可以管理这些服务。使用svcs-p命令就可以查看与本服务相关联的其他服务。
通过服务快照设置可以很容易地实现服务的备份和恢复。
通过svcs-x命令可以很容易的对服务进行调试,并且可以使每个服务都有自己的固定日志。
所有的服务都可以通过svcadm进行启动和关闭,如果使用-t参数,则是临时的,系统重新启动后将不再保存。
具有相应角色的非root用户也可以启动、关闭和修改服务。
互相不隶属的服务在系统启动的时候是并行启动的,系统关闭的时候也是并行关闭的。这样系统启动和关闭速度就会很快。
一些rc的启动脚本还是按照以前的方式来启动和关闭
增加OSSEC运行脚本的步骤:
如果想增加控制脚本来启动和关闭服务,就复制这些脚本到/etc/init.d目录,然后在/etc/rc*.d的目录下创造这个脚本文件的软链接。
步骤:
成为超级用户或者授权角色用户
必须一个shell脚本ossec
Ossec代码内容如下:
#!/bin/sh
case"$1"in
start)
/var/ossec/bin/ossec-controlstart
;;
stop)
/var/ossec/bin/ossec-controlstop
;;
restart)
$0stop&&sleep3
$0start
;;
reload)
$0stop
$0start
;;
*)
echo"Usage:$0{start|stop|restart|reload}"
exit1
esac
增加脚本到inti.d目录。
#cpfilename/etc/init.d
#chmod0744/etc/init.d/ossec
#chownroot:sys/etc/init.d/ossec
创建软链接到rc*.d目录。
#cd/etc/init.d
#lnfilename/etc/rc2.d/Snnossec
检查软链接。
# ls /etc/init.d/*ossec /etc/rc2.d/*ossec
以后可以使用ossec 管理OSSEC IDS服务器的启动、停止和创新加载等复杂动作。
配置OSSEC接受防火墙的日志文件
Cisco防火墙PIX
修改配置文件/var/ossec/etc/ossec.conf添加几行:
syslog
192.168.2.2
PIX 防火墙配置如下:
conft
loggingenable
logginghost<192.168.2.2>
nologgingtimestamp
nologgingdevice-id
loggingtrapdebug
loggingfacility20
exit
writemem
配置OSSEC监控数据库的日志文件
监控错误日志 /var/log/mysql/slack.err (error log):
修改配置文件/var/ossec/etc/ossec.conf添加几行
mysql_log
/var/log/mysql/slack.err
监控查询日志 /var/log/mysql/slack.log (generic query log):
修改配置文件/var/ossec/etc/ossec.conf添加几行
mysql_log
/var/log/mysql/slack.log
配置OSSEC接受IIS日志文件
修改配置文件/var/ossec/etc/ossec.conf添加几行
%WinDir%System32LogFilesW3SVC3ex%y%m%d.log
iis
说明:%y–代表年
%m-代表月
%d-代表日
总结:到此为止笔者介绍了在solaris 10服务器建立一个完整的HIDS的基本部分,后边笔者会介绍GUI工具,它可以使HIDS工作更加高效。
更多精彩
赞助商链接