云主机 QVM

  • 安全组

    最近更新时间:2018-05-08 16:14:28

    使用说明:

    • 每个用户最多有 100 个安全组。

    • 每个安全组最多有 100 条安全组规则。

    • 每个实例至少属于一个安全组,最多可以加入 5 个安全组,在创建实例的时候,需要在网络选项中指定。

    • 同一安全组内的实例之间网络互通,不同安全组的实例之间默认内网不通。

    • 单个安全组内的实例个数不能超过 1000。

    • 如果对安全组做调整操作,不会影响用户服务的连续性。

    • 安全组规则中,如果数据包在出站方向的授权策略是允许的,那么对应的此连接在入站方向的授权策略也是允许的。

    • 安全组规则可以允许拒绝与安全组相关联的云主机 QVM 实例的公网和内网的入站和出站方向的访问。

    • 你可以随时配置和取消安全组规则,你变更的安全组规则会自动在相关联的实例上生效。


    安全组默认规则


    系统自动创建的默认安全组

    在一个地域创建主机实例时,如果当前账号在这个地域里尚未创建安全组,你可以选择系统自动创建的默认安全组。

    系统自动创建的默认安全组中的默认规则,出站方向允许所有访问,入站方向只允许对 ICMP 协议所有端口和 TCP 协议的 22、3389、80、443 端口的访问。优先级为 100,授权类型:地址段访问,授权对象:0.0.0.0/0。其中:

    • ICMP 协议:用于在 IP 主机、路由器之间传递控制消息。
    • TCP 协议 22 端口:用于 Linux SSH 远程连接。
    • TCP 协议 3389 端口:用于 Windows 远程桌面连接。
    • TCP 协议 80 端口:提供 HTTP 服务,用于网页浏览。

    根据业务需要,你可以在默认安全组中添加安全组规则


    你自己创建的安全组

    创建安全组后,未添加任何安全组规则之前,默认规则如下:

    • 出方向: 允许所有访问

    • 入方向: 拒绝所有访问

    如果你的实例在这样一个全新的安全组中,你只能通过管理终端连接实例,但是不能通过远程连接软件登录实例。

    根据业务需要,你可以在自建的安全组中添加安全组规则


    安全组规则的典型应用


    SSH 远程连接 Linux 实例

    创建好 Linux 实例后,为了 SSH 远程连接实例,你需要添加如下安全组规则:

    规则方向 授权策略 协议类型 端口范围 优先级 授权类型 授权对象
    入站方向 允许 SSH(22) 22/22 1 地址段访问 0.0.0.0/0


    RDP 远程连接 Windows 实例

    创建好 WIndows 实例后,为了 RDP 远程连接实例,你需要添加如下安全组规则:

    规则方向 授权策略 协议类型 端口范围 优先级 授权类型 授权对象
    入站方向 允许 RDP(3389) 3389/3389 1 地址段访问 0.0.0.0/0


    实例作 Web 服务器

    如果你创建的实例作 Web 服务器用,你需要在实例上安装 Web 服务器程序,并添加如下安全组规则:

    规则方向 授权策略 协议类型 端口范围 优先级 授权类型 授权对象
    入站方向 允许 HTTP(80) 80/80 1 地址段访问 0.0.0.0/0


    创建安全组

    一台云主机必须至少属于一个安全组。你未创建安全组时,可以使用七牛云自动为你创建的安全组。你也可以自己创建安全组。本文描述如何创建安全组。在创建安全组之前,必须先创建专有网络。专有网络里的安全组,可以跨交换机,但是不能跨专有网络。

    1. 登录云主机管理控制台

    2. 在左侧导航栏中,选择网络 > 安全组

    3. 单击新建

    4. 在弹出的新建安全组对话框中,指定以下信息:

    • 选择地域

    • 设置安全组名称

    • 网络类型默认为专有网络

    • 选择已经创建的专有网络

    5. 单击确定

    对于你自己创建的安全组,在没有添加任何安全组规则之前,私网和公网默认规则均为:出方向允许所有访问,入方向拒绝所有访问。


    添加安全组规则

    你可以添加安全组规则,允许或禁止安全组内的实例对公网、内网或私网的访问。安全组规则的变更会自动应用到安全组内的实例上。

    1. 登录云主机管理控制台

    2. 在左侧导航栏中,选择网络 > 安全组

    3. 找到要配置授权规则的安全组,在操作列中,单击配置规则

    4. 在规则配置页面上,单击新建

    5. 在弹出的对话框中,设置以下参数

    参数说明:

    • 网卡类型 - 默认为内网

    • 规则方向 - 入站方向是指内网中的其他实例或公网上的资源访问实例;出站方向是指实例访问内网中其他实例或公网上的资源

    • 授权策略 - 选择允许或拒绝。拒绝策略是直接丢弃数据包,不给任何回应信息。如果 2 个安全组规则其他都相同只有授权策略不同,则拒绝授权生效,接受授权不生效。

    • 协议类型和端口范围 - 端口范围的设置受选择的协议类型影响。下表是协议类型与端口范围的关系:

    协议类型 端口范围 应用场景
    全部 -1/-1,表示不限制端口 用于完全互相信任的应用场景
    自定义 TCP 1−65535,合法格式为开始端口/结束端口,如:80/80 表示端口 80 用于允许或拒绝一个或几个连续的端口
    自定义 UDP 1−65535,合法格式为开始端口/结束端口,如:80/80 表示端口 80 用于允许或拒绝一个或几个连续的端口
    全部 ICMP -1/-1,表示不限制端口 使用 ping 程序检测实例之间的通信状况
    全部 GRE -1/-1,表示不限制端口 用于 VPN 服务
    SSH 22/22 用于 SSH 远程连接到 Linux 实例
    telnet 23/23 用于 Telnet 远程登录实例
    HTTP 80/80 实例作为网站或 Web 应用的服务器
    HTTPS 443/443 实例作为网站或 Web 应用的服务器,而且需要支持 HTTPS 协议
    MS SQL 1433/1433 实例作为 MS SQL 服务器
    Oracle 1521/1521 实例作为 Oracle SQL 服务器
    MySQL 3306/3306 实例作为 MySQL 服务器
    RDP 3389/3389 实例是 Windows 实例,需要远程桌面连接实例
    PostgreSQL 5432/5432 实例作为 PostgreSQL 服务器
    Redis 6379/6379 实例作为 Redis 服务器
    • 优先级 - 可以设 1 到 100 的数值, 数值越小,优先级越高。实例可以加入不同的安全组,无论是同一个安全组内或不同安全组之间,如果安全组规则互相矛盾,即协议类型、端口范围、授权类型和授权对象都相同,授权策略和优先级不同时,最终生效的安全组规则按以下说明生效:如果 2 个安全组规则其他都相同只有授权策略不同,则拒绝授权生效,接受授权不生效;如果 2 个安全组规则其他都相同只有授权策略和优先级不同,最终生效取决优先级的数值,则优先级高的规则生效

    • 授权类型和授权对象 - 授权对象的设置受授权类型影响,以下是两者之间的关系:

    授权类型 授权对象
    地址段访问 应填写 IP 或者 CIDR 网段格式,如:12.1.1.1 或 13.1.1.1/25。仅支持 IPv4。如果填写 0.0.0.0/0 表示允许或拒绝所有 IP 地址的访问
    安全组访问 只对内网有效。授权本账号某个安全组中的实例访问本安全组中的实例,实现内网互通

    6. 单击确定,即成功地为指定安全组添加了一条安全组规则。


    查看安全组规则是否生效

    假设你在实例里安装了 Web 服务,并在一个安全组里添加了一条安全组规则:公网入方向,允许所有 IP 地址访问实例的 TCP 80 端口。

    Linux 实例

    • 远程连接实例
    • 运行以下命令查看 TCP 80 是否被监听

        netstat -an | grep 80
      

      如果返回以下结果,说明 TCP 80 端口的 Web 服务启动。

        tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
      
    • 在浏览器地址栏里输入http://IP 地址。如果访问成功,说明规则已经生效。

    Windows 实例

    • 远程连接实例
    • 运行命令提示符,输入以下命令查看 TCP 80 是否被监听
      netstat -aon | findstr :80
      
      如果返回以下结果,说明 TCP 80 端口已开通。
      TCP    0.0.0.0:80           0.0.0.0:0              LISTENING       1172
      
    • 在浏览器地址栏里输入http://IP 地址。如果访问成功,说明规则已经生效。


    删除安全组规则

    1. 登录云主机管理控制台

    2. 在左侧导航栏里,单击安全组

    3. 找到需要取消规则的安全组,在操作列中,单击配置规则

    4. 在安全组规则配置页面,找到需要取消的安全组规则方向:入方向和出方向

    5. 找到需要删除的安全组规则,在操作列中,单击删除

    6. 在弹出的对话框中,单击确定


    删除安全组

    如果安全组下没有绑定的实例,才能成功删除该安全组。删除安全组,会删除该安全组下所有的安全组规则。

    1. 登录云主机管理控制台

    2. 单击左侧导航中的安全组

    3. 选择目标安全组,单击删除

    4. 在弹出的提示框中,单击确定,成功删除安全组

    以上内容是否对您有帮助?
  • Close