相对传统网络,云上的虚拟网络带来了很大的不同。传统网络一旦设计实施完成,基本固定,改动是个非常挑战的工作,一般需要多级申请,多人审批及操作,灵活性差,但相关的改配风险也小。
云的网络则不同,所有的网络连接,隔离,ACL等,全部通过软件配置完成,非常高效,改变非常容易,管理难度大。比如,可能某个人有意或无意创建一个虚拟机,带上一个弹性IP,网络就产生了一个对外的接口,导致攻击面的改变。所以,正确设计、配置、使用及持续监控网络变化,对云网络是非常挑战的问题。
区域(Region):
从地理位置和网络时延维度划分,指某一个地域内的数据中心合集。同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region,比如北京一,就是一个通用Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region,比如,金融Region等。一个Region一般包含多个AZ。
AZ(Availability Zone 可用区):
一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。AZ内的连接时延很低。
VPC (Virtual Private Cloud)虚拟私有云
是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可以基于VPC构建独立的云上网络空间,配合弹性公网IP、云连接、云专线等服务实现与Internet、云内私网、跨云私网互通。一个VPC相当于一个专属网络。
用户在创建虚拟私有云VPC时,需要指定虚拟私有云VPC使用的私网网段。当前虚拟私有云VPC支持的网段有10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24。
VPC的网络容量:每个VPC内实际使用的IP地址建议不超过5000个。超过需要考虑使用多VPC来承载业务。
VPC互通
VPC间是隔离性大于连通性:VPC间默认隔离,确实需要互通,在Region内,可以通过VPC Peering互通,跨Region的场景,可以通过云连接(CC)互通。
Subnet 子网
子网是虚拟私有云下管理云资源的网络平面,所有的云资源(例如云服务器、云数据库等)都必须部署在子网内。
子网的网段设置都在VPC的网段之内。
默认情况下,同一个VPC的所有子网内的弹性云服务器均可以进行通信,不同VPC的弹性云服务器不能进行通信。
网间是连通性大于隔离性:子网间默认互通,但可以通过访问权限控制实现隔离。
Security Group 安全组
它是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问控制。安全组创建后,用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。系统会为每个用户默认创建一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的弹性云服务器不用添加规则即可互相访问;
使用安全组可以基于主机名或组间进行连接控制,非常方便,比如,应用软件在一个组里,数据库在一个组里,直接根据组名配访问规则,新加服务器,只要加入一个组,自动拥有相关权限,有点类似于RBAC。
NACL (网络访问控制)
网络NACL是一个子网级别的可选安全层,通过与子网关联的出方向/入方向规则控制出入子网的数据流。
网络ACL与安全组类似,都是安全防护策略,当您想增加额外的安全防护层时,就可以启用网络ACL。安全组对云服务器、云容器、云数据库等实例进行防护,网络ACL对子网进行防护,两者结合起来,可以实现更精细、更复杂的安全访问控制。
以上各部分的关系大体如图所示
弹性公网IP(Elastic IP,简称EIP)
提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑。拥有多种灵活的计费方式,可以满足各种业务场景的需要。
终端节点(VPC Endpoint)
可以在VPC内提供便捷、安全、私密的通道与终端节点服务(华为云服务、用户私有服务)进行连接,该服务使用云内部网络,无需弹性公网IP,提供性能更加强大、更加灵活的网络。典型连接如图:
连接OBS,用VPC Endpoint是最好选择。
我们用一个实例看一下相关组件的使用及配置。如下图,假设A企业有一个面向互联网的Web服务,Web服务器由ECS搭建,下边连接Redis和Mysql数据库。该系统同时还有一个测试环境,生产和测试有部分连接的需求。所有的管理通过云堡垒机进行。
▫
按上述拓扑,Subnet-生产 主要隔离要求如下:
所有的管理通过云堡垒机完成,所以所有节点的22端口只对堡垒机开放。
Redis 的6379端口只对Web服务器开放,即SG2只对SG1开放6379端口。
Mysql的3306端口只对Web服务器开放,即SG3只对SG1开放3306端口。
SG1对互联网开放80端口,其它端口均不开放。
禁止测试子网访问生产子网。
按以上要求,SG1的安全组配置如下:(192.168.5.5为云堡垒机的地址)
SG2的安全组配置如下:
SG3的配置与SG2类似,可以参考。
禁止测试子网访问生产子网,可以使用NACL策略,在subnet-生产上设置如下:
由于ACL按优先级执行,优先级数字越小,执行优先级越高,*为默认规则,优先级最低。以上策略,第一条,拒绝所有测试子网的访问,第二条,允许外部对80端口的访问,第三条,其它全部拒绝。
网络ACL,加上安全组,可以比较完善地完成访问控制的要求。
通过以上配置,攻击面已经基本缩到最小,对外只有一个业务端口,该端口外部可以接WAF和Antiddos,管理控制用堡垒机,有比较好的防护。参考上述方案可以对大部分应用场景做好防护。
注1:192.168.5.5为堡垒机IP地址,可按需要修改。
注2:若要限制SG1的80端口只能从ELB访问,则可需要修改上述80端口策略,增加ELB的端口限制,或允许子网网段访问(将ELB创建到Subnet-生产中)。一般情况下web服务需要使用waf防护,需要基于waf要求确定安全组策略。
云连接(Cloud Connect)为用户提供一种能够快速构建跨区域VPC之间以及云上多VPC与云下多数据中心之间的高速、优质、稳定的网络能力,帮助用户打造一张具有企业级规模和通信能力的全球云上网络。
云专线(Direct Connect)用于搭建企业自有计算环境到华为云用户计算环境的高速、稳定、安全的专属通道。您可使用专线接入服务将本地数据中心的计算机与华为云上的云服务器或托管主机实现私网相连,实现安全可靠的混合云部署。
一个典型的多连接环境如上图,企业IDC通过云专线接入某一个Region的VPC(云专线走运营商网络,需要单独购买,云内各Region可以采用云连接(CC)互通。
云连接可以直接连通VPC的子网,所以,子网的ACL可以在云连接中生效,作为安全控制手段。
云连接的作用类似于路由器,所以在使用云连接前,各VPC规划的IP不能冲突(至少保证要连接的IP段不能冲突)
NAT网关 (NAT Gateway) 可为您提供网络地址转换服务,使用NAT网关可为您节约EIP资源,通过NAT网关还可以实现VPC内云主机与远端私网(外部数据中心或其他VPC)互相访问。
NAT网关分为SNAT和DNAT两个功能。
SNAT功能通过绑定弹性公网IP,实现私有IP向公有IP的转换,可实现VPC内跨可用区的多个云主机共享弹性公网IP,安全,高效的访问互联网。
DNAT功能绑定弹性公网IP,可通过IP映射或端口映射两种方式,实现VPC内跨可用区的多个云主机共享弹性公网IP,为互联网提供服务。
一般分为公网NAT网关和私网NAT网关两种,功能基本一致,区别是公网NAT网关是很多租户公用的,私网NAT网关是租户独享的。
由于NAT网关是独立的服务,所以,在虚拟机上是看不到公网IP的,在管理控制台上可以看到,如果想在虚拟机查询,可以访问169.254.169.254查询。
END