Ubuntu防火墙(UFW)阻止恶意攻击的配置方法
UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙管理工具,以简单易用著称。首先通过以下命令安装(多数新系统已预装)并启用:
sudo apt update
sudo apt install ufw
sudo ufw enable # 启用防火墙,系统会提示确认
启用后,UFW会默认拒绝所有传入连接、允许所有传出连接,这是防范恶意攻击的基础策略。
默认策略是防火墙的第一道防线,建议保持以下设置:
sudo ufw default deny incoming # 拒绝所有传入连接(防止未授权访问)
sudo ufw default allow outgoing # 允许所有传出连接(不影响系统正常上网)
此策略可有效减少潜在攻击面,避免恶意流量进入系统。
根据系统需求,仅开放必需的服务端口(如Web服务器的80/443端口、SSH的22端口),关闭不必要的端口(如Telnet的23端口、FTP的21端口)。例如:
sudo ufw allow 22/tcp # 允许SSH连接(远程管理)
sudo ufw allow 80/tcp # 允许HTTP连接(Web服务)
sudo ufw allow 443/tcp # 允许HTTPS连接(加密Web服务)
sudo ufw deny 23/tcp # 拒绝Telnet连接(明文传输,易被窃听)
仅开放必要端口可降低恶意攻击的目标数量。
对于敏感服务(如SSH),可通过IP白名单限制访问来源,避免陌生IP的非法连接。例如,仅允许公司IP(192.168.1.100)访问SSH:
sudo ufw allow from 192.168.1.100 to any port 22
此规则可有效防止未经授权的IP尝试暴力破解或非法访问。
恶意攻击(如DDoS、SSH暴力破解)通常伴随高频连接请求,可通过limit规则限制单个IP的连接速率。例如,限制SSH连接每分钟最多3次,超过则暂时拒绝:
sudo ufw limit ssh/tcp # 等同于:sudo ufw limit from any to any port 22 proto tcp
该规则可有效缓解高频攻击,避免系统资源耗尽。
开启UFW日志功能,记录所有符合规则的连接尝试,便于后续分析恶意行为。例如,设置日志级别为medium(平衡详细程度与性能):
sudo ufw logging on # 启用日志
sudo ufw logging medium # 设置日志级别(可选:low/medium/high/full)
日志文件默认存储在/var/log/ufw.log,可通过tail -f /var/log/ufw.log实时查看活动记录。
对于复杂场景(如限制端口范围、过滤特定协议),可使用iptables补充UFW的功能。例如,限制1000-2000端口的TCP连接:
sudo iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
需注意,iptables规则需手动保存(sudo iptables-save > /etc/iptables/rules.v4)才能在重启后生效。
防火墙并非万能,需配合以下措施进一步增强安全性:
sudo apt update && sudo apt upgrade安装最新安全补丁,修复已知漏洞;PermitRootLogin no)、使用密钥对认证(PasswordAuthentication no)、更改默认SSH端口(如2222);fail2ban工具自动封禁多次尝试失败的IP,结合journalctl分析服务日志。通过以上配置,Ubuntu防火墙可有效阻止恶意攻击(如DDoS、暴力破解、非法端口扫描),保护系统免受未授权访问。需根据实际需求调整规则,并定期检查更新防火墙配置。