samhain部署通常采用C/S模式,各被监控机为配置为client,日志收集服务器为Server。采用C/S模式,client的配置文件和数据文件存储在Server上,client上samhain运行时自动到server上下载配置文件和数据库文件。
安装准备:
预先安装gcc编译器等开发工具用以编译samhain源码。
MySQL+Apache(Server端)
下载源码 http://www.la-samhna.de/samhain/s_download.html
安装步骤
------------Server安装------------
1、创建一个独立的用户
- useradd yule
2、编译并安装
- ./configure
- make
- make install
- make install-boot
- make install-user
3、初始化mysql数据库
- mysql -p < sql_init/samhain.mysql.ini
- echo "grant select, insert on samhain.log to samhain@localhost IDENTIFIED BY 'samhain';" |mysql -p
- echo "FlUSH PRIVILEGES;" |mysql -p
4、添加自启动
Red Hat
- chkconfig --add yule
- chkconfig yule on
Debian
- update-rc.ld yule defaults
5、启动yule服务
- /etc/init.d/yule start
Apache配置
在apache的conf.d目录下新建yule.conf文件,内容如下:
- <Directory "/var/log/yule/">
- Options ExecCGI
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- Alias /yule.html "/var/log/yule/yule.html"
修改yule.html文件权限
- chmod +r /var/log/yule/yule.html
重启Apache
- /etc/init.d/apache restart
测试访问 http://yourserver/yule.html
------------Server安装结束---------
------------Client 安装------------
1、编译并安装
- ./configure
- make
- make install
- make isntall-boot
2、设置二进制文件密码
- cd /usr/local/sbin
- ./samhain_setpwd samhain new 1234567890123456
- mv samhain.new samhain
密码必须为16位0-9,A-F组合,可以通过在Server上运行yule -G生成随机密码。
3、添加自启动
Red Hat
- chkconfig
- chkconfig samhain on
Debian
- update-rc.d samhain defaults
4、返回Server上添加client授权
- /usr/local/sbin/yule -P 1234567890123456 |sed 's/HOSTNAME/CLIENT_HOSTNAME_HERE/' >>/etc/yulerc
如果client的hostname无法解析可以直接使用ip地址。
5、返回client自定义配置文件,并上传到server上。
- cd TOP_LEVEL_OF_SOURCE_DIR
- cp samhainrc.linux rc.`hostname`
根据个人需求编辑rc.`hostname`
- scp rc.`hostname` YULE_SERVER:/var/lib/yule/
返回server
- chown yule:yule /var/lib/yule/rc.client_name
6、初始化数据库文件
返回client
- /usr/local/sbin/samhain -t init -p info
编译时指定的数据库文件为/var/lib/samhain/samhain,上传数据库文件
- scp /var/lib/samhain/samhain YULE_SERVER:/var/lib/yule/file.client_name
返回server
- chown yule:yule /var/lib/yule/file.client_name
注意:server上配置文件必须以rc开头,数据库文件以file开头
7、启动samhain
- /etc/init.d/samhain start
- 或者 samhain -t check
------------client安装结束---------
问题记录
1、在安装server时--enable-database=mysql选项一直无法编译通过。提示错误:
Error: unable to find mysql headers mysql.h
解决办法: 装mysql开发包。
- redhat
- rpm -ivh mysql-devel-version.rpm
-
- debian
- apt-get install libmysqlclientversion-dev