云服务器安全组怎么配置?入门设置指南

买了云服务器后,第一件事就是要配置安全组。安全组本质上是一套规则,决定哪些流量可以进来、哪些流量可以出去。配得好,服务器稳如泰山;配得差,轻则网站打不开,重则被黑。

安全组的基本概念

安全组类似于服务器的虚拟防火墙,通过规则控制端口的开放和关闭。每条规则需要指定:协议类型(TCP/UDP/ICMP)、端口范围、来源IP(谁可以访问)、策略(允许/拒绝)。

入方向和出方向规则

  • 入方向规则:控制外部访问服务器的流量,常见配置项
  • 出方向规则:控制服务器访问外部的流量,默认通常放行所有出站流量

常见的端口配置

Web服务端口(必须开放)

  • TCP 80:HTTP网站访问
  • TCP 443:HTTPS加密网站访问
  • 如果使用非标准端口,把对应端口也加上

SSH远程连接(谨慎开放)

  • TCP 22:Linux服务器SSH连接
  • 强烈建议:不要对0.0.0.0/0(所有IP)开放SSH,改为只允许自己的IP访问,如办公网络IP或固定的家庭IP
  • 如果IP不固定,可以考虑使用秘钥登录而非密码登录

数据库端口(一般不对公网开放)

  • MySQL:TCP 3306
  • Redis:TCP 6379
  • MongoDB:TCP 27017
  • 这些端口只应该允许来自应用服务器的IP访问,不应该对公网开放

Windows远程桌面

  • TCP 3389:Windows服务器RDP连接
  • 同样建议限制来源IP,不要对全网开放

配置安全组的正确思路

原则一:默认拒绝,按需开放

安全组默认策略应该是拒绝所有入站流量,然后根据实际需求一条一条添加允许规则。只开放确实需要的服务端口,不确定的一律先不开。

原则二:来源IP尽量精确

不要用0.0.0.0/0(对所有IP开放),尽量指定具体的IP段。如果公司有固定IP,就只允许这个IP访问SSH和管理后台。

原则三:服务与数据库分离

Web服务器和数据库服务器分开部署,数据库只允许来自Web服务器的IP访问,不对外暴露。即使Web服务器被攻破,数据库也还有一层保护。

原则四:定期审计规则

每隔一段时间检查一下安全组规则,删除不再使用的老规则。新增规则时要记录原因,便于日后回溯。

常见错误配置

  • SSH 22端口对0.0.0.0/0开放:这是最常见的被黑原因
  • 数据库端口对公网开放:没有密码或弱密码的数据库会被直接攻陷
  • 开放了所有端口(All Traffic):相当于拆掉了防火墙
  • 只加允许规则,不清理旧规则:规则越来越多难以管理

安全组配置没有标准答案,关键是理解你的业务需要什么,然后按最小权限原则去配置。宁可先紧后松,也不要先松后紧。