VPC最佳实践(四):VPC中的访问控制

阿里云的专有网络目前没有网络的ACL当前在专有网络中进行访问控制依赖各个云产品的访问控制能力在此为介绍云服务器 ECS 云数据库 RDS 负载均衡的访问控制功能


 

ECS——安全组


安全组是一种虚拟防火墙具备状态检测包过滤功能安全组用于设置单台或多台云服务器的网络访问控制它是重要的网络安全隔离手段用于在云端划分安全域

 

安全组是一个逻辑上的分组这个分组是由同一个地域Region内具有相同安全保护需求并相互信任的实例组成每个实例至少属于一个安全组在创建的时候就需要指定同一安全组内的实例之间网络互通不同安全组的实例之间默认内网不通可以授权两个安全组之间互访

 

一个 VPC 类型的 ECS 实例只能加入本 VPC 的安全组您可以随时授权和取消安全组规则。您的变更安全组规则会自动应用于与安全组相关联的ECS实例上。

默认只有同一个安全组的 ECS 实例可以网络互通。安全组可以根据出入方向的规则设置对安全组内部实例的出入方向网络流量进行访问控制。


  • 入方向授权/拒绝某个IPCIDR通过某个协议类型访问安全组内部实例指定的端口范围
  • 出方向授权/拒绝安全组内部实例通过某个协议访问某个IPCIDR的指定的端口范围


当访问控制规则冲突时,优先级高的规则生效,优先级相同时,拒绝的规则生效

 

安全组应作为白名单使用且遵循最小授权原则


例如,用于运维管理的跳板机,该类实例一般具备很强的内网网络访问权限,需要暴露在公网并允许ssh登录。这类实例的风险较高,建议进行单独管理。安全组规则可以这样设计:

  • 在跳板机实例所在的安全组中拒绝(deny)所有地址(0.0.0.0/0)对于该实例所有协议(all)端口(-1/-1)的访问(Ingress);
  • 在该安全组中允许(allow)某运维人员的IP地址(xx.xx.xx.xx)对于该实例通过sshtcp22端口)的方式登录(Ingress)跳板机;


由于相同安全组中的ECS内网互通,需要将不同业务环境、不同访问控制需求的服务器规划在不同的安全组中

  • 提供公网服务的和内网服务放置在不同的安全组中
  • 不同应用使用不同的安全组
  • 不同的部署环境使用不同的安全组


当需要专有网络中的服务器内网互通时,有两种方式,可以配置安全组之间互相授权,也可以通过设置安全组规则对特定地址段的出入方向授权来实现。当安全组数量较少或网络规划不严格规划时,前者的配置相对简单;当安全组数量随着业务部署的复杂度增加时,在合理的规划服务器地址段的基础上,对地址段的授权能够有效的降低安全组的配置和管理成本。


更多安全组的配置可以参考:

 

 

云数据库 RDS ——白名单




基于云数据库 RDS 版的白名单功能用户可定义允许访问 RDS IP 地址指定之外的 IP 地址将被拒绝访问在专有网络中使用RDS产品时需要将云服务器的IP地址加入到需要访问的RDS的白名单后云服务器才能访问RDS实例

 

更多云数据库 RDS 版白名单的配置可以参考


云数据库 RDS 版设置白名单




负载均衡——白名单


 

可以为负载均衡监听设置仅允许哪些 IP 访问适用于应用只允许特定 IP 访问的场景负载均衡是将访问流量根据转发策略分发到后端多台云服务器的流量分发控制服务通过流量分发扩展应用系统对外的服务能力通过消除单点故障提升应用系统的可用性一般对于外网或内网用户开放访问当服务仅对指定用户开放或仅用于内部访问时通过白名单功能可以有效的对服务进行访问控制在配置白名单时将需要通过负载均衡服务访问后端服务器的用户IP地址或专有网络内部的云服务IP地址加入到负载均衡服务监听的访问控制白名单即可

 

更多负载均衡白名单的配置可以参考


负载均衡设置访问控制

 

上一篇:SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)


下一篇:聊聊Python 3 的字符串:str 和 bytes 的区别