首页主机资讯debian防火墙如何与其他服务联动

debian防火墙如何与其他服务联动

时间2025-11-17 22:06:03发布访客分类主机资讯浏览787
导读:Debian 防火墙与其他服务联动实践 一、工具选型与总体思路 常用防火墙栈:UFW(入门友好)、iptables(经典灵活)、nftables(新一代语法与性能)、firewalld(动态区域管理)。 联动目标:与SSH、Nginx等服...

Debian 防火墙与其他服务联动实践

一、工具选型与总体思路

  • 常用防火墙栈:UFW(入门友好)、iptables(经典灵活)、nftables(新一代语法与性能)、firewalld(动态区域管理)。
  • 联动目标:与SSH、Nginx等服务联动开放端口;与Fail2ban联动自动封禁;与日志系统联动审计;按需做NAT/端口转发端口范围控制。

二、与常见服务的联动配置

  • SSH

    • UFW:启用前先放行端口,避免断连
      • 默认端口:sudo ufw allow OpenSSHsudo ufw allow 22/tcp
      • 自定义端口(如2222):sudo ufw allow 2222/tcp
    • firewalld:sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload
    • 提示:修改 SSH 端口后,务必同步更新防火墙规则。
  • Nginx/HTTP(S)

    • UFW:直接放行服务或端口
      • 服务名:sudo ufw allow ‘Nginx Full’
      • 端口:sudo ufw allow 80/tcpsudo ufw allow 443/tcp
    • 按来源 IP 限制访问(示例仅允许192.168.1.100访问 80/443)
      • sudo ufw allow from 192.168.1.100 to any port 80
      • sudo ufw allow from 192.168.1.100 to any port 443
    • 验证:sudo ufw status 查看规则是否生效。

三、与安全工具的联动

  • Fail2ban(自动封禁暴力破解)

    • 安装与启用:sudo apt update & & sudo apt install fail2ban & & sudo systemctl enable --now fail2ban
    • 保护 SSH(/etc/fail2ban/jail.local 或 jail.d/sshd.local)
      • 示例:
        • [sshd]
        • enabled = true
        • port = ssh
        • filter = sshd
        • logpath = /var/log/auth.log
        • maxretry = 5
        • findtime = 600
        • bantime = 3600
    • 说明:UFW 环境下可使用ufw-ban等动作脚本;iptables/nftables 环境由 fail2ban 直接插入 DROP 规则。
  • 日志与审计

    • UFW 日志:sudo ufw logging on,查看 /var/log/ufw.log;或在 /var/log/syslog 中检索 iptables denied
    • iptables 日志:在 DROP 前记录
      • sudo iptables -A INPUT -j LOG --log-prefix "iptables denied: "
      • 持久化:保存至 /etc/iptables/rules.v4 并在启动时恢复。
  • 系统审计与恶意软件检测(配合防火墙策略验证)

    • Lynis:sudo apt install lynis & & sudo lynis system-audit
    • rkhunter:sudo apt install rkhunter & & sudo rkhunter --check

四、网络与运维场景联动

  • NAT 与端口转发

    • firewalld
      • 启用伪装(出口 NAT):sudo firewall-cmd --add-masquerade --permanent & & sudo firewall-cmd --reload
      • 端口转发示例:
        • 本机端口转发:sudo firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toport=2022
        • 转发到内网主机:sudo firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=192.168.2.10
        • 转发并重映射端口:sudo firewall-cmd --permanent --add-forward-port=port=7071:proto=tcp:toport=9071:toaddr=10.50.142.37
    • iptables
      • SNAT(出网源地址转换):sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 203.0.113.5
      • DNAT(入站端口映射):sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80
    • 提示:启用转发需打开内核 IP 转发(见下文)。
  • 端口范围与接口/来源限制

    • UFW 端口范围:sudo ufw allow 8090:9090/tcp
    • UFW 按接口限制:sudo ufw allow in on eth2 to any port 3306
    • UFW 按来源限制:sudo ufw allow from 192.168.1.0/24 to any port 3306
    • firewalld 富规则(仅允许指定来源访问 SSH):
      • sudo firewall-cmd --add-rich-rule=‘rule family=“ipv4” service name=“ssh” source address=“192.168.0.12/32” accept’ --permanent
      • sudo firewall-cmd --reload

五、规则持久化与开机自启

  • UFW:规则即时生效;持久化随 UFW 启用自动处理(建议变更后用 sudo ufw status 复核)。
  • iptables
    • Debian 11+/通用做法:安装 iptables-persistent
      • sudo apt install iptables-persistent
      • 安装时选择保存当前规则;后续可用 iptables-save > /etc/iptables/rules.v4 更新
    • 旧版/通用脚本:在 /etc/network/if-pre-up.d/iptables 中恢复规则并赋权,确保开机加载
      • 示例:/sbin/iptables-restore < /etc/iptables/rules.v4chmod +x /etc/network/if-pre-up.d/iptables
  • nftables
    • 保存与加载:sudo nft list ruleset > /etc/nftables.conf
    • 开机启用:sudo systemctl enable --now nftables
  • firewalld
    • 动态生效,变更后用 sudo firewall-cmd --reload;服务自启:sudo systemctl enable --now firewalld
  • 通用系统设置
    • 启用 IP 转发(NAT/转发场景必需):编辑 /etc/sysctl.conf
      • net.ipv4.ip_forward=1
      • 使生效:sudo sysctl -p

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: debian防火墙如何与其他服务联动
本文地址: https://pptw.com/jishu/749398.html
debian防火墙默认规则有哪些 debian防火墙服务如何重启

游客 回复需填写必要信息