网络安全保护

更新时间:

云上业务系统的用户可能位于网络中的任何位置,比如通过互联网服务终端客户,或者两个都在VPC内的业务系统之间相互调用。因此每个网络层次上都需要有完善的安全体系,来确保各类业务的安全访问。推荐采用微服务的理念,将各个组件、子系统、微服务认为是离散的、互不信任的,并采用安全措施进行认证、防护和监测。

网络规划设计的核心环节之一就是定义各个资源所在的网络边界,并在各个网络边界之间设计访问控制机制。这个环节可以通过三个步骤来进行:

  1. 设计网络分层

  2. 在各个层级实施网络访问控制

  3. 观测、分析、监控网络安全事件

设计网络分层

网络分层需要根据各个系统组件的安全等级要求进行归类,并划分成多个网络层级来确保让非法访问的影响范围最小化。比如在VPC中的数据库集群不应有互联网访问能力,且应该部署到没有到互联网的路由的vSwitch中。组件之间流量流向也应该符合分层原则,且仅应该流向相同或者相邻安全等级的组件上。比如一个基础的Web应用包括公网负载均衡入口、Web服务器和数据库,数据库只能被Web服务器访问,而不能通过负载均衡入口访问到。

网络分层模型可以参考下图:

image.png

下面列举出一些常见的糟糕设计:

  • 将所有资源都创建在一个VPC或者vSwitch中,不同业务之间没有隔离会导致安全暴露的影响范围扩大

  • 允许直接访问敏感数据,比如公网访问数据库、大数据的查询服务直接暴露在公网上等等。

  • 不同网络位置(VPC之间、IDC到VPC等)的内部应用之间通过公网互通。

  • 安全组放开过大的范围。

需要注意的是,网络分层是实施完善网络安全架构的基础,没有遵守此最佳实践会导致较高的安全风险。

在各个层级实施网络访问控制

通过网络分层模型参考图可以看到,常见的跨层流量流向包括且不限于:

  • 互联网到VPC内资源流量互访(出向和入向)

  • 同一个VPC内的访问,即:

    • 同一vSwitch内的流量互访

    • 同一VPC内不同vSwitch的流量互访

  • 不同VPC间的流量互访

  • 外部IDC到VPC内资源的流量互访

  • VPC/外部IDC访问云服务

对于互联网到VPC内资源流量互访,各个层级有如下可以使用的安全手段,这些手段的防护范围是从更大范围到更小范围:

  1. 基础DDos防护

  2. 高防和WAF

  3. 互联网防火墙

  4. 划分公网vSwitch和私网vSwitch,VPC Ingress Routing

  5. 网络ACL

  6. 安全组/IP白名单

对于VPC内的流量互访,常见的流量控制工具包括:

  1. 网络ACL:保护整个vSwitch

  2. 安全组/IP白名单:保护具体实例

对于不同VPC间,以及外部IDC到VPC内的流量互访,首先应该做到使用内网通道进行连接,比如使用VPC Peering、转发路由器、VPN Gateway、高速通道产品,来建立私有的、专用的链路,避免为不对公网提供服务的组件暴露公网入口。此外,根据零信任原则,不同VPC、外部IDC等网络均属于位于的网络边界,在跨边界访问时,可以考虑使用东西向云防火墙,进行网络流量的隔离和防护。当流量通过网络边界进入VPC后,VPC内的所有安全能力,包括路由表、网络ACL、安全组等还可以实现进一步细粒度的访问控制。

观测、监控、分析网络安全事件

持续的观测、监控、分析网络安全事件有助于持续的加固安全策略,应对新的安全威胁。

在业务网络层面高防、WAF能够记录并防护DDos攻击,以及四层和七层的攻击。

在基础网络层面,云防火墙可以详细记录VPC访问公网(南北向流量)、VPC之间/混合云组网(东西向流量)的方位行为和异常流量。

在VPC内部,可以通过VPC flowlog来记录详细的五元组日志,通过分析VPC flowlog日志,发现不符合安全分层互访策略的流量,通过网络ACL或者安全组来进行安全策略的加固。如果对于数据包的内容有进一步的监控审计要求,可以通过VPC的流量镜像功能将流量复制一份,再导入流量分析组件进行更进一步的监控和分析。