安全组实践建议
云上的安全组提供类似虚拟防火墙功能,用于设置单台或多台ECS实例的网络访问控制,是重要的安全隔离手段。创建ECS实例时,您必须选择一个安全组。您还可以添加安全组规则,对某个安全组下的所有ECS实例的出方向和入方向进行网络控制。
在使用安全组前,您应先了解以下实践建议:
- 最重要的规则:安全组应作为白名单使用。
- 开放应用出入规则时应遵循最小授权原则。例如,您可以选择开放具体的端口,如80端口。
- 不应使用一个安全组管理所有应用,因为不同的应用存在不同的访问控制需求。对于分布式应用来说,不同的应用类型应该使用不同的安全组,例如,您应对Web层、Service层、Database层、 Cache层使用不同的安全组,暴露不同的出入规则。
- 避免为每台实例单独设置一个安全组,控制管理成本。
- 尽可能保持单个安全组的规则简洁。因为如果单个安全组规则过多,增加或者删除规则就变得很复杂,就会增加管理的复杂度。
- 天翼云的控制台提供了克隆安全组和安全组规则的功能。如果您想要修改线上的安全组和规则,您应先克隆一个安全组,再在克隆的安全组上进行调试,避免直接影响线上应用。(部分资源池支持,可提工单申请克隆功能。)
- 安全组TCP、UDP报文分片后,分片不带有端口信息,需要将端口范围指定为1-65535,不进行端口过滤。目前仅合肥2支持UDP大包分片后指定端口过滤功能,如有UDP大包分片,需要指定端口号过滤的需求,可联系客户经理开通此功能。
- 如果您想实现在不同安全组的资源之间的网络互通,您可使用安全组方式授权。同一安全组内云服务器实例内网互访默认是隔离状态,如您有同一安全组内的云服务器之间互通的需求,您可以在添加安全组规则时配置一条引用本安全组的规则,实现组内互通。
安全组规则的属性
安全组规则主要是描述不同的访问权限,包括如下属性:
- Policy:授权策略,参数值可以是accept(允许)或drop(拒绝)。同等优先级,拒绝高于允许。
- Priority:优先级,规则优先级可选范围为1~100,默认值为1,即最高优先级。数字越大,代表优先级越低。
- IpProtocol:IP协议,取值:TCP、UDP、ICMP、Any。Any表示所有的协议。
- PortRange:端口范围,IP协议相关的端口号范围。协议为Any或ICMP时,不限制端口号。