Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4733077
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类: LINUX

2010-03-26 17:39:10

ossec主机入侵检查系统架设
概念
rootkit含义:
rootkit基本是由几个独立程序组成,一个典型rootkit包括:以太网嗅探器程序,用于获得网络上传输的用户名和密码等信息。特洛伊木马程序,为攻击者提供后门。隐藏攻击者目录和进程的程序。还包括一些日志清理工具,攻击者用其删除wtmp、utmp和lastlog等日志文件中有关自己行踪的条目。复杂的rootkit还可以向攻击者提供telnet、shell和 finger等服务。还包括一些用来清理/var/log和/var/adm目录中其它文件的脚本。
这种可恶的程序是一批工具集,黑客用它来掩饰对计算机网络的入侵并获得管理员访问权限。一旦黑客获得管理员访问权限,就会利用已知的漏洞或者破解密码来安装rootkit。然后rootkit会收集网络上的用户ID和密码,这样黑客就具有高级访问权限了。

Rootkit扫描是专门针对rootkit进行的一种优化式的扫描方式。

一.OSSEC简要介绍:
OSSEC 是一款开源的入侵检测系统,包括了日志分析,全面检测,rook-kit检测。作为一款HIDS,OSSEC应该被安装在一台实施监控的系统中。另外有时候不需要安装完全版本得OSSEC,如果有多台电脑都安装了OSSEC,那么就可以采用客户端/服务器模式来运行。客户机通过客户端程序将数据发回到服务器端进行分析。在一台电脑上对多个系统进行监控对于企业或者家庭用户来说都是相当经济实用的。

对我来说OSSEC最大的优势在于它几乎可以运行在任何一种操作系统上,比如Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS。不过运行在Windows上的客户端无法实现root-kit检测,而其他系统上的客户端都没有问题。OSSEC的手册上说OSSEC目前还不支持Windows系统下得root-kit检测

二.安装
1. 安装所需软件:Basically, for Unix systems, ossec just requires gcc and glibc.
    下载软件:从 上下载最新的OSSEC
          源代码包;
2. 安装服务器:
   1). 选择一台服务器作为OSSEC服务器;
   2). 将OSSEC源代码包拷贝到该服务器并解压;
   3). 进入OSSEC目录并运行install.sh开始安装(如果想让ossec支持mysql,则在安装前先需入src目录下执行make setdb命令,如果想让ossec支持更多代理,在src目录下执行make setmaxagents命令,ossec目前最大只支持2048个客户端,并且大多数系统对最大文件数有限制,我们可以通过ulimit -n 2048来增加系统支持的最大文件数(或者sysctl -w kern.maxfiles=2048;
   4). 在提示输入安装类型时,输入server;
   5). 在提示输入安装路径时,输入/opt/ossec;
   6). 在提示是否希望接收E-MAIL通告时, 接受默认值, 并在接下来的提示中依次输入用来接收OSSEC 通告的E-MAIL地址, 邮件服务器的名字或IP地址,我这里是选择localhost作为mta,然后通过设置/etc/alias别名列表来将邮件转发到我指定的邮箱;
   7). 其它提示接受默认值;
3. 安装代理:
   1). 将OSSEC源代码包拷贝到某台欲在其上安装OSSEC代理的linux服务器上并解压;
   2). 进入OSSEC目录并运行install.sh开始安装;
   3). 在提示输入安装类型时,输入agent;
   4). 在提示输入安装路径时,输入/opt/ossec;
   5). 在提示输入服务器IP地址时输入我们的OSSEC服务器的IP地
    址;
   6). 其它提示接受默认值;
   在欲在其上安装OSSEC代理的所有linux服务器执行1) – 6)
三.配置
1.       在OSSEC服务器上运行 /opt/ossec/bin/manage-agents;
2.       在某个OSSEC代理上运行 /opt/ossec/bin/manage-agents;
3.       在OSSEC服务器的主菜单下输入A/a 增加一个代理, 为该代理输入一个容易区别的名字(比如其hostname), 并输入其IP 地址;
4.       在主菜单下输入E/e 为该代理生成密钥;
5.       在该OSSEC代理的主菜单下输入I/i 准备导入OSSEC服务器生成的密钥;
6.       将OSSEC服务器生成的密钥复制到OSSEC代理;
7.       按Q/q键退出OSSEC服务器和代理, 并重新启动OSSEC服务器和代理(分别在OSSEC服务器和代理所在的服务器上执行/etc/init.d/ossec restart)
在欲在其上配置OSSEC代理的所有linux服务器执行2) – 7)
OSSEC安装
8.    ossec安装完后,默认会在$directory生成如下几个目录:active-response,bin,etc,logs,queue, rules,stats,tmp,var,主要配置文件为/$directory/etc/ossec.conf,$directory为你ossec安装目录,每个选项的详细说明请见:。规则文件目录为 /$directory/rules

四.FAQ

Question 1:
如何配置ossec在主动响应中不阻止特定ip
A:将特定ip列表加入etc/ossec.conf中的ips
如我们不想让192.168.10.0/24网段的所有主机触发ossec主动响应的命令,编辑/var/ossec/etc/ossec.conf,按如下方式填写即可

    127.0.0.1
    192.168.10.0/24

Question 2
如何使ossec支持mysql
A:要使用ossec支持mysql,首先编译时我们需进入src目录下执行:make setdb命令,然后cd ..返回上一级目录,再执行package/install.sh按上面所列方法安装
Question 3
我smtp server设置正确,但为何我收不到ossec主机所发的邮件,在邮件日志中老显示连接超时。
A: ossec原则上不要求在本地架设mta服务器,但我们知道,为了防止垃圾,基本上所有邮件服务器都关闭了open relay,然我们的ossec并没有为smtp认证提供username与password设置选项,这就使我们在选择其它smtp 服务器时无法指定用户名与密码,因此我的做法是设置ossec发信给root@localhost,然后在本地邮件服务器别名列表中,将所有转发给 root的信件再转发给我所希望的email地址。
Question 4
如何设置ossec同时去监检多个日志文件
A:有时,我们同时有多个日志文件希望被监测,但又不想一个个输入ossec.conf配置文中。其实我可以利用ossec的posix规则表达示来达到你的目的。如假如你有如下几个日志文件:
/var/log/host1/xx.log,yy.log,zz.log
/var/log/host2/xx.log,aa.log
/var/log/host3/zz.log,abc.log
/var/log/hostn/bb.log,xyz.log
我们可以这样设置

    syslog
    /var/log/host*/*.log
   

Question 5
我采用的是S/C安装方式,并且巳按正确方法在服务器上注册的客户机,但ossec服务器与客户无法还是无法通信
A:针对这个问题,a.首先我们要确定安装顺序是否正确,一般我们是先安装server,然后是agent,并且在服务器给agent生成密匙,再在agent上导入密匙,注意在server上生成密匙时agent的ip地址千万不能写错,否则无法通信。
        b.使用netstat -ntlup查看本机是否开启了514,1514端口接受agent连接,如果端口还没有打开,先/etc/init.d/syslog restart再查看。请随时查阅/var/ossec/logs/ossec.conf日志文件中的是志。
        c.如果你启了防火墙,请一定要将514,1514的数据放行,否则agent无法与server正常通信。
以上是我们个人使用ossec来一点实际经验,欢迎大家继续加精
Question 6
如何检测apache日志
我们可以这样设置

    apache
    你的apache日志目录
   

Question 7
我公司是动态ip上网,经常被布署有ossec入侵检测系统的外网维护服务器将其加入/etc/hosts.deny与iptables中
针对这个问题,我有专门写一个脚本,你可以参照它针对自己的网络环境修改,目前我的有了它之后一切运行良好。
阅读(1859) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~