Debian Strings如何配置防火墙
导读:Debian 防火墙配置指南 说明与准备 你提到的“Debian Strings”应为“Debian 系统”。Debian 默认不启用防火墙,常见做法是基于 UFW(适合快速上手)或 nftables/iptables(更灵活、可脚本化)...
Debian 防火墙配置指南
说明与准备
- 你提到的“Debian Strings”应为“Debian 系统”。Debian 默认不启用防火墙,常见做法是基于 UFW(适合快速上手)或 nftables/iptables(更灵活、可脚本化)来配置。操作前建议先备份现有规则,并在非生产环境或确保有控制台/带外访问的前提下变更,避免被误锁。远程修改时务必先放行 SSH 端口(默认 22/TCP)。
方案一 使用 UFW 快速配置
- 安装与启用
- 安装:sudo apt update & & sudo apt install ufw
- 设置默认策略(先放行 SSH 再启用):sudo ufw default deny incoming;sudo ufw default allow outgoing
- 放行常用服务:sudo ufw allow ssh(或 sudo ufw allow 22/tcp);sudo ufw allow http;sudo ufw allow https
- 启用:sudo ufw enable;查看状态:sudo ufw status(详细:sudo ufw status verbose)
- 常用操作
- 按端口/协议:sudo ufw allow 80/tcp;sudo ufw allow 10000:20000/udp
- 按来源 IP/子网:sudo ufw allow from 203.0.113.10;sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
- 删除规则:sudo ufw delete allow 80/tcp;或按编号删除:sudo ufw delete 2
- 日志:sudo ufw logging on|off|low|medium|high(日志位于 /var/log/ufw)
- 重置:sudo ufw reset(清空规则并禁用)
- 提示
- UFW 规则为空时即使“启用”也不会阻断流量;设置默认 deny incoming 前务必先放行 SSH,避免失联。
方案二 使用 nftables 配置
- 安装与查看
- 安装:sudo apt update & & sudo apt install nftables
- 查看规则集:sudo nft list ruleset
- 基本规则模板(示例)
- 允许回环与已建立连接:sudo nft add rule ip filter input iif lo accept
- 允许已建立/相关连接:sudo nft add rule ip filter input ct state established,related accept
- 放行 SSH(22/TCP):sudo nft add rule ip filter input tcp dport 22 accept
- 放行 HTTP/HTTPS:sudo nft add rule ip filter input tcp dport 80 accept;sudo nft add rule ip filter input tcp dport 443 accept
- 默认丢弃入站:sudo nft chain ip filter input { type filter hook input priority 0 ; policy drop ; }
- 持久化
- 保存:sudo nft list ruleset > /etc/nftables.conf
- 恢复:sudo nft -f /etc/nftables.conf
- 启用开机加载:sudo systemctl enable --now nftables
- 提示
- 若系统同时装有 iptables,注意避免规则冲突;nftables 为较新的框架,语法与 iptables 不同。
方案三 使用 iptables 配置
- 安装与查看
- 安装:sudo apt update & & sudo apt install iptables
- 查看:sudo iptables -L -n -v
- 基本规则模板(示例)
- 允许回环:sudo iptables -A INPUT -i lo -j ACCEPT
- 允许已建立/相关:sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
- 放行 SSH(22/TCP):sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 放行 HTTP/HTTPS:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT;sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 默认丢弃入站:sudo iptables -P INPUT DROP
- 持久化
- Debian 10+/Buster 及更新版本:sudo apt install iptables-persistent;安装时选择保存当前规则;后续可用 sudo netfilter-persistent save/start
- 通用方式:sudo sh -c “iptables-save > /etc/iptables/rules.v4”;开机恢复:sudo iptables-restore < /etc/iptables/rules.v4
- 提示
- 规则顺序很重要,命中即停止匹配;远程操作务必先放行 SSH,避免锁死。
通用加固与运维建议
- 最小暴露:仅开放必要端口(如 22/80/443),数据库、缓存等仅内网访问;必要时结合云厂商安全组做外层限制。
- 日志与审计:开启防火墙日志(如 UFW 日志),定期审计被拒绝的连接;必要时对关键端口设置更细粒度的来源限制。
- 连接状态:优先放行已建立/相关连接(如状态匹配或 conntrack),提升安全性与可用性。
- 变更流程:变更前备份规则;先在测试环境验证;远程操作使用 screen/tmux,或先放行 SSH 再切换默认策略;变更后及时验证服务可达性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Strings如何配置防火墙
本文地址: https://pptw.com/jishu/787029.html
