human: 如何处理七牛云的云主机安全组应用案例

gpt: [云主机](https://developer.qiniu.com/qvm) > 使用指南 > 云主机 >安全组 >安全组应用案例

#  安全组应用案例

最近更新时间: 2020-09-05 15:08:04

本文介绍了几个常见的安全组应用案例。

# 应用案例概述

QVM实例主要通过配置安全组规则，允许或禁止安全组内的QVM实例对公网或私网的访问，以下列举了常见的安全组规则配置案例供您参考：

  * 案例一：同一个地域、同一个账号下的实例实现内网互通  
场景举例：如果您需要同一个地域、同一个账号下的QVM实例之间拷贝资源，您可以通过安全组设置实现两台QVM实例内网互通后再拷贝资源。

  * 案例二：只允许特定IP地址远程登录到实例  
场景举例：如果您的QVM实例被黑客远程控制，您可以修改远程登录端口号，并设置只允许特定的IP地址远程登录到您的QVM实例。

  * 案例三：只允许实例访问外部特定IP地址  
场景举例：如果您的QVM实例被黑客远程控制，对外恶意扫描或发包，您可以通过安全组设置您的QVM实例只能访问外部特定IP或端口。

  * 案例四：拒绝实例访问外部特定IP地址  
场景举例：如果您不希望您的QVM实例访问某个特定的外部IP地址，您可以通过安全组设置，拒绝实例访问外部特定IP地址。

  * 案例五：允许公网远程连接实例  
场景举例：您可以通过公网远程连接到实例上，管理实例。

  * 案例六：允许内网其他账号下某个安全组内的QVM实例远程连接实例  
场景举例：您可以通过内网其他账号下某个安全组内的QVM实例远程连接到实例上，管理实例。

  * 案例七：允许公网通过HTTP、HTTPS等服务访问实例  
场景举例：您在实例上架设了一个网站，希望您的用户能通过HTTP或HTTPS服务访问到您的网站。

> **说明**
>
>   *
> 网络互访场景的常用端口，请参见[常用端口的典型应用](https://developer.qiniu.com/qvm/manual/7107/commonly-
> used-port-security-group)。
>   * 本文主要以IPv4为例说明安全组规则的配置案例，如果QVM实例分配了IPv6地址，您可以将文中涉及的IP地址授权对象修改为IPv6地址或地址段。
>   * 本文主要以单一IP地址或者CIDR网段格式为例说明安全组规则的配置案例，如12.1.1.1或13.1.1.1/25。
>

# 案例一：同一个地域、同一个账号下的实例实现内网互通

对于VPC网络类型的QVM实例，如果它们在同一个VPC网络内，可以通过安全组规则实现内网互通。如果QVM实例不在同一个VPC内（无论是否属于同一个账号或在同一个地域里），您可以使用云企业网实现VPC互通。  
同一地域、同一账号的两个实例：

  * 如果在同一个安全组内，默认内网互通，不需要设置。
  * 如果在不同的安全组内，默认内网不通。此时，在实例所在安全组中分别添加一条安全组规则，授权另一个安全组内的实例访问本安全组内的实例，实现内网互通。根据网络类型做不同的安全组规则设置。 

网络类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 优先级 | 授权对象  
---|---|---|---|---|---|---  
专有网络 | 入方向 | 允许 | 设置适用的协议类型 | 设置端口范围 | 1 | 输入允许访问的实例所在的安全组ID。  
  
# 案例二：只允许特定IP地址远程登录到实例

如果您只想让某些特定IP地址远程登录到实例，可以参考以下示例在实例所在安全组里添加规则。

### Linux 实例

网络类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权对象 | 优先级  
---|---|---|---|---|---|---  
VPC | 入方向 | 允许 | 自定义TCP | SSH (22) | 允许远程连接的CIDR，例如1.2.3.4/32或10.0.0.0/8。 | 1  
  
### Windows实例

网络类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权对象 | 优先级  
---|---|---|---|---|---|---  
VPC | 入方向 | 允许 | 自定义TCP | RDP (3389) | 允许远程连接的CIDR，例如1.2.3.4/32或10.0.0.0/8。 | 1  
  
# 案例三：只允许实例访问外部特定IP地址

如果您只想让实例访问特定的IP地址，参考以下示例的步骤在实例所在安全组中添加安全组规则：

禁止实例以任何协议访问所有公网IP地址，优先级应低于允许访问的规则（如本例中设置优先级为2）。安全组规则如下表所示。

网络类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权对象 | 优先级   
---|---|---|---|---|---|---  
VPC | 出方向 | 拒绝 | 全部 | -1/-1 | 0.0.0.0/0 | 2   
  
允许实例访问特定公网IP地址，优先级应高于拒绝访问的安全组规则的优先级（如本例中设置为1）。

网络类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权对象 | 优先级   
---|---|---|---|---|---|---  
VPC | 出方向 | 允许 | 选择适用的协议类型 | 设置端口范围 | 允许实例访问的特定CIDR，例如1.2.3.4/32或10.0.0.0/8。 | 1   
  
添加了安全组规则后，再连接实例，执行ping、telnet等测试。如果实例只能访问授权对象中设置的IP地址，说明安全组规则已经生效。

# 案例四：拒绝实例访问外部特定IP地址

如果您不希望您的QVM实例访问某个特定的外部IP地址，您可以参考以下示例在实例所在安全组中添加安全组规则。

网络类型 | 规则方向 | 授权策略 | 协议类型 | 端口范围 | 授权对象 | 优先级   
---|---|---|---|---|---|---  
VPC | 出方向 | 拒绝 | 全部 | -1/-1 | 拒绝实例访问的特定CIDR，例如1.2.3.4/32或10.0.0.0/8。 | 1   
  
# 案例五：允许公网远程连接实例

如果要允许公网远程连接实例，添加如下安全组规则。

网络类型| 规则方向| 授权策略| 协议类型| 端口范围| 授权对象| 优先级  
---|---|---|---|---|---|---  
VPC| 入方向| 允许| 自定义TCP| RDP (3389)|
如果允许任意公网IP地址连接实例，填写0.0.0.0/0。如果只允许特定IP地址远程连接实例，请参见案例三：只允许特定IP地址远程登录到实例。| 1  
SSH (22)  
自定义，例如8080/8080  
  
# 案例六：允许内网其他账号下某个安全组内的QVM实例远程连接实例

如果您的账号与同地域其他账号内网互通，而且您想允许内网其他账号下某个安全组内的QVM实例远程连接实例，按以下示例添加安全组规则。

  * 允许内网其他账号某个实例内网IP地址连接您的实例，您需要添加如下安全组规则。其中，VPC网络类型实例先保证2个账号的实例通过云企业网内网互通，再添加安全组规则。

网络类型| 规则方向| 授权策略| 协议类型| 端口范围| 授权对象| 优先级  
---|---|---|---|---|---|---  
VPC| 入方向| 允许| | RDP (3389)| 如果允许任意公网IP地址连接实例，填写0.0.0.0/0。如果只允许特定IP地址远程连接实例，请参见案例三：只允许特定IP地址远程登录到实例。| 1  
SSH (22)  
自定义，例如8080/8080  
  
允许内网其他账号某个安全组里的所有QVM实例连接您的实例，您需要添加如下安全组规则。其中，VPC类型的实例，先保证2个账号的实例通过云企业网内网互通，再添加如下表所示的安全组规则。  
  
网络类型| 规则方向| 授权策略| 协议类型| 端口范围| 授权对象| 优先级  
---|---|---|---|---|---|---  
VPC| 入方向| 允许| 自定义TCP| RDP (3389)| 对方实例的私有IP地址。| 1  
SSH (22)  
自定义，例如8080/8080  
  
# 案例七：允许公网通过HTTP、HTTPS等服务访问实例

如果您在实例上架设了一个网站，希望您的用户能通过HTTP或HTTPS服务访问到您的网站，您需要在实例所在安全组中添加以下安全组规则。

  * 允许公网上所有IP地址访问您的网站。 

网络类型| 规则方向| 授权策略| 协议类型| 端口范围| 授权对象| 优先级  
---|---|---|---|---|---|---  
VPC| 入方向| 允许| 自定义TCP| HTTP (80)| 0.0.0.0/0| 1  
HTTPS (443)  
自定义，例如8080/8080  
  
  * 允许公网上部分IP地址访问您的网站。

网络类型| 规则方向| 授权策略| 协议类型| 端口范围| 授权对象| 优先级  
---|---|---|---|---|---|---  
VPC| 入方向| 允许| 自定义TCP| HTTP (80)|
允许访问您网站的主机的公网IP地址，可以为一个或多个公网IP地址，例如1.2.3.4/32或10.0.0.0/8。| 1  
HTTPS (443)  
自定义，例如8080/8080  
  
**说明**

  * 如果您无法通过`http://公网IP地址`访问您的实例，请参见[检查TCP 80端口是否正常工作](https://developer.qiniu.com/qvm/kb/7057/check-the-tcp-port-80-is-working-correctly)。 
  * 80端口是HTTP服务默认端口。如果要使用其他端口，如8080端口，您必须修改Web服务器配置文件中监听端口设置。

以上内容是否对您有帮助？