入侵检测:Snort(IDS),OSSEC(HbIDS)和前奏(HIDS)在Ubuntu Gutsy Gibbon
每个人都知道这个问题,你已经安装了一个IDS工具,每个工具都有自己的界面。
Prelude将允许将所有事件记录到前奏数据库,并使用一个界面(prewikka)进行查询。 本文将介绍如何安装和配置不同的工具,从而构成完整的解决方案。
这个howto是基于我找到的位和废料,以解决一些问题,手册的部分和我自己的体验安装完整的解决方案。
有关snort访问的更多信息: www.snort.org
有关ossec的更多信息,请访问: www.ossec.net
有关序幕访问的更多信息: www.prelude-ids.org
先决条件:
我们假设你遵循完美的服务器 - Ubuntu Gutsy Gibbon(Ubuntu 7.10) 。 如果不遵循那个方法,只安装/添加这些部分,你没有安装在你的系统上。
以下软件包是有用的,因此请检查它们是否正确安装:
apt-get install ntpdate
apt-get install dbconfig-common
安装和配置前奏
通常,我们必须编译并安装libprelude , libpreludedb ,然后创建数据库。 幸运的是,这些包由Ubuntu存储库提供。
前奏经理
apt-get install prelude-manager
- Using default TLS settings from /etc/prelude/default/tls.conf:
- Generated key size: 1024 bits.
- Authority certificate lifetime: unlimited.
- Generated certificate lifetime: unlimited.
- Creating analyzer prelude-manager.
- Creating /etc/prelude/profile/prelude-manager...
- Allocated ident for prelude-manager: 4232957740008155.
- Generating RSA private key... This might take a very long time.
[Increasing system activity will speed-up the process.]
- Generating 1024 bits RSA private key...
在安装过程中,管理员将为前奏用户创建配置文件。 由于GnuTLS尝试访问/ dev / random而不是/ dev / urandom (出于安全考虑),可能需要(非常)长的时间。 这可能会在将来发生变化(也许使用一个选项来生成更快的代码,但是在低温下不太可靠)。
然后,dbconfig会询问您是否要自动配置数据库。 如果你不想,只是说不,并手动配置一切(sql脚本在目录/ usr / share / libpreludedb / )。 我们假设答案是肯定的。
注意 :在/ etc / dbconfig-common / config文件中,根据debconf的详细程度(使用dpkg-reconfigure debconf设置)和dbconfig参数,可能会更改问题数。
configure database with dbconfig-common: yes
database type:
将类型设置为先前安装的数据库。 在这种情况下mysql
。
Database admin password: ******
dbconfig-common将要求“prelude”用户的密码。 如果您不提供任何(只需按Enter),它将生成一个随机的。 不用担心,配置文件将自动更新。
dbconfig-common: writing config to /etc/dbconfig-common/prelude-manager.conf
Creating config file /etc/dbconfig-common/prelude-manager.conf with new version
granting access to database prelude for prelude@localhost: success.
verifying access for prelude@localhost: success.
creating database prelude: success.
verifying database prelude exists: success.
populating database via sql... done.
dbconfig-common: flushing administrative password
Starting Prelude Manager: prelude-manager.
Ubunty包自动创建用户和前导数据库。 如果要更改密码,请先在mysql中,然后在/etc/prelude-manager/prelude-manager.conf中 。
序幕经理现在应该运行:
ps auxw | grep manager
prelude 28530 0.0 0.1 59384 4480 ? Ssl 13:49 0:00 /usr/sbin/prelude-manager
第一部分结束了,你现在有一个经理开始运行。
Listen address:
默认监听地址是localhost(127.0.0.1)。 这意味着您必须将其更改为在不同主机上添加传感器,以便代理能够访问前奏管理器。
编辑/etc/prelude-manager/prelude-manager.conf :
listen = xxx.xxx.xxx.xxx
重新启动服务器,并检查地址(如果更改了地址):
# /etc/init.d/prelude-manager stop
Stopping Prelude Manager: prelude-manager.
# /etc/init.d/prelude-manager start
Starting Prelude Manager: prelude-manager.
# netstat -pantu | grep prelude
tcp 0 0 192.168.66.1:4690 0.0.0.0:* LISTEN 30544/prelude-manager
前奏-LML
您需要在要监视的每个主机上安装prelude-lml 。 Prelude-LML将向经理分析您的日志和报告事件。
# apt-get install prelude-lml
...
Starting Prelude LML: prelude-lml.
在使用之前,需要做两件事情:
- 必须在lml上配置管理员的地址
- 经理不会信任传感器,直到它们被注册
经理地址
如果您更改了管理员正在监听的地址,则需要在安装prelude-lml的每台机器上更改客户端配置中的地址。
经理的地址存储在文件/etc/prelude/default/client.conf中 :
[prelude]
server-addr = 127.0.0.1
注册传感器
注册传感器是一个四步骤的过程,需要在传感器和管理器上运行命令:
在LML客户端上,运行register命令:
prelude-adduser register prelude-lml "idmef:w" <manager address> --uid 0 --gid 0
提示 :如果您不记得该命令,只需运行prelude-lml 。 由于它没有注册,它将失败,但是足够聪明地显示帮助:
# prelude-lml
- Subscribing plugin pcre[default]
- pcre plugin loaded 394 rules.
- Monitoring /var/log/messages through pcre[default]
* WARNING: /var/log/everything/current does not exist.
prelude-client: error starting prelude-client: could not open '/etc/prelude/profile/prelude-lml/analyzerid' for reading
Profile 'prelude-lml' does not exist. In order to create it, please run:
prelude-adduser register prelude-lml "idmef:w" <manager address> --uid 0 --gid 0.
LML必须注册uid和gid 0,因为该进程将以root身份执行(以便能够分析日志)。
然后,LML将一个用于一次性密码(OTP),由管理员提供:
Enter the one-shot password provided by the "prelude-adduser" program:
- enter registration one-shot password:
在经理上,运行以下命令:
prelude-adduser registration-server prelude-manager
...
- Starting registration server.
- generated one-shot password is "dummypass".
...
输入LML提示符的密码:
- enter registration one-shot password:
- confirm registration one-shot password:
- connecting to registration server (127.0.0.1:5553)...
- Anonymous authentication to registration-server successful.
- Sending certificate request.
LML现在正在等待经理签署证书。
在经理身份验证证书签名请求:
- Anonymous authentication one-shot password check successful.
- Waiting for client certificate request.
- Analyzer with ID="3559090256170900" ask for registration with permission="idmef:w".
Approve registration [y/n]: y
The certificate is generated and sent to the client:
- Registering analyzer "3559090256170900" with permission "idmef:w".
- Generating signed certificate for client.
- Sending server certificate to client.
- ::ffff:127.0.0.1:47054 successfully registered.
在客户端,您会看到:
LML registration is successful
- Receiving signed certificate.
- Receiving CA certificate.
- prelude-lml registration to 127.0.0.1 successful.
现在,管理者和传感器有信任关系,可以发送消息给对方。
这个过程需要一些时间,但是它增加了安全性,传感器和管理器之间的通信被加密。最后,LML传感器也应该是:
/etc/init.d/prelude-lml start
Starting Prelude LML: prelude-lml.
ps auxw | grep lml
root 1946 0.3 0.0 20856 3424 ? Ss 14:35 0:00 /usr/bin/prelude-lml -d -q -P /var/run/prelude-lml.pid
第一部分到此结束。