0x00 前言


最近也在研究ossec报警规则,还没研究的很透彻,暂时不是这篇文章的内容。ossec中文资料还是比较少,外文文献比较多。之前看到drops的两篇文章分享/tips/?id=2821,/tips/?id=636,看到评论都说批量部署是个坑,比较麻烦。现在说下我的方案,如何批量安装部署客户端。对大家有帮助,可以解决大家在批量部署过程遇到的问题。

0x01 服务端配置


服务端IP:192.168.145.128

服务端安装可参考/tips/?id=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.net/files/ossec-hids-2.7.1.tar.gz    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    #从服务端下载预配置文件,用于顺序安装,不基于对话模式
wget http://192.168.145.128/preloaded-vars.conf
#开始安装
../install.sh    cd /var/ossec/etc    #下载key文件,下面主要导入key
wget http://192.168.145.128/client.keys    ip1=`/sbin/ifconfig eth0|sed -n '2p' |awk -F: '{print $2}'|awk '{print$1}'`
#ip2=`/sbin/ifconfig eth1|sed -n '2p' |awk -F: '{print $2}'|awk '{print$1}'`
#主要针对服务器网卡是eth0还是eth1不同操作
sed -i '/'$ip1'/!'d /var/ossec/etc/client.keys    rm -rf ossec.conf
#下载客户端统一配置文件
wget http://192.168.145.128/ossec.conf    #启动客户端程序
../bin/ossec-control start

0x03 总结


最后,可以通过ossec-wui查看客户端的部署情况或者在安装目录下 /var/ossec/bin/agent-control查看客户端的状态。

©乌云知识库版权所有 未经许可 禁止转载

OSSEC服务端配置客户端批量部署方案相关推荐

  1. NTP服务端和客户端的部署——Chrony

    Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确. 它由两个程序组成:chronyd和chronyc: chronyd是一个后台运行的守护进程,用于调整内核 ...

  2. 分享一套golang实现的 IM 系统,一键部署服务端,客户端SDK全平台支持,可以替代IM云服务

    开篇 自互联网诞生以来,即时通讯平台就一直存在.从世界范围来看,WhatsApp.Facebook. 微信.Telegram是领先的消息平台,用户主要使用这些平台与家人和朋友保持联系.随着互联网的发展 ...

  3. CAS 使用 HTTPS 单向认证方式 服务端和客户端配置

    注:以下配置为本人亲测,如有问题请留言:转载请注明:http://blog.csdn.net/wqmain/article/details/8562602 目录结构如下: l  名词解释 l  测试环 ...

  4. 部署FileZilla服务端与客户端

    FileZilla服务端下载地址: FileZilla服务端https://www.filezilla.cn/download/server FileZilla客户端下载地址: FileZilla客户 ...

  5. java 集成 cas系统 服务端和客户端配置

    http://blog.csdn.net/yunye114105/article/details/7997041 参考: http://blog.csdn.net/diyagea/article/de ...

  6. centos7 部署glusterfs集群,服务端和客户端演示

    centos7 部署glusterfs集群,服务端和客户端演示 说明 glusterfs 分布式文件服务,详细可以百度 官网文档: https://docs.gluster.org/en/latest ...

  7. CentOS8上部署NFS服务端和客户端

    centos8上部署nfs服务端和客户端 文章目录 背景 服务端与客户端信息 配置服务端 安装软件包 编辑配置文件 验证并使配置生效 启动服务端服务 查看服务端状态: 配置客户端: 安装软件包 启动客 ...

  8. NFS介绍、NFS服务端配置安装配置、 NFS配置选项、 客户端的配置

    NFS介绍 NFS是Network File System的缩写 ,是在网络层面,NFS(Network File System)网络文件系统会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不 ...

  9. linux服务器和客户端配置,Linux基础教程:YUM服务端与客户端配置步骤

    服务端配置:(分两种情况,rhce无需掌握,感兴趣的话可以研究): 情况1.yum直接使用光盘(光盘仓库默认做好了)做服务端配置 方式一:直接挂载光驱使用 mkdir /mnt/dvd mount / ...

最新文章

  1. ASP.NET Core的Kestrel服务器
  2. linux之uniq 命令详解
  3. Mysql事务与锁深入剖析
  4. mysql 中eq_表达式中的运算符EQ NE GT GE LT LE…..
  5. CSharp设计模式读书笔记(10):装饰模式(学习难度:★★★☆☆,使用频率:★★★☆☆)...
  6. trc20地址监听php,Tron/USDT-TRC20对接PHP开发包 - 人人都是架构师
  7. path环境变量丢失恢复
  8. tab和TabHost
  9. 【B/S】java(4)
  10. python enumerate_详解 Python 的 enumerate 函数
  11. MIL图像处理那些事:MIL的安装和MIL工具箱
  12. 奇怪的电梯(DP动态规划和BFS)
  13. 一名QQ老用户:致腾讯和马化腾的一封信
  14. ECharts 简明教程,用js输出图表
  15. Linux 嗅探 网络扫描 攻击防御神器 NMAP
  16. Hook Android q 剪贴板限制,AndroidQ(10)获取剪切板内容适配
  17. 大数据可视化分析的步骤有哪些
  18. 游戏挂机运行脚本方法
  19. 抑制肯定响应消息指示位(SPRMIB)
  20. 终于把PEST分析模型给整明白了!

热门文章

  1. 商务直播需要解决的难题有哪些
  2. Hexo主题hexo-theme-yilia-plus配置流程
  3. C#中的线程(中)-线程同步
  4. Kali安装fluxion报错:Aborted, xterm test session failed的解决办法
  5. Linux文件系统庖丁解牛
  6. 企业舆情监测多少钱,TOOM舆情监测专业服务平台
  7. [软件工具] 怎么样能按照表格内的对应关系为文件进行批量重命名?需要根据一个列表将文件批量重命名
  8. 什么是接口测试?这篇文章让你明白
  9. “12306” 的架构到底有多牛逼
  10. vs2022 快捷键设置