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