网络访问控制
本文介绍了网络访问控制的三种通用方式:安全组、网络ACL和云防火墙,用户可以根据云资源使用情况选择一种或多种,确保网络资源的访问符合安全策略。
上云之后第一步就是规划好网络架构与管理网络暴露面,您应该充分使用云上网络技术进行灵活的业务组网,在保障业务正常功能的前提下,最小化地缩小网络暴露面,降低安全风险。网络分层模型可以参考下图:
VPC是您需要使用的最基本能力,它构建了隔离的网络环境,用于部署不同的业务系统。建议不同产品、不同的业务部署在不同VPC。网络ACL(Network Access Control List)是VPC中的网络访问控制功能。您可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,实现对交换机中云服务器ECS实例流量的访问控制。
网络隔离不仅要限制边界间的访问,还应当以零信任的角度,不单纯依赖网络边界。云上同一边界、同一网络区域内也应当实施充分的网络隔离,如通过安全组限制不同ECS实例间的网络访问。您还应当分辨业务是否具备访问公网的需求,若不存在访问公网的需求,应当将实例挂载到没有互联网路由的vSwitch上。
阿里云还提供了云防火墙等安全产品,帮助企业应对更高阶更复杂的攻击。这些原生安全能力,既满足了企业默认安全的需求,又满足了企业快速扩展的需求。
关于安全组、网络ACL、云防火墙的关系,可以参考:
安全组 | 网络 ACL | 云防火墙 | |
作用范围 | 直接绑定到ECS实例或其它云资源上,主要用于控制单个实例的出入流量 | 应用于 VPC 子网级别,控制进出整个子网的流量 | 为整个VPC或特定的VPC之间提供统一的安全策略管理 |
工作原理 | 对 IP、端口、协议等规则的精确匹配 | 对 IP、端口、协议等规则的精确匹配 | 具备深度包检测(DPI)能力,可以对流量的内容进行更细致的分析和过滤 |
应用场景 | 简单应用或基础防护 | 复杂的企业级安全策略及应用层防护 |
一、使用安全组管理实例的出入流量
安全组是一种虚拟防火墙,能够控制ECS、RDS、SLB 等多种类型实例的出入站流量。安全组入方向规则控制实例的入站流量,出方向规则控制实例的出站流量。
(一)安全组配置规划
在阿里云,一台实例最多可以加入五个安全组,一个安全组最多可以包括200条安全组规则,所以一台实例可能同时应用上千条安全组规则。因此建议在配置安全组规则之前,先明确所有实例的访问限制,提前规划好每一条规则和覆盖的应用/实例,避免因临时添加的规则过多,增加管理的复杂度。
(二)安全组配置原则
使用安全组时,建议遵循参考以下原则
最小范围开放原则:选择开放具体的端口,如80端口等;避免设置0.0.0.0/0作为授权对象;不需要公网访问的资源不必提供公网IP;
按角色细化权限管理:安全组是从网络访问的维度规划的业务角色,组内实例是角色扮演者。实例不能扮演过多角色,因此也不建议加入太多组。不使用一个安全组管理所有应用,也要避免为每台实例单独设置一个安全组;
变更前必须测试:修改线上的安全组之前,应该先克隆一个安全组,再在克隆的安全组上进行调试,以避免直接影响线上应用;
配置安全组审计:对安全组规则的合规性进行审计,并将审计结果投递到日志服务SLS中,当账号下的安全组规则有不符合审计规则的变更时,用户能够通过日志服务SLS收到告警通知;
限制 RAM 用户权限:限制RAM子账户创建和引用存在安全风险的安全组,确保新创建的安全组均符合安全基线和要求,实现安全组规则的常态化治理;
维护好每一条规则:安全组规则是实例最重要的系统配置之一,添加规则一定要进行备注,方便后人理解,当实例释放,IP修改等动作发生时,检查安全组内是否有无效规则,并及时清理。
二、使用ACL控制专有网络VPC
网络ACL(Network Access Control List)是专有网络VPC中的网络访问控制功能。用户可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,实现对交换机中云服务器ECS实例流量的访问控制。用户可以同时使用ACL和安全组规则,分别对交换机和 ECS 的流量进行控制,以下是ACL与安全组的关系:
安全组和ACL都是用于实现网络访问控制的重要工具,尤其是在VPC环境中,它们各有侧重点,合理地协同使用能够增强云环境的安全性。以下是如何让安全组和ACL协同工作的建议:
层次分明,明确职责:安全组通常应用于更细粒度的控制,直接绑定到云服务器(如ECS实例),控制进出该实例的流量。它更侧重于实例级别的访问控制,且同一安全组内的实例默认相互信任,无需额外规则。网络ACL则是在子网级别工作,作为VPC的一个可选安全层,控制进出一个或多个子网的流量。它适用于更广泛的子网范围控制,可以视为第一道防线;
规则设计互补:设计规则时,应确保安全组和ACL的规则不冲突,且能互补。例如,如果网络ACL用于限制特定端口的入站流量,那么对应子网内的实例的安全组应配置允许必要的出站响应流量,以确保通信的完整性;
执行先后顺序考虑:网络ACL的规则先于安全组规则执行,因此,对于某些流量可能需要在网络ACL中设置更为宽松的规则,以允许流量到达实例,然后再由安全组进行细粒度的控制;
备份与分层防御:将安全组和ACL视为多层防御的一部分,即使一处配置失误,另一处仍然能提供保护。例如,可以在网络ACL中设置全局禁用某些危险端口,同时在安全组中细化具体的访问权限。
三、使用云防火墙控制整个云环境的出入流量
针对企业级场景,阿里云提供云防火墙产品,为整个VPC或特定的VPC之间提供统一的安全策略管理,用于控制进出整个云环境的网络流量,包括但不限于阿里云环境中的ECS实例、VPC网络、数据库服务等,提供集中管理和灵活的策略配置,支持应用层规则,能够对HTTP/HTTPS等应用层协议进行控制。根据云防火墙的作用范围,主要有以下几种类型:
互联网边界防火墙:互联网边界防火墙作用于互联网边界,对所有公网资产进出流量统一管控防护;内置威胁入侵防御模块,支持失陷主机检测、主动外联行为的阻断、业务访问关系可视等功能;支持一键开启防护,无需复杂的网络接入配置和镜像文件安装,使用集群化部署方式,支持性能平滑扩展;
VPC边界防火墙:检测和管控通过云企业网的企业版转发路由器、基础版转发路由器以及高速通道打通的专有网络VPC之间、VPC和本地数据中心之间的东西向流量,实现云上跨VPC之间、VPC与本地数据中心(VBR)、VPC到三方云(VBR)、VPC与VPN之间内网访问流量安全;
主机边界防火墙:支持托管ECS安全组,对VPC内ECS实例的出入流量进行访问控制。主机边界防火墙的访问控制策略发布后,会自动同步到ECS安全组并生效。同时支持安全组合规检查和安全组微隔离可视化。