跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

针对新手如何配置Linux系统的防火墙日志并利用AWK进行流量分析

新手配置Linux防火墙日志并用awk分析流量的核心三步是:一、iptables用LOG规则前置并加--log-prefix,firewalld启用--set-log-denied=all;二、iptables日志查/var/log/syslog或/messages,firewalld用journalctl或配rsyslog输出到文件;三、用awk提取SRC字段、统计IP频次、排序去重。

新手配置Linux防火墙日志并用awk分析流量,核心就三步:先让防火墙“开口说话”,再把日志找出来,最后用awk“挑重点、算次数、理线索”。不复杂但容易忽略细节。

一、让防火墙开始记日志

不同防火墙工具启用方式不同,选对方法才能看到有效记录:iptables用户:在DROP规则前插入LOG规则,例如sudo iptables -A INPUT -j LOG --log-prefix "FW-DROP: " --log-level 6注意必须加--log-prefix,否则后续grep筛选会很吃力;规则要放在REJECT/DROP之前,否则没机会记录。

firewalld用户:默认不记拒绝日志,需主动开启sudo firewall-cmd --permanent --set-log-denied=all && sudo firewall-cmd --reload

验证是否生效:

sudo firewall-cmd --get-log-denied应返回all。

二、定位日志文件位置

日志不是随便扔在哪的,得知道去哪翻:CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。

下载iptables日志

默认写入系统日志:

Ubuntu/Debian 看/var/log/kern.log或/var/log/syslog CentOS/RHEL 看/var/log/messages firewalld日志

走journal,推荐用:

sudo journalctl -u firewalld -n 50 --no-pager若想单独存为/var/log/firewalld.log,需配置rsyslog(在/etc/rsyslog.d/firewalld.conf中添加kern.* /var/log/firewalld.log,再重启rsyslog)。

三、用awk快速提取关键信息

原始日志是大段文本,awk帮你“切字段、筛IP、统次数”:从iptables日志中提取被拒绝的源IP(假设日志含SRC=192.168.1.100

):

sudo grep "FW-DROP" /var/log/syslog | awk '{for(i=1;i统计firewalld拒绝连接中出现最多的10个目标端口(日志含DPT=22

):

sudo journalctl -u firewalld | grep "FINAL_REJECT" | awk '{for(i=1;i一行命令生成“源IP → 协议/端口”格式(便于人工排查):sudo grep "FW-DROP" /var/log/syslog | awk '{ip=""; port=""; proto=""; for(i=1;i

四、日常分析小技巧

别等出事才翻日志,养成几个轻量习惯:用tail -f /var/log/syslog | grep FW-DROP实时盯住新拒绝记录把常用awk命令保存成脚本,比如/usr/local/bin/fw-topip,赋予权限后直接运行结合date限制时间范围,避免全盘扫描:sudo grep "$(date +%b\ %d)" /var/log/syslog | grep FW-DROP | ...

相关文章