设计使用网络安全组筛选流量的解决方案
可以使用 Azure 网络安全组来筛选 Azure 虚拟网络中 Azure 资源之间的网络流量。 网络安全组包含安全规则,这些规则可允许或拒绝多种 Azure 资源的入站和出站网络流量。 可以为每项规则指定源和目标、端口以及协议。
本文介绍网络安全组规则的属性、应用的默认安全规则,以及可以修改以创建扩充安全规则的规则属性。
安全规则
一个网络安全组包含零个或者不超过 Azure 订阅限制的任意数量的规则。 每个规则指定以下属性:
属性 | 解释 |
---|---|
名称 | 网络安全组中的唯一名称。 该名称最长可为 80 个字符。 |
Priority | 介于 100 和 4096 之间的数字。 规则按优先顺序进行处理。先处理编号较小的规则,因为编号越小,优先级越高。 一旦流量与某个规则匹配,处理即会停止。 因此,不会处理优先级较低(编号较大)的、其属性与高优先级规则相同的所有规则。 |
源或目标 | 可以是任何值,也可以是单个 IP 地址、无类别域际路由 (CIDR) 块(例如 10.0.0.0/24)、服务标记或应用程序安全组。 如果为 Azure 资源指定一个地址,请指定分配给该资源的专用 IP 地址。 在 Azure 针对入站流量将公共 IP 地址转换为专用 IP 地址后,系统会处理网络安全组,然后由 Azure 针对出站流量将专用 IP 地址转换为公共 IP 地址。 指定范围、服务标记或应用程序安全组时,需要的安全规则较少。 在一个规则中指定多个单独的 IP 地址和范围(不能指定多个服务标记或应用程序组)的功能称为扩充式安全规则。 只能在通过资源管理器部署模型创建的网络安全组中创建扩充式安全规则。 在通过经典部署模型创建的网络安全组中,不能指定多个 IP 地址和 IP 地址范围。 |
协议 | TCP、UDP、ICMP、ESP、AH 或 任何协议。 ESP 和 AH 协议目前无法通过 Azure 门户使用,但可通过 ARM 模板使用。 |
方向 | 该规则是应用到入站还是出站流量。 |
端口范围 | 可以指定单个端口或端口范围。 例如,可以指定 80 或 10000-10005。 指定范围可以减少创建的安全规则数。 只能在通过资源管理器部署模型创建的网络安全组中创建扩充式安全规则。 在通过经典部署模型创建的网络安全组中,不能在同一个安全规则中指定多个端口或端口范围。 |
操作 | 允许或拒绝 |
根据五元组(源、源端口、目标、目标端口、协议)信息评估并应用安全规则。 不能创建两个具有相同优先级和方向的安全规则。 将为现有连接创建流记录。 是允许还是拒绝通信取决于流记录的连接状态。 流记录允许网络安全组有状态。 例如,如果针对通过端口 80 访问的任何地址指定了出站安全规则,则不需要指定入站安全规则来响应出站流量。 如果通信是从外部发起的,则只需指定入站安全规则。 反之亦然。 如果允许通过某个端口发送入站流量,则不需要指定出站安全规则来响应通过该端口发送的流量。
删除启用了流的安全规则时,现有连接不一定会中断。 当连接停止并且至少几分钟内在任一方向都没有流量流过时,流量流会中断。
修改网络安全组规则只会影响已形成的新连接。 创建新规则或在网络安全组中更新现有规则时,该规则将仅适用于新流和新连接。 现有工作流连接不会使用新规则进行更新。
在网络安全组中创建的安全规则存在数量限制。