在使用轻量应用服务器(如阿里云轻量应用服务器、腾讯云轻量应用服务器等)时,配置安全组和防火墙规则是保障服务器安全的重要步骤。下面以主流云服务商为例,介绍如何正确配置安全组和系统防火墙规则。
一、理解安全组与防火墙的区别
| 名称 | 作用范围 | 配置位置 | 特点 |
|---|---|---|---|
| 安全组 | 云平台层面的虚拟防火墙 | 云控制台 | 控制进出服务器的网络流量,基于IP、端口、协议进行过滤 |
| 系统防火墙 | 操作系统层面的防火墙 | 服务器内部(如 iptables/firewalld/ufw) | 更细粒度控制,可配合安全组使用 |
✅ 建议:同时配置安全组 + 系统防火墙,实现双重防护。
二、配置安全组规则(以阿里云/腾讯云为例)
1. 登录云控制台
- 阿里云:https://home.console.aliyun.com
- 腾讯云:https://console.cloud.tencent.com
2. 进入轻量应用服务器管理页面
找到你的实例 → 查看“安全组”或“防火墙”设置。
3. 添加安全组规则(建议最小化开放端口)
| 规则类型 | 协议类型 | 端口范围 | 授权对象(源IP) | 说明 |
|---|---|---|---|---|
| 入方向 | TCP | 22 | 你自己的公网IP(如 1.2.3.4/32) | SSH远程登录,禁止对0.0.0.0/0开放 |
| 入方向 | TCP | 80 | 0.0.0.0/0 | HTTP服务 |
| 入方向 | TCP | 443 | 0.0.0.0/0 | HTTPS服务 |
| 入方向 | ICMP | – | 0.0.0.0/0(可选) | 允许ping测试(生产环境建议关闭) |
| 出方向 | 全部 | 全部 | 0.0.0.0/0 | 通常默认允许所有出站 |
🔐 安全建议:
- 不要开放
22或3389等管理端口给0.0.0.0/0- 使用具体 IP 或 IP 段限制访问
- 可创建独立的安全组模板用于不同用途(如Web、数据库)
三、配置系统防火墙(以 Linux 为例)
根据操作系统选择不同的防火墙工具:
方式1:Ubuntu/Debian 使用 ufw
# 安装 ufw
sudo apt update && sudo apt install ufw -y
# 设置默认策略
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 开放必要端口
sudo ufw allow from 1.2.3.4 to any port 22 # 仅允许你的IP SSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable
# 查看状态
sudo ufw status verbose
方式2:CentOS/RHEL 使用 firewalld
# 启动并启用 firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 添加规则
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=22/tcp
# 限制SSH仅来自特定IP(更安全)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port protocol="tcp" port="22" accept'
# 重载配置
sudo firewall-cmd --reload
# 查看状态
sudo firewall-cmd --list-all
方式3:通用方案 iptables(高级用户)
# 示例:只允许特定IP访问SSH
iptables -A INPUT -p tcp --dport 22 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
⚠️ 注意:错误配置可能导致无法连接,请确保已有备用访问方式(如控制台VNC)。
四、最佳实践建议
- 最小权限原则:只开放必要的端口和服务。
- 更改默认端口:如将SSH从22改为其他端口(需同步修改安全组和防火墙)。
- 使用密钥认证:禁用密码登录SSH,提高安全性。
- 定期审计规则:检查是否有过期或冗余的规则。
- 开启日志监控:记录防火墙拒绝行为,便于排查问题。
五、常见问题排查
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 无法SSH登录 | 安全组未开放22端口 | 在控制台添加入方向TCP:22规则 |
| 网站打不开 | 80端口未开放 | 检查安全组 + 系统防火墙是否都放行 |
| ping不通 | ICMP被禁 | 如需ping通,安全组添加ICMP规则(生产环境可关闭) |
| 防火墙配置后失联 | 规则错误屏蔽了自己 | 使用云平台提供的VNC控制台登录修复 |
总结
✅ 正确配置流程:
- 云平台安全组:控制入口流量(先配)
- 系统防火墙:进一步细化控制(再配)
- 测试连通性:通过浏览器、telnet、ssh等验证
- 定期维护:清理无用规则,更新策略
如果你提供具体的云厂商(如阿里云、腾讯云、华为云)和操作系统(如 Ubuntu 20.04),我可以给出更精确的配置命令和截图指引。
CDNK博客