在使用轻量应用服务器(如腾讯云轻量应用服务器 Lighthouse、阿里云轻量应用服务器等)时,配置安全组和防火墙规则是保障服务器安全的重要步骤。以下是详细的操作指南:
一、理解安全组与防火墙的区别
| 名称 | 作用范围 | 配置位置 | 特点 |
|---|---|---|---|
| 安全组 | 云平台层面的虚拟防火墙 | 在云控制台中配置 | 基于实例绑定,先于系统防火墙生效 |
| 系统防火墙 | 操作系统层面 | SSH 登录后在服务器内部配置 | 如 iptables、ufw、firewalld |
⚠️ 两者都需合理配置,缺一不可。
二、配置安全组(以腾讯云/阿里云为例)
腾讯云轻量应用服务器(Lighthouse)
- 登录 腾讯云控制台
- 进入「轻量应用服务器」列表
- 选择目标实例 → 点击「防火墙」标签页
- 点击「添加规则」或「编辑默认规则」
常见规则示例:
| 协议类型 | 端口范围 | 源 IP | 描述 |
|---|---|---|---|
| TCP | 22 | 0.0.0.0/0 | 允许 SSH 远程登录 |
| TCP | 80 | 0.0.0.0/0 | HTTP 网站服务 |
| TCP | 443 | 0.0.0.0/0 | HTTPS 加密访问 |
| TCP | 3306 | 你的IP/32 | 数据库远程访问(谨慎开放) |
| ICMP | – | 0.0.0.0/0 | 允许 Ping 测试 |
✅ 安全建议:
- 不要随意开放
0.0.0.0/0到高危端口(如 3306、Redis 6379)- 使用具体 IP 限制管理访问(如只允许你自己的公网 IP 访问 22 端口)
阿里云轻量应用服务器
- 登录 阿里云控制台
- 找到「轻量应用服务器」→ 选择实例
- 进入「防火墙」页面
- 添加规则(与腾讯云类似)
注意:阿里云轻量服务器的“防火墙”功能其实就是安全组规则。
三、配置系统防火墙(以 Linux 为例)
方法一:使用 ufw(Ubuntu 推荐)
# 安装 ufw
sudo apt update && sudo apt install ufw -y
# 允许 SSH(必须先设置,避免断连)
sudo ufw allow 22/tcp
# 允许 HTTP 和 HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable
# 查看状态
sudo ufw status verbose
方法二:使用 firewalld(CentOS/RHEL)
# 启动并启用 firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 开放端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=22/tcp
# 重载配置
sudo firewall-cmd --reload
# 查看开放端口
sudo firewall-cmd --list-all
方法三:使用 iptables(高级用户)
# 示例:允许 22, 80, 443 端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P INPUT DROP # 默认拒绝(慎用!)
# 保存规则(CentOS)
sudo service iptables save
四、最佳实践建议
-
最小权限原则
只开放必要的端口,例如:- Web 服务:80, 443
- SSH:22(建议修改为非标准端口 + 密钥登录)
- 数据库:仅限内网或指定 IP
-
禁止 root 远程登录
# 编辑 /etc/ssh/sshd_config PermitRootLogin no PasswordAuthentication no # 改用密钥登录 -
定期更新系统和软件
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y # CentOS -
使用密钥认证代替密码登录 SSH
-
监控日志
tail -f /var/log/auth.log # Ubuntu 查看登录日志 tail -f /var/log/secure # CentOS 查看安全日志
五、常见问题排查
-
❌ 无法访问网站?
- 检查安全组是否开放 80/443
- 检查 Nginx/Apache 是否运行
- 检查系统防火墙是否拦截
-
❌ SSH 连接超时?
- 检查安全组是否允许 22 端口
- 检查
sshd是否运行:systemctl status ssh - 检查本地网络或防火墙
总结
| 步骤 | 操作 |
|---|---|
| 1 | 在云控制台配置安全组,只放行必要端口 |
| 2 | 登录服务器配置系统防火墙(ufw/firewalld) |
| 3 | 关闭不必要的服务,强化 SSH 安全 |
| 4 | 定期维护和监控 |
✅ 安全 = 安全组 + 系统防火墙 + 安全配置 + 持续监控
如果你提供具体的云厂商(腾讯云、阿里云、华为云等)和操作系统(Ubuntu/CentOS),我可以给出更精确的配置命令。
CLOUD技术博