配置防火墙日志记录功能
发布作者:微思网络 发布时间:2022-12-05 浏览量:0次
记录所有被防火墙拦截的数据包,并且保存以用于后续分析服务器是否被"端口扫描" 1、启用防火墙日志记录功能 可以使用 firewall-cmd 命令修改 2、配置日志文件单独保存 默认情况下,防火墙的拒绝日志会被保存在/var/log/messages 文件中。 但随着时间流逝,大量的拒绝日志可能会充斥该文件,并且默认系统会对 messages 文件进行日志旋转,不利于后续的准确分析。 可以通过 rsyslog 来捕获日志,并将其重定向到其他指定的文件中。 在 /etc/rsyslog.d/ 目录下创建一个 firewalld.conf 的文件,内容如下: 然后重启 rsyslog 服务 3、审计日志 直接查看该文件( /var/log/firewalld.log )很难统计出所有的信息,因为日志条目太长了,并且数量也多。 需要借助 grep 命令 awk 等命令帮助列出有用的信息。 最终我们想要看到的日志条目格式如下: 源IP地址-->协议/TCP:目的端口 源IP地址-->协议/UDP:目的端口 创建一个自定义命令 analyze-firewall 写入以下内容: 4、运行效果[root@localhost ~]# firewall-cmd --set-log-denied=unicast --permanent
[root@localhost ~]# firewall-cmd --reload:msg,contains,"_DROP" /var/log/firewalld.log
& stop
:msg,contains,"_REJECT" /var/log/firewalld.log
& stop[root@localhost ~]# systemctl restart rsyslog
#!/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[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 ~]#