Linux firewalld开启日志审计功能(2)

在Firewalld防火墙中启用和配置logdenied选项,记录被拒绝的数据包(等同于开启日志功能)

效果展示:

1.开启日志记录功能

firewall-cmd --set-log-denied=unicast

#重新加载生效配置

firewall-cmd --reload

2.配置rsyslog捕获日志

##Rsyslog可以用来捕获日志,并将其重定向到指定文件中

cat <<END>> /etc/rsyslog.d/firewalld.conf

:msg,contains,"_DROP" /var/log/firewalld.log

& stop

:msg,contains,"_REJECT" /var/log/firewalld.log

& stop

END

#重启使其生效

systemctl restart rsyslog

3.审计日志

##查看日志发现日志条目太长了,并且数量也多很难统计出有效信息,所以需要借助脚本过滤出提取有效信息

(1)添加过滤日志脚本

cat <<END>> /usr/local/bin/firewall-log
#!/bin/bash
PH=/tmp/.deny_analyze

echo '===> firewalld拦截信息日志 <==='
echo
echo  "拒绝次数 IP地址/端口"
cat /var/log/firewalld.log | awk '{print $10"="$17":"$19}' | grep -vE "SRC=0000*|SRC=fe80*" | grep DPT >$PH
cat /var/log/firewalld.log | awk '{print $10"="$18":"$20}' | grep -vE "SRC=0000*|SRC=fe80*" | grep DPT >>$PH
cat $PH | awk -F= '{gsub("PROTO","协议",$3);gsub("DPT","",$4);print $2"->"$3"/"$4$5}' | sort -nr | uniq -c | sort -nr | head -10
END

(2)添加可执行权限

chmod +x /usr/local/bin/firewall-log

4.尝试运行查看日志命令

firewall-log
相关推荐
靈龍靈1 分钟前
为多个GitHub账户配置SSH密钥
运维·ssh·github
小镇敲码人29 分钟前
【Linux网络编程】之守护进程
linux·运维·网络
流星白龙41 分钟前
【Linux】30.Linux 多线程(4)
linux·运维·服务器
ekskef_sef1 小时前
用nginx正向代理https网站
运维·nginx·https
MXsoft6182 小时前
能源与煤矿行业的运维政策指导性文件解读
大数据·运维
weixin_446260852 小时前
小红书自动化:如何利用Make批量生成爆款笔记
运维·笔记·自动化
小白也有IT梦2 小时前
如何在 Linux 中管理自定义脚本:将 ~/bin 目录添加到 $PATH
linux·path·脚本管理
Algorithm-0072 小时前
【软件测试入门】Linux操作系统初级命令大全
linux·运维·chrome
Lambsbaa3 小时前
轻量级服务器http-server
运维·服务器·http
Golinie3 小时前
【C++高并发服务器WebServer】-14:Select详解及实现
linux·服务器·c++·select·webserver