在GrayLog的marketplace上有搜到关于Fail2ban日志Grok以及Pipeline的套件包

(图片可点击放大查看)

(图片可点击放大查看)
最后可以实现如下效果

(图片可点击放大查看)
结合我之前写的文章(点击链接查看原文章)
1、CentOS7云主机部署Fail2ban阻断SSH暴力破解
2、开源日志管理系统Graylog之Sidecar功能实践
决定进行尝试实践一下
环境如下
1、CentOS7 webserver 192.168.31.211作为日志源,安装fail2ban+graylog-sidecar+filebeat
2、GraylogServer 192.168.31.127导入Fail2ban的ContentPack
具体步骤如下:
一、安装并配置failban
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install fail2ban -y

(图片可点击放大查看)
cd /etc/fail2ban/
cp fail2ban.conf fail2ban.local
cp jail.conf jail.local
vim jail.local 

(图片可点击放大查看)
修改如下几个地方
ignoreip = 127.0.0.1/8 ::1
bantime  = 300
findtime  = 300
maxretry = 8
[sshd]配置处添加如下一行
enabled = true

(图片可点击放大查看)

(图片可点击放大查看)
启动fail2ban服务
systemctl start fail2ban.service 
systemctl enable fail2ban.service

(图片可点击放大查看)
查看日志,并触发ssh暴力破解登录日志

(图片可点击放大查看)
tail -f /var/log/fail2ban.log 
fail2ban-client status
fail2ban-client status sshd

(图片可点击放大查看)
二、安装sidecar+filebeat
- 
1、graylog-sidecar安装 
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-sidecar-repository-1-2.noarch.rpm
yum install graylog-sidecar -y

(图片可点击放大查看)
- 
2、filebeat安装 
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.1.0-x86_64.rpm
rpm -vi filebeat-8.1.0-x86_64.rpm

(图片可点击放大查看)
- 
3、创建token 
例如token为12fet46c82h8r9vlfjh8jqi8kbr2nlf6hdjd4l9rkdf648na2rle

(图片可点击放大查看)

(图片可点击放大查看)
- 
4、修改sidecar.yml 
cp /etc/graylog/sidecar/sidecar.yml /etc/graylog/sidecar/sidecar.yml_bak
vim /etc/graylog/sidecar/sidecar.yml

(图片可点击放大查看)
修改成如下配置
1)#server_url: "http://127.0.0.1:9000/api/"
修改为http://192.168.31.127:9000/api/
2)server_api_token: "12fet46c82h8r9vlfjh8jqi8kbr2nlf6hdjd4l9rkdf648na2rle"
3)#node_name: ""改为
node_name: "XXXX_IP"
4)取消#update_interval: 10的注释
update_interval: 10
5)取消#send_status: true 的注释
send_status: true

(图片可点击放大查看)
- 
5、启动sidecar 
graylog-sidecar -service install
systemctl restart graylog-sidecar.service
systemctl status graylog-sidecar.service 

(图片可点击放大查看)

(图片可点击放大查看)
三、Graylog-Server上配置sidecar
- 
1、创建filebeat类型的log采集配置 

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)
配置Input(Beat类型)

(图片可点击放大查看)
并添加一个固定字段 log_application 值设为fail2ban

(图片可点击放大查看)
- 
2、防火墙开启5044/TCP端口 
 firewall-cmd --permanent --zone=public --add-port=5044/tcp
 firewall-cmd --reload
- 
3、建议单独配置indices和Stream,这样方便搜索 (图片可点击放大查看) (图片可点击放大查看) (图片可点击放大查看) (图片可点击放大查看) 
四、导入Fail2ban的套件包并配置Geo

(图片可点击放大查看)

(图片可点击放大查看)
注意:Pipelines中连接的Stream

(图片可点击放大查看)

(图片可点击放大查看)
配置GeoIP

(图片可点击放大查看)

(图片可点击放大查看)
五、配置DashBoard

(图片可点击放大查看)
可以看到日志已经拆解成很多字段,方便做日志分析与统计
最后的效果如下

(图片可点击放大查看)

(图片可点击放大查看)
总结:
1、配置上有很多小细节需要注意,例如

2、GrayLog MarketPlace上有许多优秀的套件




