Ubuntu防火墙实现访问控制的核心工具与步骤
Ubuntu系统中,UFW(Uncomplicated Firewall) 是基于iptables的简化防火墙管理工具,适合大多数用户快速配置访问控制。其核心逻辑是通过默认策略限制入站流量,并通过精细化规则允许特定来源或服务的访问,从而实现“最小权限”原则的安全防护。
sudo apt update && sudo apt install ufw
sudo ufw enable
启用时会提示“是否允许SSH连接”,输入y确认(避免误锁服务器)。默认策略决定了未明确匹配流量的处理方式,建议采用**“拒绝入站、允许出站”**的严格模式:
sudo ufw default deny incoming # 拒绝所有外部入站连接
sudo ufw default allow outgoing # 允许本机所有出站连接(如浏览网页、下载)
此设置确保只有明确允许的服务才能接收外部请求,降低未授权访问风险。
通过服务名称或端口号开放必要服务(如SSH、HTTP、HTTPS),推荐使用服务名称(自动映射到标准端口):
sudo ufw allow ssh # 允许SSH(22/tcp)
sudo ufw allow http # 允许HTTP(80/tcp)
sudo ufw allow https # 允许HTTPS(443/tcp)
若需开放自定义端口(如MySQL的3306/tcp),可使用端口号:
sudo ufw allow 3306/tcp # 允许MySQL数据库访问
sudo ufw allow from 192.168.1.100 # 允许IP 192.168.1.100访问所有端口
sudo ufw allow from 192.168.1.100 to any port 22 # 仅允许该IP访问SSH
sudo ufw allow from 192.168.1.0/24 to any port 80 # 允许192.168.1.0/24网段访问HTTP
sudo ufw limit ssh/tcp # 等同于:sudo ufw limit 22/tcp
sudo ufw allow 5000:6000/tcp # 允许5000-6000端口的TCP连接
/var/log/ufw.log):sudo ufw logging on
日志级别可通过sudo ufw logging low|medium|high调整(medium为默认,平衡性能与详细度)。sudo ufw status verbose
sudo ufw status numbered # 查看规则编号
sudo ufw delete 1 # 删除第1条规则
sudo ufw delete allow ssh # 直接删除指定规则
nmap扫描服务器端口,确认仅开放的端口可见:nmap -p 22,80,443 your_server_ip
sudo cp /etc/ufw/ufw.conf /etc/ufw/ufw.conf.baksudo ufw reset恢复默认状态(会清除所有规则)。通过以上步骤,Ubuntu防火墙可实现基于服务、IP、网段的精细化访问控制,有效防范未授权访问和常见网络攻击。需根据实际业务需求定期调整规则,确保安全性与可用性的平衡。