如何利用Linux防火墙保护服务器
导读:1. 选择合适的防火墙工具 Linux环境下,UFW(Uncomplicated Firewall,适用于Ubuntu/Debian)和FirewallD(适用于RHEL/CentOS/Fedora)是基于iptables/nftables...
1. 选择合适的防火墙工具
Linux环境下,UFW(Uncomplicated Firewall,适用于Ubuntu/Debian)和FirewallD(适用于RHEL/CentOS/Fedora)是基于iptables/nftables的前端工具,通过简化命令降低配置复杂度;iptables则是原生底层工具,适合需要精细化控制的场景。新手推荐UFW,进阶用户可选择iptables。
2. 设置默认安全策略
默认策略是防火墙的核心防线,需遵循“拒绝所有入站,允许所有出站”原则:
- 入站流量:默认拒绝所有未明确允许的连接(
sudo ufw default deny incoming
),避免非法IP访问服务器端口; - 出站流量:默认允许所有(
sudo ufw default allow outgoing
),保障服务器正常访问外网(如下载更新、发送日志)。
3. 开启防火墙并验证
启用防火墙前,务必确认已添加SSH允许规则(避免被锁在外面):
sudo ufw allow ssh # 允许SSH服务(默认端口22)
sudo ufw enable # 启用防火墙
启用后,通过sudo ufw status verbose
查看规则状态(active
表示生效),确认默认策略和已添加规则是否正确。
4. 允许必要服务端口
仅开放服务器实际需要的服务端口,减少攻击面:
- Web服务:
sudo ufw allow http
(80/tcp)、sudo ufw allow https
(443/tcp); - SSH服务:
sudo ufw allow 22/tcp
(或自定义端口,如sudo ufw allow 2222/tcp
); - 数据库服务:
sudo ufw allow 3306/tcp
(MySQL,默认端口)。
可使用服务名(如http
)代替端口号,更易维护。
5. 限制访问源IP
遵循“最小权限原则”,仅允许信任的IP地址访问敏感服务:
- 限制SSH访问:
sudo ufw allow from 192.168.1.100 to any port 22
(仅允许IP为192.168.1.100的设备访问SSH); - 限制HTTP访问:
sudo ufw allow from 10.0.0.0/24 to any port 80
(允许10.0.0.0/24子网访问Web服务)。
避免开放公网IP的所有端口,降低被扫描和攻击的风险。
6. 防御暴力破解
通过限制连接速率减少暴力破解尝试:
sudo ufw limit ssh/tcp # 限制SSH连接速率为每分钟6次(默认),超过则暂时封禁
或自定义限制(如每分钟10次):
sudo ufw limit 22/tcp rate 10/minute
此规则可有效防止黑客通过反复猜测密码入侵服务器。
7. 启用日志记录
开启日志功能,便于监控和排查异常活动:
sudo ufw logging on # 启用日志记录
sudo ufw logging medium # 设置日志级别为medium(平衡详细程度和系统负载)
日志默认存储在/var/log/ufw.log
,可通过grep "UFW BLOCK" /var/log/ufw.log
过滤被阻止的连接尝试,及时发现恶意IP。
8. 定期维护规则
- 检查规则有效性:定期运行
sudo ufw status
,删除不再需要的规则(如测试后不再使用的端口); - 备份规则:
sudo cp /etc/ufw/user.rules ~/ufw_rules_backup
(手动备份),防止规则丢失; - 更新工具:
sudo apt update & & sudo apt upgrade ufw
(Ubuntu/Debian),确保防火墙工具修复已知漏洞。
9. 结合其他安全工具
防火墙并非万能,需与其他工具配合提升安全性:
- SSH密钥登录:禁用密码登录(
sudo nano /etc/ssh/sshd_config
,设置PasswordAuthentication no
),使用密钥对认证,防止密码被破解; - Fail2Ban:监控登录日志(如
/var/log/auth.log
),自动封禁多次登录失败的IP(如sudo apt install fail2ban
,配置/etc/fail2ban/jail.local
)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何利用Linux防火墙保护服务器
本文地址: https://pptw.com/jishu/719808.html