转载自:https://www.jianshu.com/p/6f1e49d80beb

前言

HIDS全称是Host-based Intrusion Detection System,即基于主机型入侵检测系统。作为一款HIDS,应当包括了主机重要日志分析,重要系统文件完整性检查,root-kit检测等功能。

国外开源HIDS产品

Ossec是著名的开源的多平台入侵检测系统。而在生产环境中,很多同学会使用基于ossec的扩展wazuh建立主机入侵检测体系。其功能强大,但是对技术栈要求较高,然而wazuh并非文章主角。

国内开源HIDS产品

国内HIDS终于有牛逼的开源产品了!

驭龙HIDS是一款免费开源的入侵检测系统,由AgentDaemonServer组成,集异常检测、监控管理为一体,拥有异常行为发现、快速阻断、高级分析等功能,可从多个维度行为信息中发现入侵行为。

YuLong部署流程

部署流程必须按照顺序执行:

  1. Linux安装libpcap,windows安装winpcap
  2. 部署数据库Mongodb(3.x)、Elasticsearch(5.x)
  3. 启动mongo、elasticsearch
  4. 修改web的配置,启动web,根据提示初始化数据库、规则等(web界面)
  5. 启动server(Hids的服务端)
  6. 部署agent,启动agent(Hids的客户端)

启动数据库

Elasticsearch部署

部署elasticsearch、kibana,不熟悉ELK的同学可参考 ELK部署

配置文件 config/elasticsearch.yml 简单版参考:

cluster.name: es-cluster
node.name: es-001bootstrap.system_call_filter: falsenetwork.host: 0.0.0.0
network.publish_host: 0.0.0.0

使用非root权限启动elasticsearch,在es目录下执行命令 bin/elasticsearch

9200、9300端口成功启动后,表示elasticsearch正常运行

后台运行es:

bin/elasticsearch -d

Mongo部署

根据对应系统版本下载mongo,mongo官网

创建db目录 /data/hids/db/ , 创建数据库日志文件 /data/hids/log/mongo.log

在mongo目录下,执行命令 bin/mongod --dbpath /data/hids/db/ --logpath /data/hids/log/mongo.log

27017端口成功启动后,表示mongodb正常运行

后台启动mongo:

bin/mongod --dbpath /data/hids/db/ --logpath /data/hids/log/mongo.log --fork

启动web

修改conf/app.conf文件

快速修改密码配置,执行命令 md5 -s xxxxx

修改二次认证配置,执行命令

python2 -c "import base64, random, string;print(base64.b32encode(''.join([random.choice(string.printable) for _ in range(35)]).encode()));"

注意:这里的二次认证需要配合Google Authenticator (一款APP)

修改数据库配置: mongodb、elasticsearch配置填内网IP(不能为127.0.0.1,localhost等)

注意 在启动web前,先确认elasticsearch是否能正常连通。
查看es状态:curl -XGET -s "http://localhost:9200/_cluster/health?pretty"

添加web执行权限,chmod +x web/web

执行命令 ./web 启动web界面。

后台运行:nohup ./web &

初始化规则

复制粘贴 rules.json 文件内容

启动server

添加server执行权限:chmod +x server

启动server: ./server -db mongodbIP:27017 -es elasticIP:9200

后台启动 nohup ./server -db mongodbIP:27017 -es elasticIP:9200 &

确认本地http、https端口正常启动,本地TCP端口33433正常启动。

部署agent

linux-64 agent部署安装

使用root权限执行

wget -O /tmp/daemon http://SERVER_IP:80/json/download?type=daemon\&system=linux\&platform=64\&action=download;chmod +x /tmp/daemon;/tmp/daemon -install -netloc SERVER_IP:443

如果更改了80和443端口,需要对应填写

windows-64 agent部署安装

使用管理员cmd执行命令

cd %SystemDrive% & certutil -urlcache -split -f http://SERVER_IP:80/json/download?type=daemon^&system=windows^&platform=64^&action=download daemon.exe & daemon.exe -netloc SERVER_IP:443 -install

使用ansible批量部署参考

playbook: deploy_yulong

---
- hosts: allremote_user: roottasks:- name: wget agentshell: wget -O /tmp/daemon http://SERVER_IP:80/json/download?type=daemon\&system=linux\&platform=64\&action=download;chmod +x /tmp/daemon;/tmp/daemon -install -netloc SERVER_IP:443- name: start agentservice: name=yulong-hids state=started

hosts: yulong-hosts

根据业务编写响应的hosts即可

最后,执行命令

ansible-playbook deploy_yulong -i yulong-hosts

其他注意事项

  • 若规则不生效、网络连通问题,可使用agent debug模式查看信息,执行 /usr/yulong-hids/agent SERVER_IP debug

  • 使用kibana添加索引monitor,elastisearch的索引名称为 monitor*

  • server、agent服务器时间同步。

  • 关闭观察模式后,才会出现相应的告警信息。

  • 部署上驭龙HIDS后,运行一周测试发现es的日志量不少(主要都是web业务机器产生的日志),在部署测试期间建议选取流量较小的服务器进行测试。

驭龙HIDS界面

简单规则

在生产业务中,应用配置是重要监控对象,可编写规则监控应用配置变化。

如监控nginx、tomcat配置变化

{"and": true,"enabled": true,"meta": {"author": "Superhua","description": "生产配置是否被修改","level": 0,"name": "应用配置异常修改"},"rules": {"action": {"data": "WRITE","type": "string"},"path": {"data": "\\/ops\\/conf\\/|\\/ops\\/conf\\/.*?nginx.*?\\/|\\/ops\\/conf\\/.*?tomcat.*?\\/","type": "regex"}},"source": "file","system": "all"
}

同时需要在 设置 -> CLIENT 中添加监控路径

/ops/conf/*

规则生效后,配置文件被修改可在告警界面查看相应告警。

如生产系统使用ssh公钥登录,那么可以编写规则监测公钥目录是否被修改。

总结

从部署到简单测试,给驭龙提出不少建议(大佬wolf修改非常迅猛,赞)。个人认为,简单的部署方式及规则配置、告警展示更适合国人的使用习惯。

安全防护建议:

  • 使用iptables限制mongo的访问,拒绝一切mongo访问。

  • 使用安全插件防护elasticsearch。

作者:SuperFace
链接:https://www.jianshu.com/p/6f1e49d80beb
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

驭龙HIDS的简介,它开源了相关推荐

  1. Kaldi简介【开源语音识别工具】

    Kaldi是当前最流行的开源语音识别工具(Toolkit),它使用WFST来实现解码算法.Kaldi的主要代码是C++编写,在此之上使用bash和 python 脚本做了一些工具. Kaldi架构如所 ...

  2. G4Studio行业应用二次快速开发平台简介 支持开源软件

    1.1.G4Studio概述      G4Studio行业应用二次快速开发平台基于JavaEE技术体系,面向中小软件企业.以"标准功能可复用.通用模块可配置.行业需求快速开发.异构系统无缝 ...

  3. 驭龙HIDS安装及测试

    0x00.安装前准备工作 1.服务端:192.168.89.180(4GB内存,需要安装mongodb,elasticsearch,下载驭龙的编译好的包上传/home并运行web,然后初始化,最后运行 ...

  4. python3精要(35)-wxPython(1)-简介与开源协议

    wxPython是Python编程语言的跨平台GUI工具包.它允许Python程序员简单易用地创建具有健壮.功能强大的图形用户界面的程序.它是作为一组Python扩展模块实现的,这些模块包装了流行的w ...

  5. .NET中Redis安装部署及使用方法简介附-开源Redis操作辅助类

    Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. Re ...

  6. 开源Gis简介(转)

    开源GIS简介 C++开源GIS中间件类库: GDAL(栅格)/OGR(矢量)提供了类型丰富的读写支持 GEOS(Geometry Engine Open Source)是基于C++的空间拓扑分析实现 ...

  7. 甲方安全开源项目收集

    前阵子,我发布了一份甲方安全开源清单,不少朋友帮忙反馈,得到了大大的补充,重新整理了一份项目清单. GitHub项目地址: https://github.com/Bypass007/Safety-Pr ...

  8. 收集一些优秀的甲方安全开源项目

    这是一份开源安全项目清单,收集了一些比较优秀的开源安全项目,以帮助甲方安全从业人员构建企业安全能力.这些开源项目,每一个都在致力于解决一些安全问题. 项目收集的思路: 一个是关注互联网企业/团队的安全 ...

  9. 甲方安全开源项目清单

    这是一份安全开源项目清单,收集了一些比较优秀的安全开源项目,以帮助甲方安全从业人员构建企业安全能力. 这些开源项目,每一个都在致力于解决一些安全问题. 项目收集的思路: 一个是关注互联网企业/团队的安 ...

最新文章

  1. php1为true,php有一个预定义的常量true,值为整数1,这该如何理解?
  2. qt中数据库操作总结
  3. VB案例:素数判断与合数分解
  4. 又一灵异事件 Delphi 2007 在 Win7
  5. Android 反编译修改源码
  6. KMeans聚类分析实战——如何把城市划分成不同的种类
  7. Centos实现软路由
  8. 微软2015校园招聘 技术类职位在线笔试-题目1 : Browser Caching
  9. 天蝎项目整机柜服务器技术规格,天蝎工程项目整机柜服务器技术规范V1.01.pdf
  10. 两条线段的交点 交点
  11. Unity3D RectTransform中文图文详细-anchors用法pivot分析
  12. java里的椭圆拟合_[求助]椭圆的跟踪拟合
  13. OV都大举降价了,荣耀定价却颇为昂贵,或许是带华为的光芒吧
  14. 国密(3)- 预主密钥/主密钥计算和Finished消息的加解密
  15. MBRGPT硬盘分区类型属性详解(Win下更改/设置OEM/恢复分区方法)
  16. 循环世界模型(Recurrent World Models)——真实世界建模的强化学习利器
  17. IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总:
  18. 项目资源管理-日历图
  19. STM32F103系列(三):初识STM32F103
  20. 【Web前端HTML+CSS基础——常规流和浮动(猫眼电影项目实战)】

热门文章

  1. iPhone 14 电池耗电怎么样?iPhone 14和13比对那个续航好?
  2. JAVAFX界面跳转和加载不同的界面
  3. ROS项目开发实战(三)——使用QT进行ROS的GUI界面设计(详细教程附代码!!!)
  4. ExpandableListView 实现评价回复功能
  5. opencv-图像修补,图像修复,inpaint
  6. Unity Shader 实现简单的压扁效果
  7. 敲7数字100以内c语言,敲七游戏数字表怎么玩?
  8. xxxxxxxxxxxxxxxxx
  9. MVC和MVT框架对比
  10. CSS设置阴影样式大全 包含所有样式 有图有代码