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