一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

debian防火墙怎样监控

时间:2026-06-09 09:49:58 编辑:袖梨 来源:一聚教程网

Debian 防火墙监控实操指南

debian防火墙怎么监控

一、先确认正在使用的防火墙

  • 查看常见防火墙服务状态:sudo systemctl is-active ufwsudo systemctl is-active firewalldsudo systemctl is-active nftablessudo systemctl is-active iptables
  • 快速探测工具与规则集:sudo ufw --versionsudo nft list rulesetsudo iptables -L -n -v
  • 若不确定,可列出相关包:dpkg -l | grep -E ‘ufw|firewalld|nftables|iptables’说明:Debian 常见为 UFW 或直接用 iptables/nftables;firewalld 并非默认。

二、实时监控防火墙规则与流量

  • UFW

    • 状态与规则:sudo ufw status verbose;按编号管理:sudo ufw status numbered
    • 实时日志:sudo tail -f /var/log/ufw.log(如未生成,可用 sudo tail -f /var/log/syslog | grep ufw)
    • 调整日志级别:sudo ufw logging medium(级别:off/low/medium/high/full)
  • iptables

    • 查看规则与计数器:sudo iptables -L -n -v(关注 pkts/bytes 的增长)
    • 按链查看:sudo iptables -L INPUT -n -v;OUTPUT/FORWARD 同理
    • 实时写日志(示例:记录访问 80/tcp):sudo iptables -I INPUT -p tcp --dport 80 -j LOG --log-prefix "HTTP_IN: " --log-level 4实时查看:sudo tail -f /var/log/kern.log | grep HTTP_IN
    • 保存/恢复(持久化):sudo iptables-save > /etc/iptables/rules.v4sudo iptables-restore < /etc/iptables/rules.v4
  • nftables

    • 查看规则集:sudo nft list ruleset
    • 实时监控事件:sudo nft monitor(适合观察规则匹配与动态变更)

三、连接与会话监控

  • 查看连接跟踪表(谁在连、什么状态):sudo conntrack -L按协议过滤:sudo conntrack -L -p tcp
  • 辅助工具(与防火墙配合定位“被放行/被拒绝”的实际流量):sudo ss -tulpen(查看监听端口与进程)sudo iftop -i eth0(按连接实时带宽)sudo nload(接口实时速率)sudo vnstat -i eth0(按日/月统计历史流量)

四、日志集中、告警与自动化

  • 将防火墙日志统一到 rsyslog 并集中存储/转发:
    • 编辑 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf,添加:. @remote_syslog_server_ip:514
    • 重启:sudo systemctl restart rsyslog
  • UFW 日志与 Syslog 集成(便于按“ufw”关键字归档与告警):
    • 确保 /etc/default/ufw 中:LOG_TARGET=syslog
    • 在 rsyslog 配置中分离 ufw 日志::msg, contains, “ufw” /var/log/ufw.log& stop
    • 重启 rsyslog:sudo systemctl restart rsyslog
  • 简单告警与自动封禁示例(基于日志触发):
    • 检测频繁触发的来源 IP 并自动封禁(示例思路,需按实际日志格式微调):#!/usr/bin/env bashLOG=“/var/log/ufw.log”BLACKLIST=“/etc/ufw/blocked_ips.list”IP=$(grep “UFW BLOCK” “$LOG” | tail -n 100 | awk ‘{print $8}’ | sort | uniq -c | sort -nr | head -n1 | awk ‘{print $2}’)if [ -n “$IP” ] && ! grep -q “^$IP$” “$BLACKLIST”; thenecho “$IP” | sudo tee -a “$BLACKLIST”sudo ufw insert 1 deny from “$IP” to anyecho “Blocked IP: $IP”fi
    • 加入定时任务:*/5 * * * * /path/to/script.sh
  • 入侵迹象检测与联动:
    • 记录异常 SYN 洪泛(限速避免日志风暴):sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/min -j LOG --log-prefix "SYN_FLOOD: "
    • 结合 Fail2Ban 自动封禁暴力破解来源(与 UFW/iptables 联动)。

热门栏目