首页
学习
活动
专区
圈层
工具
发布
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开源日志管理系统

Graylog4.2+GeoIP2获取SSH暴力破解攻击者IP的地理位置信息

场景说明

当云服务器位于公网时,并开放了SSH端口,会经常受到SSH暴力破解攻击

通过rsyslog转发云服务器系统日志到GrayLog进行日志分析系统安全日志,结合GeoIP2地址数据库就可以获取SSH暴力破解攻击者IP的地理位置信息

(图片可点击放大查看)

准备条件

1、GrayLog的Marketplace中下载SSH日志Content Pack

https://github.com/xkill/graylog_4.1_ssh

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

2、GeoIP2 Databases

GeoIP的数据库文件

(图片可点击放大查看)

具体实现的操作方法

1、上传GeoIP地址库文件

GeoLite2-City_20211116.tar.gz文件中GeoLite2-City.mmdb上传到GrayLog服务器的/etc/graylog/server目录中

(图片可点击放大查看)

2、启用GeoIP Resolver

system/configurations中最右下方Geo-Location Processor中 启用Geo-Location Processor

(图片可点击放大查看)

并在Message Processors Configuration中将GeoIP Resolver的顺序放在最下面 拖拽即可

(图片可点击放大查看)

(图片可点击放大查看)

3、上传并安装graylog_4.1_ssh-main-content-pack

(图片可点击放大查看)

(图片可点击放大查看)

4、修改Pipeline SSH的extract_ssh_fields

(图片可点击放大查看)

(图片可点击放大查看)

语法为第三行为has_field("message")

代码语言:javascript
复制
rule "extract_ssh_fields"
when
     has_field("message")
then
    let msg = to_string($message.message);
    let msg2 = regex_replace("Invalid user", msg, "Invalid user by invalid user");
    let parsed = grok(pattern: "%{SSH}", value: msg2, only_named_captures: true);
    set_fields(parsed);
    rename_field("ssh_rip","remote_addr");
    rename_field("ssh_username","username");
end

保存并应用

(图片可点击放大查看)

5、模拟公网IP测试SSH登录失败

这里由于我在内网服务器上操作,可以ifconfig ens192:1起虚拟IP进行模拟

(图片可点击放大查看)

6、查看效果

可以在SSH Dashboard的地图中看到效果

(图片可点击放大查看)

(图片可点击放大查看)

当然,日志分析只是一方面,最重要还是要对SSH进行安全加固

1、云控制台配置安全组规则只允许运维主机访问SSH

2、Fail2ban工具实现动态阻断SSH暴力破解攻击

3、使用TCPwrapper进行SSH登录IP黑白名单

下一篇
举报
领券