Debian系统防火墙配置指南(以UFW为例,适合新手)
Debian系统原生支持多种防火墙工具,其中**UFW(Uncomplicated Firewall)**是官方推荐的简化版防火墙管理工具,适合大多数用户;iptables则是底层工具,适合高级用户自定义规则。以下是详细配置步骤:
首先更新软件包列表并安装UFW:
sudo apt update
sudo apt install ufw
安装完成后,启用UFW(默认拒绝所有入站连接、允许所有出站连接):
sudo ufw enable
验证UFW状态(显示“Status: active”表示启用成功):
sudo ufw status
若需查看详细规则(包含规则编号,方便后续删除),可使用:
sudo ufw status verbose
允许特定端口:
允许SSH(22端口,TCP协议,用于远程登录):
sudo ufw allow 22/tcp
允许HTTP(80端口,TCP协议,用于网页服务):
sudo ufw allow 80/tcp
允许HTTPS(443端口,TCP协议,用于加密网页服务):
sudo ufw allow 443/tcp
允许指定IP(如192.168.1.100)访问SSH:
sudo ufw allow from 192.168.1.100 to any port 22
拒绝端口/IP:
拒绝FTP(21端口,TCP协议):
sudo ufw deny 21/tcp
拒绝指定IP(如10.0.0.1)的所有访问:
sudo ufw deny from 10.0.0.1
删除规则:
按规则内容删除(如删除允许SSH的规则):
sudo ufw delete allow 22/tcp
按规则编号删除(需先通过sudo ufw status verbose查看编号,如编号为1):
sudo ufw delete 1
设置默认策略:
若需更严格的安全控制,可将默认入站策略设为“拒绝”(默认已开启),默认出站策略设为“允许”(默认已开启):
sudo ufw default deny incoming
sudo ufw default allow outgoing
注意:修改默认策略前,请确保已放行必要服务(如SSH),否则可能导致无法远程登录。
启用日志记录:
开启UFW日志(记录防火墙活动,便于排查问题):
sudo ufw logging on
日志文件默认存储在/var/log/syslog中。
安装iptables:
sudo apt install iptables
添加基础规则(允许SSH、HTTP、HTTPS入站,拒绝其他入站):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS
sudo iptables -P INPUT DROP # 拒绝所有其他入站连接
说明:-A INPUT表示追加到INPUT链(处理入站流量),-p tcp指定TCP协议,--dport指定端口,-j ACCEPT表示接受,-P INPUT DROP表示默认拒绝入站。
/etc/iptables/rules.v4(Debian默认路径):sudo iptables-save > /etc/iptables/rules.v4
/etc/network/if-pre-up.d/iptables,内容如下:#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4
赋予脚本执行权限:sudo chmod +x /etc/network/if-pre-up.d/iptables
这样系统重启后会自动加载保存的规则。cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.bak),便于恢复。/var/log/syslog(UFW)或journalctl -u ufw(UFW日志)监控防火墙活动,及时发现异常访问。通过以上步骤,您可以为Debian系统配置基础的防火墙保护。根据实际需求,可进一步调整规则(如限制访问频率、允许特定IP段等)。