云服务器刚搭好,安全组和防火墙怎么配才既安全又不锁死自己?

你是不是也经历过:辛辛苦苦买了云服务器,网站或应用部署好了,结果外部访问不了?或者更糟,连自己的SSH都连不上了?

别急,这八成是安全组系统防火墙在“保护”你——只不过保护得有点过头了。今天咱们就来聊聊,怎么把这两道门管好,既不让坏人进来,也不把自己关在外面。

安全组 vs 系统防火堰:到底谁管谁?

很多新手容易混淆这两个概念,以为只要开了一个,另一个就不用管了。错!它们是两道独立的防线,必须都配置正确。

  • 安全组(Security Group):这是云平台层面的虚拟防火墙,属于第一道关卡。它控制的是从互联网到你服务器网络接口的流量。比如腾讯云、阿里云、华为云里的“安全组”设置,就是在这里操作。
  • 系统防火墙(如 firewalld、iptables):这是操作系统层面的防火墙,属于第二道关卡。即使流量通过了安全组,也得过它这一关才能到达你的应用。

你可以理解为:安全组是小区大门的门禁,系统防火墙是你家门的锁。门禁放行了,不代表你家门就自动开了。

第一步:搞定云平台安全组规则

以主流云厂商的操作逻辑为例,虽然界面略有不同,但核心思路一致。

  1. 登录控制台:进入你购买服务器的云平台,比如腾讯云控制台阿里云控制台
  2. 找到安全组设置:在云服务器(ECS/云主机)详情页,通常会有一个“安全组”标签,点击进入。
  3. 配置入站规则(Inbound):这是最关键的一步,决定谁能访问你的服务器。
服务类型 协议类型 端口范围 源地址 用途说明
SSH TCP 22 0.0.0.0/0 或你的IP 允许远程登录Linux服务器(建议限制为你的固定IP)
HTTP TCP 80 0.0.0.0/0 允许公网访问Web服务
HTTPS TCP 443 0.0.0.0/0 允许公网访问加密Web服务
自定义Ping ICMP -1/-1 0.0.0.0/0 允许外部ping通服务器(可选,用于连通性测试)

这里有个重要建议:SSH端口(22)的源地址,尽量不要写0.0.0.0/0(代表所有IP),而是填写你自己的公网IP。这样即使密码泄露,黑客也很难暴力破解。如果你的IP不固定,可以考虑改SSH端口,但这只是增加一点隐蔽性,并非根本安全措施。

出站规则(Outbound)一般默认全放行,除非你有特殊合规要求,否则不必改动。

第二步:检查并配置系统防火墙

安全组放行了,不代表万事大吉。你还得确保系统防火墙也允许这些端口的流量。

以最常见的CentOS 7/8/Stream系统为例,使用的是firewalld服务。

  1. 查看防火墙状态
    sudo firewall-cmd --state

    如果返回 running,说明防火墙是开启的。

  2. 开放常用端口
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --permanent --add-port=22/tcp
    sudo firewall-cmd --reload

    --permanent 表示永久生效,--reload 重新加载配置。

  3. 验证规则是否生效
    sudo firewall-cmd --list-all

    查看输出中是否包含了你刚添加的服务或端口。

如果你用的是Ubuntu系统,通常默认使用ufw,命令略有不同:

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

我的经验是:新服务器初始化后,先确认安全组放行了SSH,然后立刻登录,第一时间把系统防火墙打开并配置好规则。这样能避免中间窗口期被扫描攻击。

常见踩坑场景与避坑指南

下面这些情况,我几乎每周都能在社区看到有人问,其实都是安全组+防火墙的组合问题。

  • 问题1:配了安全组,但网站打不开
    你可能只开了安全组的80端口,但忘了系统防火墙没开。或者你的Web服务(如Nginx)根本没启动。用 sudo netstat -tlnp | grep 80 确认服务是否监听了80端口。
  • 问题2:改了SSH端口,结果连不上了
    你改了/etc/ssh/sshd_config里的端口,但安全组和系统防火墙没放行新端口。记住:改端口后,必须同步更新三处:SSH配置、安全组规则、系统防火墙规则。
  • 问题3:数据库只给内网用,怎么配?
    假设你有一个MySQL数据库服务器,只想让同VPC内的Web服务器访问。安全组入站规则的源地址填Web服务器的内网IP段,比如192.168.1.0/24,并且系统防火墙也只绑定内网接口。

还有一个隐藏坑点:有些云厂商的默认安全组会禁止ICMP协议,导致你ping不通服务器。这不代表服务器宕机了,只是ICMP被拦截了。建议在安全组里单独加一条ICMP规则用于测试,上线后可关闭。

安全组的最佳实践:最小权限原则

别图省事把所有端口都打开。遵循最小权限原则:只开放业务必需的端口。

比如你只是搭个博客,那就只需要80、443、22(或你自定义的SSH端口)。数据库、Redis这些内部服务,一律不暴露在公网。

另外,多个服务器可以共用一个安全组。比如你有3台Web服务器,可以创建一个“Web-Servers-SG”的安全组,统一管理它们的出入规则,方便维护。

想省心省成本?现在腾讯云阿里云都有针对新用户的专属轻量应用服务器套餐,自带基础安全组模板,一键部署网站、博客、Docker等,非常适合个人开发者和中小企业快速上线。具体优惠活动和配置,建议直接访问官网查看当前最新信息,通常性价比非常高。

常见问题解答(FAQ)

问题 解答
安全组规则修改后需要重启服务器吗? 不需要。安全组规则是实时生效的,修改后几秒内就会应用到关联的实例上。
一台服务器可以属于多个安全组吗? 可以。不同安全组的规则是“取并集”的关系,只要任一安全组允许,流量就能通过。
安全组和VPC有什么关系? 安全组是VPC(虚拟私有云)内的网络访问控制策略,必须在VPC环境下使用。
为什么我开了80端口还是访问不了网站? 请依次检查:安全组是否放行80、系统防火墙是否放行80、Web服务是否已启动并监听80端口、域名是否正确解析到服务器IP。
如何防止SSH被暴力破解? 建议:1)将SSH源IP限制为自己的固定IP;2)更改默认SSH端口;3)使用密钥登录替代密码登录。

本文由人工智能技术生成,基于公开技术资料和厂商官方信息整合撰写,以确保信息的时效性与客观性。我们建议您将所有信息作为决策参考,并最终以各云厂商官方页面的最新公告为准。

腾讯云【点此领取优惠券

腾讯云2025年09月活动:点此直达

云产品续费贵,建议一次性买3年或5年,免得续费贵。
3年轻量 2核2G 4M 560元;3年轻量 2核4G 5M 3年900元。

  • 限时秒杀:2核2G3M 云服务器 38元/年【点此直达
  • 新人专享:2核2G3M 云服务器 68元/年【点此直达
  • 新老同享:2核2G4M 云服务器 99元/年;2核4G6M 云服务器 199元/年【点此直达
  • 三年特惠:2核2G4M 云服务器 3年560元;2核4G5M 云服务器 3年900元【点此直达

温馨提示:云服务商优惠信息实时变动,本文内容仅供参考,最终价格请以官方活动页面最新公示为准。