关于JumpServer的日志如何进行Syslog外发参考如下两个链接
https://docs.jumpserver.org/zh/v3/guide/storages/?h=syslog#31-syslog
https://kb.fit2cloud.com/?p=123
(图片点击放大查看)
一、Graylog日志接入配置简单介绍
1、新建用于存JumpServer日志的Indices索引
(图片点击放大查看)
(图片点击放大查看)
2、新建Syslog UDP类型的Inputs
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
firewall-cmd --permanent --zone=public --add-port=2514/udp
firewall-cmd --reload
3、创建JumpServer单独的Stream
-
Index Set要选上面创建的存JumpServer日志的Indices索引
要勾选Remove matches from ‘Default Stream’
(图片点击放大查看)
-
Stream Rules
选择Type为 match input
(图片点击放大查看)
(图片点击放大查看)
二、JumpServer后台开启Syslog
1、修改 JumpServer 的配置文件
JumpServer 的配置文件的默认存储位置位于:/opt/jumpserver/config/config.txt
JumpServer 中需要添加的配置项如下所示:
#配置 syslog
SYSLOG_ENABLE=true
SYSLOG_ADDR=192.168.31.194:2514 # Syslog 服务器的IP以及端口
SYSLOG_FACILITY=local2 #根据 Syslog 配置文件的配置
2、重启 JumpServer
修改 JumpServer 配置文件后需要重启 JumpServer 以加载配置项。
jmsctl restart
3、登录 JumpServer 服务生成一条登录日志,查看 Syslog 服务器中是否有输出
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
三、配置Graylog Extractor实现字段提取
1、在Stream日志查询界面,message右键Create Extractor
类型可以为Split&Index
Split by 设置为 - {
Target Index 1
Store as field :jumpserver_log_type
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
2、同样再创建一个Split&Index类型的Extractor
用于提取后半段json格式日志
(图片点击放大查看)
效果如下
(图片点击放大查看)
3、接下来针对提取到的日志进行json格式的提取
jumpserver_log_jsonmessage字段进行json提取
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
效果如下
(图片点击放大查看)
(图片点击放大查看)
四、配合PrometheusAlert实现钉钉告警
场景如下:例如执行rm -rf 这样的命令虽然已经堡垒机使用命令过滤的方式拦截掉了,这时如果能钉钉告警通知运维管理人员这样更高效 运维管理员不用实时去审计台查看命令审计情况
(图片点击放大查看)
配置步骤就不详细截图了
PrometheusAlert上的告警模板内容,可以参考解决
## [堡垒机告警信息](.check_result.Event.Source)
### <font color=#FF0000>告警描述:{{.event_definition_description}}</font>
{{ range $k,$v:=.backlog }}
##### <font color=#67C23A>告警产生时间</font>:{{GetCSTtime $v.timestamp}}
##### <font color=#67C23A>告警详细描述</font>:<font color=#FF0000>堡垒机账号:{{$v.fields.user}} </font>登录服务器<font color=#FF0000>{{$v.fields.asset}}</font>执行了可能为高危的命令,若为正常操作,请忽略此条告警!
##### <font color=#67C23A>用户登录IP</font>:<font color=#FF0000>{{$v.fields.remote_addr}}</font>
##### <font color=#67C23A>具体操作命令</font>:<font color=#FF0000>{{$v.fields.input}}</font>
##### <font color=#67C23A>堡垒机采取的动作</font>:<font color=#FF0000>{{$v.fields.risk_level_label}}</font>
##### <font color=#67C23A>告警服务器名称</font>:<font color=#FF0000>{{$v.fields.asset}}</font>
##### <font color=#67C23A>告警原始日志</font>:{{$v.fields.jumpserver_log_jsonmessage}}
{{end}}
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
最终钉钉机器人的告警效果如下
(图片点击放大查看)
(图片点击放大查看)
原文始发于微信公众号(WalkingCloud):开源堡垒机JumpServer的日志接入到Graylog并实现钉钉机器人告警
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论