当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

配置防火墙日志记录功能

发布作者:微思网络   发布时间:2022-12-05   浏览量:0

图片



实验效果


记录所有被防火墙拦截的数据包,并且保存以用于后续分析服务器是否被"端口扫描"





配置步骤

1、启用防火墙日志记录功能


可以使用 firewall-cmd 命令修改

[root@localhost ~]# firewall-cmd --set-log-denied=unicast --permanent
[root@localhost ~]# firewall-cmd --reload


2、配置日志文件单独保存


默认情况下,防火墙的拒绝日志会被保存在/var/log/messages 文件中。

但随着时间流逝,大量的拒绝日志可能会充斥该文件,并且默认系统会对 messages 文件进行日志旋转,不利于后续的准确分析。

可以通过 rsyslog 来捕获日志,并将其重定向到其他指定的文件中。

在 /etc/rsyslog.d/ 目录下创建一个 firewalld.conf 的文件,内容如下:

:msg,contains,"_DROP" /var/log/firewalld.log
& stop
:msg,contains,"_REJECT" /var/log/firewalld.log
& stop


然后重启 rsyslog 服务

[root@localhost ~]# systemctl restart rsyslog



3、审计日志


直接查看该文件( /var/log/firewalld.log )很难统计出所有的信息,因为日志条目太长了,并且数量也多。

需要借助 grep 命令 awk 等命令帮助列出有用的信息。

最终我们想要看到的日志条目格式如下:

  • 源IP地址-->协议/TCP:目的端口

  • 源IP地址-->协议/UDP:目的端口


创建一个自定义命令 analyze-firewall 写入以下内容:

#!/bin/bash
cat /var/log/firewalld.log | awk '{print $10"="$17":"$19}' | grep -vE "SRC=0000*|SRC=fe80*" | grep DPT >deny_analyze
cat /var/log/firewalld.log | awk '{print $10"="$18":"$20}' | grep -vE "SRC=0000*|SRC=fe80*" | grep DPT >>deny_analyze
cat deny_analyze | awk -F= '{gsub("PROTO","协议",$3);gsub("DPT","",$4);print $2"->"$3"/"$4$5}' | sort -nr | uniq -c | sort -nr | head -5



4、运行效果

[root@localhost ~]# analyze-firewall
202 172.25.250.11->协议/TCP:8888
75 172.25.250.11->协议/TCP:23
52 172.25.250.11->协议/TCP:943
40 172.25.250.12->协议/TCP:80
32 172.25.250.11->协议/TCP:53
[root@localhost ~]#





返回顶部