温馨提示×

debian防火墙怎么设置

小樊
45
2025-12-23 00:49:40
栏目: 智能运维

Debian 防火墙设置指南

一、选择工具与准备

  • 常用工具:UFW(Uncomplicated Firewall,简化 iptables 的前端)与 iptables(底层规则引擎)。新手优先用 UFW,复杂场景用 iptables。
  • 操作习惯:修改前先备份规则;变更时保持一条已建立的 SSH 会话,避免被锁;规则变更后及时验证与持久化。

二、使用 UFW 快速配置(推荐)

  • 安装与启用
    • 安装:sudo apt update && sudo apt install ufw
    • 设置默认策略:sudo ufw default deny incomingsudo ufw default allow outgoing
    • 允许 SSH:sudo ufw allow ssh(或 sudo ufw allow 22/tcp
    • 启用:sudo ufw enable(如提示可能中断现有 SSH 连接,确认已放行 SSH 后再继续)
  • 常用规则
    • HTTP/HTTPS:sudo ufw allow httpsudo ufw allow 80/tcpsudo ufw allow httpssudo ufw allow 443/tcp
    • 按来源网段放行:sudo ufw allow from 192.168.1.0/24
    • 按网卡放行:sudo ufw allow in on eth0 to any port 3306
    • 端口范围:sudo ufw allow 7100:7200/tcp
    • 查看状态:sudo ufw status verbose;禁用:sudo ufw disable
  • IPv6 支持(可选)
    • 编辑 /etc/default/ufw,将 IPV6=yes,使 UFW 同时管理 IPv6 规则。

三、使用 iptables 配置(进阶)

  • 基本规则
    • 查看:sudo iptables -L -n -v
    • 放行 SSH:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • 放行 HTTP/HTTPS:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    • 允许已建立的连接:sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    • 默认策略(谨慎):sudo iptables -P INPUT DROP(务必先放行 SSH,避免失联)
  • 持久化与恢复
    • 保存:sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    • 恢复:sudo iptables-restore < /etc/iptables/rules.v4
    • 使用 iptables-persistent / netfilter-persistent 管理开机加载:sudo apt install iptables-persistent;安装时选择保存当前规则,后续可用 sudo netfilter-persistent save|start 保存/加载。

四、常用场景示例

  • Web 服务器(UFW):sudo ufw allow 22/tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw enable
  • 数据库仅内网访问(UFW):sudo ufw allow from 192.168.1.0/24 to any port 3306
  • 限制某来源访问(iptables):sudo iptables -A INPUT -s 203.0.113.10 -j DROP
  • 放行端口区间(UFW):sudo ufw allow 10000:20000/tcp
  • 放行已建立连接(iptables,强烈建议):sudo iptables -I INPUT 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT(放在最前,避免误锁)

五、安全与维护建议

  • 变更前备份规则,变更后在同会话验证;必要时分阶段启用规则。
  • 优先使用 SSH 密钥登录,禁用 root 远程登录 与密码登录,降低被暴力破解风险。
  • 定期审查与更新规则,匹配业务变更;必要时开启日志以便审计与排障。

0