firewalld开启防火墙日志记录和指定日志记录位置

发布时间 2023-07-31 18:37:29作者: 叶子在行动

CentOS操作系统中Firewalld防火墙默认是不记录日志的,如果服务器性能允许,可以通过修改配置文件,使Firewalld防火墙记录日志,这样我们可以通过防火墙记录的日志,查询过滤拒绝的非法ip,把这些ip放入到黑名单中。

修改配置文件:/etc/firewalld/firewalld.conf

 

修改为:LogDenied=all

off:默认值,不记录被拒的包

all:记录所有被拒的包

重启Firewalld服务使其生效,命令:

systemctl restart firewalld

验证配置是否生效的方法:

重启服务前后使用命令查看配置选项的值:firewall-cmd --get-log-denied

 

测试Firewalld被拒数据包后是否记录日志:

使用另外的电脑,telnet该服务器,端口为未开放的端口。

如:telnet 10.41.1.97 333

 

在服务器上查看reject日志:

命令:dmesg |grep -i reject|grep 10.41.5.88

默认记录位置:

tail -500f /var/log/messages

把日志记录到文件:

创建文件/etc/rsyslog.d/firewalld.conf

内容:

kern.* /var/log/firewalld.log

修改配置文件/etc/logrotate.d/syslog

内容:

 

重启rsyslog服务:

命令:systemctl restart rsyslog.service

日志文件被创建,telnet 10.41.1.97 333有拒绝日志产生

 

通过命令查看被拒绝最多的ip地址:

命令:grep 'FINAL_REJECT' /var/log/firewalld.log |awk '{print $10}'|sort -n |uniq -c |sort -k1nr|head -10

 

 

转自:https://baijiahao.baidu.com/s?id=1685684533566281761&wfr=spider&for=pc

参考链接:(可添加指定文件)https://blog.csdn.net/kangweijian/article/details/126347125

参考链接:http://www.hzhcontrols.com/new-1280976.html    

1、firewalld的默认配置是不记录日志

 

firewall-cmd --get-log-denied

 

可以看到默认是off状态

 

cat /etc/firewalld/firewalld.conf | grep -i Log

 

可以看到LogDenied=off :即不记录被拒绝的包

 

640.png

2、可以通过修改配置文件,使Firewalld防火墙记录日志

 

从而通过防火墙记录的日志,查询出拒绝的非法ip

 

具体步骤如下 

 

set-log-denied设置为all,表示记录所有被拒的包

640.png

 

firewall-cmd --set-log-denied=all

 

3、通过日志来判断出被拒绝的IP

 

由于业务侧反馈无法访问到ES数据库端口,业务侧无法判断出自己的IP地址 这时就该方法在Firewalld上开启Log记录,通过日志来判断出被拒绝的IP

进行nc端口测试,触发日志(或者让业务侧复现重试一次)

640.png

 

tail -f /var/log/messages

640.png

或者

 

640.png

 

dmesg | grep -i REJECT | grep DPT=9200

 

4、根据最小化原则,给这个IP开放ES的端口

 

firewall-cmd --add-rich-rule='rule family="ipv4"  source address="192.168.31.22023年07月31日" port port="9200" protocol="tcp"   accept' --permanentfirewall-cmd --reload

 

5、测试可以正常访问ES 9200端口

 

640.png

640.png

 

接下来就可以关闭Firewalld的日志记录

firewall-cmd --set-log-denied=off

扩展

 

  • 1、开启日志记录,可以将kernel的日志使用rsyslog发送到graylog

 

echo "*.* @192.168.31.230:1514;RSYSLOG_SyslogProtocol23Format" >> /etc/rsyslog.conf systemctl restart rsyslog
  • 2、当异常IP尝试去访问ES数据库,通过配置GraylogAlert将所匹配到的firewalld拦截日志进行告警推送

640.png

"DPT=9200" AND "DST=192.168.31.170"

 

这里就不详细介绍如何实现,可以参考之前的文章

出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-1280976.html
转自:http://www.hzhcontrols.com/new-1280976.html

 

可能是:老版本linux系统开启日志记录:https://www.bilibili.com/read/cv19034491

 

 

firewalld详细配置策略和转发:

参考链接:http://senlt.cn/article/729882856.html