奋斗
努力

轻量应用服务器怎么配置安全组和防火墙规则?

云计算

在轻量应用服务器(如阿里云、腾讯云等厂商提供的产品)中,安全组和操作系统内部的防火墙是两道不同的防线。为了确保服务器既安全又可用,通常需要同时配置这两层规则。

以下是详细的配置步骤和最佳实践建议:


一、 配置安全组(云厂商层面)

安全组是虚拟防火墙,位于云服务器的前端,控制进出服务器的网络流量。这是第一道防线,优先级最高。

1. 登录控制台

  • 阿里云:登录 ECS 控制台 -> 左侧导航栏选择“实例与镜像” -> “实例” -> 找到你的轻量应用服务器 -> 点击“更多” -> “网络和安全组” -> “安全组配置”。
  • 腾讯云:登录 CVM 控制台 -> 左侧导航栏选择“实例” -> 找到你的轻量应用服务器 -> 点击“安全组”标签页。

2. 添加/修改入方向规则(Inbound Rules)

你需要允许特定端口通过。常见场景如下:

服务类型 常用端口 协议 授权对象(来源 IP) 说明
SSH (Linux) 22 TCP 你自己的公网 IP 或 0.0.0.0/0 远程连接服务器。建议限制为你的固定 IP,防止暴力破解。
RDP (Windows) 3389 TCP 你自己的公网 IP 或 0.0.0.0/0 Windows 远程桌面。强烈建议限制 IP。
HTTP (Web) 80 TCP 0.0.0.0/0 允许所有用户访问网站。
HTTPS (Web) 443 TCP 0.0.0.0/0 允许所有用户访问加密网站。
MySQL/MariaDB 3306 / 5432 TCP 仅允许内网 IP 或特定管理 IP 切勿对 0.0.0.0/0 开放数据库端口!
Redis 6379 TCP 仅允许内网 IP 或特定管理 IP 切勿对 0.0.0.0/0 开放 Redis 端口!

注意:

  • 默认策略:大多数云厂商默认拒绝所有入站流量,只开放 22 (SSH) 和 3389 (RDP)。
  • 最小权限原则:只开放必要的端口,避免暴露不必要的服务。

3. 出方向规则(Outbound Rules)

通常默认允许所有出站流量。如果你需要严格限制(例如禁止服务器主动外连),可以按需调整,但一般保持默认即可。


二、 配置操作系统内部防火墙

即使安全组已经放行了流量,操作系统内部的防火墙(如 Linux 的 firewalld/ufw 或 Windows 的防火墙)仍会过滤数据包。这是第二道防线,用于纵深防御。

🐧 Linux 系统

情况 A:使用 firewalld(CentOS/RHEL/Fedora 等)
  1. 启动 firewalld:

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
  2. 查看当前状态:

    firewall-cmd --state
  3. 开放端口示例(以 80 和 443 为例):

    # 永久开放 HTTP 和 HTTPS
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    
    # 重载配置使生效
    sudo firewall-cmd --reload
  4. 验证规则:

    firewall-cmd --list-all
情况 B:使用 ufw(Ubuntu/Debian 等)
  1. 安装并启用 ufw:

    sudo apt install ufw
    sudo ufw enable
  2. 设置默认策略(推荐):

    sudo ufw default deny incoming    # 默认拒绝所有入站
    sudo ufw default allow outgoing   # 默认允许所有出站
  3. 开放端口示例:

    # 允许 SSH(确保先执行此条,否则可能断连!)
    sudo ufw allow 22/tcp
    
    # 允许 Web 服务
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
  4. 检查状态:

    sudo ufw status verbose
⚠️ 重要提醒:
  • 不要同时启用多个防火墙服务(如 iptables 和 firewalld),可能导致冲突。
  • 如果之前用 iptables 直接操作过,建议先清除旧规则再迁移到 firewalld 或 ufw。

🪟 Windows 系统

  1. 打开高级安全 Windows Defender 防火墙:

    • 按 Win + R,输入 wf.msc,回车。
  2. 添加入站规则:

    • 右键点击“入站规则” -> “新建规则”。
    • 选择“端口” -> 下一步。
    • 选择“TCP”并指定特定本地端口(如 80, 443)。
    • 选择“允许连接”。
    • 勾选配置文件(域、专用、公用)。
    • 命名规则(如 “Allow HTTP”),完成。
  3. 建议:

    • Windows 防火墙默认较宽松,建议手动关闭不必要服务的监听。
    • 对于远程桌面(3389),建议在“高级安全”中创建规则,限制源 IP。

三、 最佳实践与安全建议

  1. 双重防护:

    • 安全组负责粗粒度控制(如屏蔽整个国家 IP 段、限制大流量攻击)。
    • 主机防火墙负责细粒度控制(如仅允许特定子网访问数据库)。
    • 两者都应配置,形成纵深防御。
  2. 最小权限原则:

    • 只开放业务必需的端口。
    • 数据库(MySQL/Redis)、消息队列(RabbitMQ/Kafka)等绝不应直接暴露在公网。如需远程管理,应通过跳板机(Bastion Host)或 SSH 隧道连接。
  3. 限制 SSH/RDP 访问来源:

    • 在安全组中,将 SSH(22)和 RDP(3389)的授权对象设置为你自己的固定公网 IP,而不是 0.0.0.0/0。
    • 如果 IP 不固定,可考虑使用密钥认证代替密码,并禁用 root 直接登录。
  4. 定期审计:

    • 定期检查安全组和防火墙规则,移除不再使用的端口。
    • 使用工具如 nmap 从外部扫描自己的服务器,确认端口是否真正被保护。
  5. 监控与日志:

    • 开启云厂商的安全中心/云盾功能,实时监测异常登录和攻击行为。
    • 保留系统日志,便于事后追溯。

四、 测试验证

配置完成后,务必进行测试:

  1. 从本地尝试连接:

    • SSH: ssh user@your_server_ip
    • Web: 浏览器访问 http://your_server_ip
  2. 从其他网络尝试连接(模拟外部用户):

    • 使用手机热点或其他电脑访问网站,确认是否正常。
  3. 测试被拒绝的端口:

    • 尝试连接一个未开放的端口(如 8080),应显示超时或被拒绝。

通过以上步骤,你可以为你的轻量应用服务器建立一个坚实的安全基础。

未经允许不得转载:云服务器 » 轻量应用服务器怎么配置安全组和防火墙规则?