温馨提示×

Ubuntu防火墙安全策略有哪些

小樊
57
2025-09-19 05:15:55
栏目: 智能运维

Ubuntu防火墙(UFW)安全策略体系
Ubuntu系统默认使用**UFW(Uncomplicated Firewall)**作为防火墙管理工具,它基于iptables封装,通过简洁的命令行界面实现流量控制,核心目标是“默认拒绝所有未明确允许的连接”,从而降低系统暴露风险。以下是具体的安全策略框架:

一、基础配置策略

1. 默认策略设置

设置“拒绝所有入站连接、允许所有出站连接”是UFW的核心安全基线,确保只有主动发起的连接(如浏览网页、下载文件)能正常外出,外部未经授权的连接无法进入系统:

sudo ufw default deny incoming # 拒绝所有入站流量 sudo ufw default allow outgoing # 允许所有出站流量 

2. 允许必要服务端口

根据业务需求开放必需的服务端口(如Web服务的80/443端口、SSH运维的22端口),避免开放无用端口增加攻击面:

sudo ufw allow 80/tcp # 允许HTTP(网页访问) sudo ufw allow 443/tcp # 允许HTTPS(加密网页访问) sudo ufw allow 22/tcp # 允许SSH(远程运维) # 或使用服务名称(UFW内置常见服务端口映射) sudo ufw allow http sudo ufw allow https sudo ufw allow ssh 

3. 拒绝不必要的端口

关闭系统中未使用的端口(如传统FTP的21端口、Telnet的23端口),减少潜在的攻击入口:

sudo ufw deny 21/tcp # 拒绝FTP sudo ufw deny 23/tcp # 拒绝Telnet 

二、进阶安全策略

1. IP访问控制

遵循“最小权限原则”,仅允许信任的IP地址访问敏感服务(如SSH),阻断非法IP的连接尝试:

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 22 # 允许子网访问SSH 

2. 限制连接速率

针对SSH等易受暴力破解的服务,启用连接速率限制(如每分钟最多6次尝试),防止攻击者通过大量无效请求耗尽系统资源:

sudo ufw limit ssh/tcp # 限制SSH连接速率(默认6次/分钟) # 或自定义速率(如10次/分钟) sudo ufw limit 22/tcp rate 10/minute 

3. 禁用ICMP Ping

通过丢弃ICMP Echo请求(Ping),隐藏系统在线状态,减少端口扫描和探测攻击的风险(需权衡网络诊断便利性):
编辑/etc/ufw/before.rules文件,在*filter部分后添加:

-A PREROUTING -p icmp --icmp-type echo-request -j DROP 

然后重新加载UFW:

sudo ufw reload 

4. 启用日志记录

开启UFW日志功能,记录所有被允许或拒绝的连接尝试,便于后续安全审计和问题排查:

sudo ufw logging on # 启用日志(默认记录到/var/log/ufw.log) sudo ufw logging medium # 设置日志级别(low/medium/high/full) 

查看实时日志:

tail -f /var/log/ufw.log 

三、高级配置策略

1. Docker兼容性配置

若系统运行Docker,需禁用Docker自动修改iptables规则的功能,避免Docker自动生成的规则覆盖UFW设置,导致防火墙失效:
编辑/etc/docker/daemon.json文件,添加:

{ "iptables": false } 

重启Docker服务:

sudo systemctl restart docker 

2. 应用配置文件快速管理

UFW内置了常见服务(如OpenSSH、Nginx、MySQL)的配置文件(profiles),可通过服务名称快速开放或关闭对应端口,无需手动指定端口号:

sudo ufw app list # 查看可用应用列表 sudo ufw allow 'OpenSSH' # 开放OpenSSH服务端口 sudo ufw deny 'Nginx Full' # 关闭Nginx的HTTP/HTTPS端口 

四、日常维护策略

1. 定期检查规则状态

定期查看UFW规则列表,确认是否有未授权的规则被添加,确保规则符合当前业务需求:

sudo ufw status verbose # 查看详细规则(包括规则编号) sudo ufw status numbered # 查看带编号的规则(便于删除) 

2. 备份与恢复规则

定期备份UFW规则,避免系统重装或规则丢失时重新配置:

sudo cp /etc/ufw/user.rules ~/ufw_backup.rules # 备份用户规则 sudo cp /etc/ufw/user6.rules ~/ufw_backup6.rules # 备份IPv6规则 # 恢复规则 sudo cp ~/ufw_backup.rules /etc/ufw/user.rules sudo cp ~/ufw_backup6.rules /etc/ufw/user6.rules sudo ufw reload 

3. 结合其他安全工具

UFW作为基础防火墙,需与fail2ban(防御暴力破解)、AppArmor(应用沙箱)等工具配合使用,形成多层安全防护:

sudo apt install fail2ban # 安装fail2ban sudo systemctl enable fail2ban # 启用fail2ban sudo systemctl start fail2ban # 启动fail2ban 

通过以上策略的组合应用,UFW能有效防范未经授权的访问、暴力破解、端口扫描等常见攻击,为Ubuntu系统构建起可靠的第一道安全防线。需注意的是,防火墙策略应根据业务变化定期调整,避免因规则过时导致安全隐患。

0