Azure 最佳架构安全评估 - 网络安全
保护资产的最近本保障是控制好Azure上的网络流量,Azure的资源和本地资源之间的流量,进出Azure的流量。如果网络没有相应的安全防护,那么环境就很容易受到黑客攻击,比如公网IP的扫描。正确的网络安全控制可以很好地检测、控制、组织攻击者的攻击。
网络安全评估Checklist
- 进行网络划分,对每个划分的网络分区建立安全的通信连接。将网络划分和整个企业的划分策略相一致。
- 涉及安全管控来确保允许和阻止的网络流量,访问请求和应用程序通信,不同网络分区之间怎么实现这些流量管控。
- 使用Azure Front Door和 应用程序网关、防火墙 DDoS防护来保护公共终结点
- 使用DDoS标准版来防护DDoS攻击
- 禁止虚拟机直接可以从公网访问
- 控制网路东西向流量(子网之间的通信),以及南北流量(应用程序基本的通信)
- 防止数据渗透攻击**(不了解看看)**
网络划分模型
统一的企业级划分策略将网络、应用程序、身份标识以及其他的访问控制来规划一个统一的划分。
进行网络划分的主要原因:
- 将一个负载的相关资产按组进行管理
- 将资源进行隔离
- 基于企业的部门组织下放自治策略
网络控制可以确保边缘之间的安全交互。网络安全可以很好地加固安全态势、包括安全漏洞,因为网络防控可以很好地检测、组织攻击者进入企业负载。
传统的网络划分一般不能很好地和企业的核心业务和应用程序进行很好契合。所以会导致复杂的网络端口开放、复杂的防火墙exceptions。
- 企业是如何进行网络划分的呢?
本问会着重将一些Azure 网络的特性,Azure网络如何进行划分、如何限制各个服务的访问。
关键点 - 创建软件定义的网络边界,确保网络边界之间有安全的通信方式。??
- 建立零信任网络划分策略
- 对于老旧的应用程序,需要技术团队将划分策略与其想入考虑范围内
- Azure VNet是用来划分私有网络地址的,默认情况下,虚拟网络之间网络是不通的。
- NSG 网络安全组是用来确保虚拟网络内部的安全通信的
- ASG 应用程序安全组是用来定义运行不同负载的VM之间的流量规则
- 使用Azure 防火墙来过滤云端、互联网端、本地端的流量
- 如果不需要跨区域运行负载,请尽量将资源放在一个VNet里面
- 如果需要多个区域,一个区域就是一个VNet,然后通过peering将VNet
- 对于高级的配置,可以使用Hub-Spoke的拓扑结构图,一个VNet作为hub,其他VNet作为spoke
什么是划分?
Azure用什么来划分?
订阅、VNet、NSG、ASG、Azure Firewall
- 订阅:最基本的资源边界,所有订阅之间的网络通信都要明确规定好
- VNet:订阅内部的四由网络地址空间,默认两个虚拟网络之间是没有通信的,和订阅一样,所有的VNet之间的网络通信都要明确规定好
- NSG:用来控制VNet内部的网络流向,也可以控制外部网络,比如互联网和其他非VNet,NSG可以细颗粒度地控制网络划分,对子网、一个虚拟机、或者一组虚拟机进行网络端口控制。
- ASG:和NSG一样,但是是针对于应用程序的,运行有一定应用程序tag的虚拟机可以进行通信,这些虚拟机上面都跑同一个应用程序负载。
- Azure Firewall:Azure云原生的防火墙,可以部署在VNet上,也可以部署在hub上,对云、互联网、本地之间进行网络之间进行流量过滤。可以创建很多规则和策略,来运行、禁止三层到七层的网络流量。Azure Firewall也可以用来过滤出产流量。
划分的模式
一般有一些网络划分模式可以遵循,每种模式都有不同种类的隔离和连接。企业根据自己的需求选择划分模式
模式一:Single VNet 单一虚拟网络模式
所有的负载都运行再一个单一的VNet里面,这种模式使用于单一区域的负载,因为VNet是不能跨区域进行工作的。
对于单一VNet的模式,有很多方式进行安全加固,比如划分子网,划分应用程序组,使用NSG ASG。还可以使用Network Virtualized Appliance 或者 Azure firewall来加固网络划分。
如图所示,子网1是用于数据库的运行,子网二是用于web应用程序的运行,你可以配置NSG来允许子网一只能和子网二进行通信,子网二可以和互联网通信。
模式二:多个VNet通过peering打通
如果资源位于不同的region,那资源就位于不同的VNet,不同的VNet通过peering进行打通,这种模式一般适用于应用程序的负载跑在不同的VNet上的情况,或者你需要你的