《CloudOps云上自动化运维 白皮书2.0》—— 七、安全和合规能力Security——3. 多个层面构建的安全与合规能力(2):https://developer.aliyun.com/article/1222438?groupCode=ecs
3) 网络环境安全
云计算利用虚拟网络(Virtual Private Cloud,简称VPC),来抽象物理网络并创建网络资源池,实现数据链路层的隔离,为每个用户提供一张独立隔离的安全网络环境。不同VPC之间内部网络完全隔离,只能通过对外映射的IP互连。
在VPC内部,用户可以自定义IP地址范围、网段、路由表和网关等;此外,用户可以通过VPN 网关、高速通道物理专线、智能接入网关等服务将本地数据中心和云上VPC打通,也可以通过云企业网实现全球网络互通,从而形成一个按需定制的网络环境,实现应用的平滑迁移上云和对数据中心的扩展。
此外,网络是所有云服务的唯一入口,网络攻击是种类最多、危害最大,也是最难防护的风险之一。云计算平台会提供一套成熟的网络安全架构,以应对来自互联网的各种威胁。在阿里云上,可以通过安全组、网络ACL、路由策略或网络专线来控制虚拟网络的访问权限。除了对内网网络访问的控制之外,还需要配置云防火墙、应用程序防火墙、DDoS 防护等安全措施,针对各种外部网络安全威胁,进行安全防护。
a) 网络资源隔离安全建议
• 建立网络管理员,统一管理安全组、网络ACL以及流量日志。
• 使用ACL限制不需要公开的任何内容。
• 网络资源隔离,预设置较大子网,避免子网重叠使用。
• 围绕访问点而不是资源配置安全组。
• 定期重新访问安全组以优化规则。
b) 搭建实例安全的网络环境
合理设置安全组,网络隔离减少攻击面。
安全组是重要的网络安全隔离手段,用于设置单台或多台云服务器的网络访问控制。通过设置安全组规则,可以在网络层过滤服务器的主动/被动访问行为,限定服务器对外/对内的端口访问,授权访问地址,从而减少攻击面,保护服务器的安全。
以下是安全组实践的安全建议:
• 最小原则白名单开放
安全组应该是白名单性质的,所以需尽量开放和暴露最少的端口,同时尽可能少地分配公网IP。
• 避免设置0.0.0.0/0授权对象
允许全部入网访问是经常犯的错误。使用0.0.0.0/0意味着所有的端口都对外暴露了访问权限。这是非常不安全的。正确的做法是,先拒绝所有的端口对外开放。安全组应该是白名单访问。
• 筛查潜在高危安全组
安全组规则设置不当会造成严重的安全隐患。阿里云会定期检查您的安全组,如果安全组规则对特定端口的访问不做限制,就会产生预警。您可以使用潜在高危安全组概览发现不合理的安全组规则,通过修改安全组规则保证ECS实例的网络安全。
。 关闭不需要的入网规则
。 以安全组为授权对象添加规则
不同的安全组按照最小原则开放相应的出入规则。对于不同的应用分层应该使用不同的安全组,不同的安全组应有相应的出入规则。
• 经典网络的内网安全组规则不要使用CIDR或者IP授权
对于经典网络类型的ECS实例,阿里云默认不开启任何内网的入规则。内网的授权一定要谨慎。
。 定义合理的安全组名称和标签
合理的安全组名称和描述有助于您快速识别当前复杂的规则组合。
• 将需要互相通信的ECS实例加入同一个安全组
一个ECS实例最多可以加入5个安全组,而同一安全组内的ECS实例之间是网络互通的。
• 安全组内实例间隔离
安全组是一种虚拟防火墙,具备状态检测和包过滤功能。安全组由同一个地域内具有相同安全保护需求并相互信任的实例组成。为了满足同安全组内实例之间网络隔离的需求,阿里云丰富了安全组网络连通策略,支持安全组内实现网络隔离。
• 使用安全组五元组规则
安全组用于设置单台或多台ECS实例的网络访问控制,它是重要的网络安全隔离手段,用于在云端划分安全域。安全组五元组规则能精确控制源IP、源端口、目的IP、目的端口以及传输层协议。
• 公网服务的云服务器和内网服务器尽量属于不同的安全组
是否对外提供公网服务,包括主动暴露某些端口对外访问(例如80、443等),被动地提供端口转发规则(例如云服务器具有公网IP、EIP、NAT端口转发规则等),都会导致自己的应用可能被公网访问到。
。 合理配置安全域,隔离企业内部不同安全等级服务
您可以基于VPC专有网络,构建自定义专属网络,隔离企业内部不同安全级别的服务器,避免互通网络环境下受其他服务器影响。
建议您创建一个专有网络,选择自有IP地址范围、划分网段、配置路由表和网关等。然后将重要的数据存储在一个跟互联网网络完全隔离的内网环境,日常可以用弹性IP(EIP)或者跳板机的方式对数据进行管理。具体步骤请参见创建专有网络。
。 使用跳板机或堡垒机,防御内部和外部入侵破坏
跳板机由于其自身的权限巨大,需要通过工具做好审计记录,建议直接使用堡垒机,保障网络和数据不受来自外部和内部用户的入侵和破坏,同时运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
使用跳板机SSH时,建议您优先使用SSH密钥对而不是密码登录。
。 公网IP合理分配,降低公网攻击风险
不论是经典网络还是专有网络(VPC)中,合理的分配公网IP可以让系统更加方便地进行公网管理,同时减少系统受攻击的风险。在专有网络的场景下,创建虚拟交换机时,建议您尽量将需要公网访问的服务区的IP区间放在固定的几个交换机(子网CIDR)中,方便审计和区分,避免不小心暴露公网访问。
在分布式应用中,大多数应用都有不同的分层和分组,对于不提供公网访问的云服务器尽量不提供公网IP,如果是有多台服务器提供公网访问,建议您配置公网流量分发的负载均衡服务来公网服务,提升系统的可用性,避免单点。
对于不需要公网访问的云服务器尽量不要分配公网IP。专有网络中当您的云服务器需要访问公网的时候,优先建议您使用NAT网关,用于为VPC内无公网IP的ECS实例提供访问互联网的代理服务,您只需要配置相应的SNAT规则即可为具体的CIDR网段或者子网提供公网访问能力,具体配置参见SNAT。避免因为只需要访问公网的能力而在分配了公网IP(EIP)之后也向公网暴露了服务。
《CloudOps云上自动化运维 白皮书2.0》—— 七、安全和合规能力Security——3. 多个层面构建的安全与合规能力(4):https://developer.aliyun.com/article/1222433?groupCode=ecs