Linux防火墙日志审计实操指南
一 选择方案与准备
二 使用 firewalld 开启日志审计
firewall-cmd --get-log-denied(常见值:off、unicast、broadcast、multicast、all)firewall-cmd --set-log-denied=all --permanent 或仅记录单播:--set-log-denied=unicastfirewall-cmd --reloadtail -f /var/log/messages | grep -i reject:msg,contains,"_DROP" /var/log/firewalld.log
& stop
:msg,contains,"_REJECT" /var/log/firewalld.log
& stop
重启 rsyslog:systemctl restart rsyslog三 使用 iptables 进行日志审计
iptables -A INPUT -j LOG --log-prefix 'IPTABLES-INPUT: ' --log-level 4iptables -A INPUT -s 192.168.10.0/24 -j LOG --log-prefix 'IPTABLES-SRC10: ' --log-level 4iptables -A OUTPUT ...、iptables -A FORWARD ...:msg,contains,"IPTABLES-INPUT: " /var/log/iptables-input.log
& stop
:msg,contains,"IPTABLES-OUTPUT: " /var/log/iptables-output.log
& stop
:msg,contains,"IPTABLES-FORWARD: " /var/log/iptables-forward.log
& stop
重启 rsyslog:systemctl restart rsyslogtail -f /var/log/iptables-input.log四 日志解析与常用审计命令
grep 'FINAL_REJECT' /var/log/firewalld.log | awk '{print $10}' \
| sort -n | uniq -c | sort -k1nr | head -10
grep 'IPTABLES-INPUT: ' /var/log/iptables-input.log \
| awk '{print $10}' | sort | uniq -c | sort -nr | head -10
grep 'FINAL_REJECT' /var/log/firewalld.log | grep 'DPT=22' \
| awk '{print $10}' | sort | uniq -c | sort -nr | head -10
head 查看样例,再调整 awk 列号或配合正则匹配。五 日志轮转与集中化
DPT=9200 或特定 SRC 触发规则)。*.* @192.168.31.230:1514;RSYSLOG_SyslogProtocol23Format
重启 rsyslog 后生效。