首页
学习
活动
专区
圈层
工具
发布
28 篇文章
1
使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警
2
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
3
使用GrayLog对PrometheusAlert推送的安全告警进行图形报表统计与分析
4
Windows服务器安装graylog-sidecar实现系统日志快速接入Graylog
5
​数据采集神器Telegraf对接开源日志服务器GrayLog
6
利用GrayLog的output功能实现简单的GrayLog分布式级联
7
GrayLog+nxlog采集邮箱登录日志csv文件并实现邮箱异地登录钉钉机器人告警
8
只能使用UDP:514端口接收Syslog日志的两种解决方法
9
开源蜜罐Hfish的简单部署并接入到GrayLog
10
一键安装脚本实现快速部署GrayLog Server 4.2.10单机版
11
利用GrayLog告警功能实现钉钉群机器人定时工作提醒
12
Linux主机安装NetFlow采集器并使用Graylog进行网络流量分析
13
CentOS7下部署OSSEC开源主机入侵检测系统(HIDS)并接入到GrayLog
14
Sysmon+Nxlog+GrayLog实现Windows服务器安全日志监控
15
Linux防暴力破解工具Fail2ban的日志接入到GrayLog并实现GeoIP展示
16
Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息
17
商业堡垒机对接GrayLog实现生产服务器高危命令钉钉机器人自动告警
18
使用腾讯云SSL证书为GrayLog Web接口配置nginx HTTPS/SSL反向代理
19
GrayLog中使用Prometheus Alert实现钉钉群机器人自动告警
20
Graylog4.2集群部署完整教程
21
GrayLog配置SSH暴力破解攻击日志告警并推送到钉钉机器人
22
【实践】GrayLog4.2使用webhook成功推送日志告警到钉钉群机器人
23
【已修复Log4j2漏洞】GrayLog安全版本4.2.3升级实践
24
利用pipeline实现GrayLog中用日志源IP地址区分主机
25
Graylog4.2+GeoIP2获取SSH暴力破解攻击者IP的地理位置信息
26
使用EVE-NG模拟山石网科防火墙syslog日志接入GrayLog4.1
27
开源日志管理系统Graylog之Sidecar功能实践
28
CentOS7下部署Graylog开源日志管理系统

商业堡垒机对接GrayLog实现生产服务器高危命令钉钉机器人自动告警

商业堡垒机对接GrayLog实现生产服务器高危命令钉钉机器人自动告警

一、堡垒机配置syslog日志发送

填写Graylog的IP与端口,为了好区分,我这里选用1516 UDP端口

(图片可点击放大查看)

这样GrayLog上启一下Syslog UDP Input,端口为1516

(图片可点击放大查看)

如图所示

(图片可点击放大查看)

(图片可点击放大查看)

日志样例

代码语言:javascript
复制
XXXXXXXX SecurityAuditSystemLog logType=YAB_RESOURCE_LOGIN_LOG, startTime=2022-02-26 16:10:50, endTime=2022-02-26 16:11:14, user=yuanfan<袁繁>, sourceIP=192.168.31.100, resource=CentOS7_Prod生产服务器, targetIP=192.168.31.105, protocol=SSH, account=root

日志中都是Key=Value键值对,那么是否将这些键值对直接映射成日志字段呢?

通过翻阅GrayLog官方的文档,找到了一种很简单的方法

代码语言:javascript
复制
https://docs.graylog.org/docs/extractors

AUTOMATICALLY EXTRACT ALL KEY=VALUE PAIRS

(图片可点击放大查看)

二、配置extractor

选中message最后的下三角符号,创建extractor提取器

(图片可点击放大查看)

类型Copy input

(图片可点击放大查看)

Store as field:message

Add converter选择Key=Value pairs as fields并Add

(图片可点击放大查看)

(图片可点击放大查看)

这时新产生的堡垒机日志就自动生成字段了

(图片可点击放大查看)

(图片可点击放大查看)

三、配置Prometheus告警模板

比如有reboot等高危操作时推送钉钉告警

如下图生产服务器192.168.31.127出现重启命令时就产生告警

Prometheus告警模板如下

代码语言:javascript
复制
### [【告警信息】](.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.resource}}</font>于{{GetCSTtime $v.timestamp}}时间点执行了<font color=#FF0000>{{$v.fields.command}}</font>高危操作
###### <font color=#67C23A>告警服务器名称</font>:<font color=#FF0000>{{$v.fields.resource}}</font>
###### <font color=#67C23A>告警服务器的IP</font>:{{$v.fields.targetIP}}
###### <font color=#67C23A>告警原始日志</font>:{{$v.message}}
{{end}}

(图片可点击放大查看)

四、GrayLog配置Alert

Graylog上Alert的配置截图

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

查询条件

代码语言:javascript
复制
gl2_remote_ip:192.168.31.245 AND resource:"生产服务器192.168.31.127," AND command:"reboot,"

当然你的查询条件可以不局限这个示例,比如生产服务器如果都需要告警,可以在堡垒上把相关的生产服务器名称中都加上生产服务器的标签 这时查询条件可以这样写:

代码语言:javascript
复制
gl2_remote_ip:192.168.31.245   AND resource:生产服务器* AND command:reboot,

(图片可点击放大查看)

告警条件及查询语法请自行思维发散

五、钉钉机器人告警效果

钉钉机器人告警效果如下

(图片可点击放大查看)

总结:

本文有测试阶段时也踩过不少坑

在graylog-server-3.3.16+elasticsearch-oss-6.8.8环境中踩了一些坑,截图如下

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

测试环境中使用的是GrayLog4.1.5+elasticsearch-7.14.0,测试一切正常

经过日志分析与Graylog+Google求证,最后参考如下几个链接解决

代码语言:javascript
复制
https://community.graylog.org/t/key-value-extractor-and-quotes-remove-whitespaces-with-regex-and-replace/3907/6
https://community.graylog.org/t/indexer-error-mapper-parsing-exception-no-matching-token-for-number-type-big-integer/22701/9
https://docs.graylog.org/docs/elasticsearch#custom-index-mappings
https://www.cnblogs.com/huangxiufen/p/12461191.html
下一篇
举报
领券