ossec服务端配置客户端批量部署方案- hello.pdf
文本预览下载声明
原⽂地
址:/%e8%bf%90%e7%bb%b4%e5%ae%89%e5%85%a8/9
0x00 前⾔
最近也在研究ossec报警规则,还没研究的很透彻,暂时不是这篇⽂章的内容。ossec中⽂资料还是 较少,外⽂⽂献 较多。之前看到drops的两篇⽂章分
享/tips/2821,/tips/636,看到评论都说批量部署是个坑, 较⿇烦。现在说下我的⽅案,如何批量安装部署客户
端。对⼤家有帮助,可以解决⼤家在批量部署过程遇到的问题。
0x01 服务端配置
服务端IP:28
服务端安装可参考/tips/636,不在这篇⽂章讨论范围。因为ossec服务端与客户端是基于key认证传输信息的,所以服务端需为客户端⽣成
相应的key。对于⼤企业来说每台主机都有⼀个主机名,假如我们把这样的服务器信息保存到ip.txt⽂本⾥⾯。
ip.txt内容格式如下:
...
host_name:ip
host_name:ip
host_name:ip
host_name:ip
...
这样的信息对,在⼤企业⾥⾯可通过api直接获取得到。
接着利⽤脚本,批量为每条记录⽣成key。key gen.py:
# !python
import os
if __name__ == __main__ :
save_keys_path = keys.logs
f = open(ip.txt)
lines = f.read().splitlines()
f.close()
#perl⽂件在安装包⾥⾯
shell_path = usr src ossec-hids-2.7.1 contrib ossec-batch-manager.pl
for line in lines:
arr = line.split(:)
host_name = arr[0]
ip = arr[1]
#服务端根据name和ip添加客户端
cmd = %s -a --ip %s --name %s % (shell_path,ip,host_name)
os.system (cmd)
cmd = %s -e %s %s % (shell_path,ip,save_keys_path)
os.system (cmd)
执⾏完后查看服务端安装⽬录下的client.keys⽂件,默认为 var ossec etc client.keys,先把这个⽂件拷贝到web服务器或者ftp服务器⽅便客户端下载。
0x02 客户端agent批量部
agent群体 较⼤,批量部署需要⾯临两个问题:
1) 安装程序安装基于对话模式,怎么处理使它顺序安装,没有对话模式。
2) 客户端agent对应key导⼊问题。
3) 客户端配置ossec.conf统⼀配置。
对于问题1)修改安装包预配置⽂件 ossec-hids-2.7.1 etc preloaded-vars.conf,设置变量的值,⽅可以使其顺序安装。
去掉⼀些注释,使其赋值,就不⽤通过对话模式进⾏赋值了。
把修改后的⽂件preloaded vars.conf拷贝到之前的ftp服务器或者web服务器下⽅便客户端下载。
对于问题2) 只需要刚才的ftp服务器或者web服务器下载client.keys,然后根据⾃⼰本地的ip获取对应的key记录,这个不难。
对于问题3) 在⼀台客服端⽣成⼀份统⼀的ossec.conf,上传到之前web服务器或者ftp服务器,⽅便其他客户端下载。
⾄此,客户端部署脚本应该满⾜上⾯点,具体脚本如下:
ossec-agent-batch-install.sh⽂件内容如下:
# !bash
# ! bin bash
cd usr local
wget -U Mozillai 5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit 537.11 (KHTML, like Gecko) Chrome 23.0.1271.101 Safari 537.11 http: www .ossec.
tar -zxvf ossec-hids-2.7.1.tar.gz
cd ossec-hids-2.7.1
cd etc
mv preloaded-vars.conf preloaded-vars.conf.bak
#从服务端下载预配置⽂件,⽤于顺序安装,不基于 话模
显示全部