安全组是云服务器的虚拟防火墙,采用白名单机制,默认拒绝所有流量,仅允许明确配置的入/出方向规则通过,需与系统防火墙协同使用。

安全组不是“开了端口就能用”的开关,而是服务器对外通信的守门人。它不处理系统内部逻辑,只管“谁、用什么协议、从哪来、到哪去、走哪个门”。掌握它,不需要懂编程,但得理解网络访问的基本链条:客户端请求 → 公网IP → 安全组放行 → 系统防火墙放行 → 服务进程监听 → 响应返回。
安全组是什么:虚拟防火墙,白名单机制
安全组是云平台(如阿里云、腾讯云、AWS)为每台云服务器(ECS)提供的基础网络隔离层。它独立于操作系统,运行在网络底层,规则生效快、无需重启服务器。
关键特征:
- 默认全部拒绝:新创建的安全组不带任何规则,入站和出站流量均被拦截
- 只支持“允许”规则:没有“拒绝某IP”这种黑策略,所有控制靠“只允许必要来源”实现(即白名单)
- 无状态检查:规则匹配基于五元组(方向、协议、端口、源/目标IP),不跟踪连接状态
- 可绑定多个安全组:一个ECS实例能同时属于多个安全组,规则自动合并(取并集)
配置四步法:从登录到生效
以主流云平台为例,操作路径高度一致:
- 登录控制台 → 进入「云服务器ECS」→ 找到目标实例 → 点击右侧「更多」→「网络和安全组」→「配置安全组」
- 选对安全组:确认当前绑定的是你要修改的那个(注意地域、名称、描述)
- 添加规则:点击「添加安全组规则」→ 选择「入方向」或「出方向」→ 填写协议(TCP/UDP/ICMP/ALL)、端口范围(如80、443、22或3306)、授权对象(如0.0.0.0/0表示任意IP,112.5.67.128/32表示单个IP)
- 保存即生效:无需重启服务器,规则几秒内自动同步到网卡
典型场景怎么配:不照搬,看逻辑
配错规则常因套模板而起。记住每个端口开放背后的真实需求:
- 宝塔面板(默认8888端口):只需允许你办公IP或公司出口IP段访问,比如218.19.123.0/24;切勿填0.0.0.0/0,否则等于把后台密码本挂网上
- Web服务(80/443):必须开,授权对象填0.0.0.0/0(所有人可访问网页);但管理后台(如/wp-admin/)应配合Nginx或宝塔限IP,而非靠安全组
- SSH远程登录(22端口):强烈建议改非标端口(如22222),并在安全组中只放通你的固定宽带IP或企业专线IP
- MySQL数据库(3306):绝不暴露公网!只允许应用服务器内网IP(如172.16.0.10/32)访问,且数据库用户需限定host为该IP
避坑与加固:小动作,大效果
很多问题不是不会配,而是忽略细节:
- 安全组 ≠ 系统防火墙:Linux上firewalld/iptables、Windows上Windows Defender防火墙仍需单独配置,两者是“双重门禁”
- 优先级不靠上下顺序:云平台按规则ID或优先级数值(如100、110)匹配,数值越小越先执行;冲突时,允许规则优先于拒绝(但安全组本身不设拒绝规则)
- 定期清理过期规则:测试用的临时IP、离职人员的办公IP、已下线的服务端口,都应及时删除
- 出方向别全放开:生产环境建议限制出站,例如只允许访问NTP(123/UDP)、DNS(53/UDP)、软件源(如mirrors.aliyun.com对应IP段),防勒索病毒外连C2服务器


















