CentOS查询防火墙日志分析
一、防火墙日志定位与基本操作
CentOS系统默认使用firewalld
或iptables
作为防火墙工具,日志存储位置因配置而异:
1.1 firewalld日志路径
# 查看firewalld实时日志
journalctl -u firewalld --since "2024-01-01" --until "2024-01-02"
# 默认日志文件路径
/var/log/firewalld
1.2 iptables日志路径
# 查看内核日志(需启用iptables日志记录)
grep "IPTables" /var/log/messages
# 动态跟踪日志更新
tail -f /var/log/messages | grep -i DROP
二、日志深度分析与过滤技巧
2.1 关键字段过滤
# 查询被拒绝的流量记录
journalctl -u firewalld | grep -E 'DROP|REJECT'
# 统计来源IP访问频率
cat /var/log/messages | grep SRC= | awk '{print $10}' | sort | uniq -c | sort -nr
2.2 时间范围检索
# 查询指定时间段的日志
journalctl -u firewalld --since "09:00" --until "17:00"
# 结合时间戳分析攻击模式
grep "$(date +'%b %d')" /var/log/secure | awk '/Failed/{print $11}' | sort | uniq -c
三、自动化日志处理方案
3.1 日志分析脚本示例
#!/bin/bash
# 生成当日攻击统计报表
LOG_DATE=$(date +%Y%m%d)
grep "DST=" /var/log/firewalld > /tmp/firewall_${LOG_DATE}.log
awk '{print $10}' /tmp/firewall_${LOG_DATE}.log | cut -d= -f2 | sort | uniq -c > report.txt
3.2 集成监控工具
使用fail2ban
实现自动封禁:
# 安装配置示例
yum install -y fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
systemctl enable --now fail2ban
四、安全运维建议
- 配置日志轮转策略避免存储溢出
- 对高频访问IP进行信誉库比对
- 建立日志异常报警机制
- 定期更新防火墙规则库