在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上有许多优秀的套件