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
相关推荐
ltl20 小时前
内核追踪:ftrace、kprobe、uprobe、tracepoint 生产实战
linux
·薯条大王20 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
小小、码农1 天前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b1 天前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
沫璃染墨1 天前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
AIgorithmGEEK1 天前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
修罗王1 天前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
迪康Defender1 天前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他
酷可达拉斯1 天前
Linux操作系统-升级OpenSSH修复漏洞
linux·运维·服务器·云计算
Molesidy1 天前
【Linux】基于busybox的根文件系统的完善
linux·服务器·嵌入式linux