Debian系统配置防火墙指南(以ufw和iptables为例)
防火墙是保护Debian系统免受非法网络访问的核心工具,以下是两种常用工具的具体配置步骤及注意事项:
ufw是Debian推荐的简化版防火墙工具,适合新手快速上手,其配置流程如下:
通过APT包管理器安装ufw(默认仓库已包含):
sudo apt update && sudo apt install ufw -y
安装完成后,启用ufw以激活防火墙功能:
sudo ufw enable
启用时系统会提示“是否允许所有传入连接”,输入y并回车确认(后续可通过规则细化控制)。
为入站(inbound)和出站(outbound)流量设置默认规则,拒绝所有入站、允许所有出站(符合最小权限原则):
sudo ufw default deny incoming
sudo ufw default allow outgoing
根据系统需求开放常用服务端口(以SSH、HTTP、HTTPS为例):
sudo ufw allow 22/tcp # 允许SSH远程管理(默认端口22)
sudo ufw allow 80/tcp # 允许HTTP网页服务
sudo ufw allow 443/tcp # 允许HTTPS加密网页服务
若需允许其他服务(如FTP、MySQL),可替换端口号(如FTP为21/tcp、MySQL为3306/tcp)。
sudo ufw status
sudo ufw status verbose
sudo ufw disable
sudo ufw reload
sudo ufw allow from 192.168.1.100 to any port 22/tcp
sudo ufw allow from 192.168.1.0/24 to any port 80/tcp
sudo ufw allow 53/udp
iptables是Linux内核级的防火墙工具,功能更强大,适合需要精细化控制的场景,配置步骤如下:
通过APT安装iptables(默认仓库已包含):
sudo apt update && sudo apt install iptables -y
配置前先查看现有iptables规则,避免冲突:
sudo iptables -L -n -v
与ufw类似,设置默认拒绝入站、允许出站:
sudo iptables -P INPUT DROP # 拒绝所有入站流量
sudo iptables -P FORWARD DROP # 拒绝所有转发流量(若无需转发可保留)
sudo iptables -P OUTPUT ACCEPT # 允许所有出站流量
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables规则重启后会丢失,需通过以下方式保存:
sudo apt install iptables-persistent -y # 安装持久化工具
sudo netfilter-persistent save # 保存当前规则到/etc/iptables/rules.v4
安装过程中会提示“是否保存当前规则”,选择“是”即可。
确保iptables规则在系统启动时自动加载:
sudo systemctl enable netfilter-persistent
通过以下命令查看最终规则,确认配置正确:
sudo iptables -L -v -n
sudo iptables-save > ~/iptables-backup.rules(iptables)或sudo ufw export > ~/ufw-backup.rules(ufw)备份现有规则,避免误操作导致无法访问。sudo tail -f /var/log/syslog(ufw)或sudo dmesg | grep iptables(iptables)监控防火墙活动,及时发现异常流量(如暴力破解尝试)。通过以上步骤,可在Debian系统上配置有效的防火墙,保护系统免受非法网络访问。根据实际需求调整规则,确保既能满足业务需求,又能最大化安全防护。