debian

如何用Debian iptables进行日志分析

小樊
53
2025-08-09 17:30:57
栏目: 智能运维

一、配置iptables日志记录

  1. 添加日志规则
    使用-j LOG目标记录流量,可指定前缀和级别,例如:

    iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-IN: " --log-level 4
    
    • --log-prefix:为日志添加可识别前缀(如"SSH-IN")。
    • --log-level:控制日志详细程度(4为警告级别,可调整)。
  2. 保存规则

    apt install iptables-persistent
    netfilter-persistent save
    

二、查看日志

  1. 直接查看日志文件

    • 默认存储在/var/log/kern.log,使用grep过滤:
      grep "SSH-IN" /var/log/kern.log
      
    • 若使用rsyslog,可能需检查/etc/rsyslog.conf确认日志路径。
  2. 实时查看

    tail -f /var/log/kern.log | grep "SSH-IN"
    
  3. 使用journalctl(systemd系统)

    journalctl -k | grep "SSH-IN"  # 查看内核日志中的iptables记录
    

三、高级分析

  1. 文本工具处理

    • awk统计日志条目数量:
      awk '/SSH-IN/ {count++} END {print count}' /var/log/kern.log
      
    • sed提取特定字段(如IP地址):
      sed -n 's/.*SRC=\([0-9\.]*\).*/\1/p' /var/log/kern.log | sort | uniq -c
      
  2. 日志轮转管理
    编辑/etc/logrotate.d/syslog,设置日志切割频率(如按天/周),避免文件过大。

四、安全建议

参考来源

0
看了该问题的人还看了