开源堡垒机JumpServer的日志接入到Graylog并实现钉钉机器人告警

关于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)
### 告警描述:{{.event_definition_description}}
{{ range $k,$v:=.backlog }}
##### 告警产生时间:{{GetCSTtime $v.timestamp}}
##### 告警详细描述:堡垒机账号:{{$v.fields.user}} 登录服务器{{$v.fields.asset}}执行了可能为高危的命令,若为正常操作,请忽略此条告警!
##### 用户登录IP:{{$v.fields.remote_addr}}
##### 具体操作命令:{{$v.fields.input}}
##### 堡垒机采取的动作:{{$v.fields.risk_level_label}}
##### 告警服务器名称:{{$v.fields.asset}}
##### 告警原始日志:{{$v.fields.jumpserver_log_jsonmessage}}
{{end}}

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

最终钉钉机器人的告警效果如下

(图片点击放大查看)

(图片点击放大查看)

请使用浏览器的分享功能分享到微信等