Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

GPRS 简介

GPRS 概述

通用分组无线服务 (GPRS) 网络连接多个外部网络,包括漫游合作伙伴、企业客户、GPRS 漫游交换 (GRX) 提供商和公共互联网。GPRS 网络运营商面临着一项挑战:在保护其网络的同时,提供和控制对这些外部网络的访问。瞻博网络为困扰 GPRS 网络运营商的许多安全问题提供了解决方案。

在 GPRS 架构中,运营商网络安全威胁的根本原因是 GPRS 隧道协议 (GTP) 固有的安全性缺乏。GTP 是 GPRS 支持节点 (GSN) 之间使用的协议。GTP 用于为单个用户端点 (ES) 建立 GTP 隧道,并在 4G 中的服务网关 (S-GW) 和 PDN 网关 (P-GW) 之间建立。GTP 隧道是 GSN 之间的一个通道,两台主机通过该通道交换数据。SGSN (S-GW) 从用户端点接收数据包,并将其封装在 GTP 报头中,然后通过 GTP 隧道将其转发至 GGSN。当 GGSN 收到数据包时,它会解封装这些数据包并将其转发到外部主机。

由于 GTP 不提供任何身份验证、数据完整性或机密性保护,因此不同 GPRS 网络之间的通信不安全。为漫游伙伴之间的连接实施 IP 安全 (IPsec),设置流量速率限制并使用有状态检测可以消除 GTP 的大部分安全风险。Junos OS 中的 GTP 防火墙功能解决了移动运营商网络的关键安全问题。

瞻博网络安全设备可缓解以下类型 GPRS 接口上的各种攻击:

  • Gn — Gn 接口是同一公共陆地移动网络 (PLMN) 内 SGSN (S-GW) 与 GGSN 之间的连接。

    S5 - S5 接口是 4G 网络中 PLMN 内 S-GW 和 P-GW 之间的连接。

  • Gp — Gp 接口是两个 PLM 之间的连接。

    S8 - S8 接口是 4G 网络中家庭和已访问的 PLM 之间的承载平面连接。

  • Gi — Gi 接口是 GGSN 与互联网或连接到 PLMN 的目标网络之间的连接。

    SGi - SGi 接口是指 P-GW 与互联网之间的连接,或连接到 4G 网络中 PLMN 的目标网络。

interface术语在 Junos OS 和 GPRS 技术中有不同的含义。在 Junos OS 中,接口是安全区域的入口,允许流量进出区域。在 GPRS 中,接口是 GPRS 基础架构的两个组件之间的连接或参考点,例如 SGSN (S-GW) 和 GGSN (P-GW)。

从 Junos OS 18.4R1 版开始,IPv6 地址支持 GPRS 隧道协议 (GTP) 流量安全检查以及现有 IPv4 支持。通过此增强功能,在 3G 中的服务 GPRS 支持节点 (SGSN) 或服务网关 (S-GW) 和服务网关 (S-GW) 与 3G 中的网关 GPRS 支持节点 (GGSN) 或 4G 中的 PDN 网关 (P-GW) 之间,为单个用户端点 (UE) 建立了一个使用 IPv4 和 IPv6 地址的 GTP 隧道。借助 IPv6 支持,GTP 应用层网关 (ALG) 可根据策略配置检测或忽略 IPv6 GTP 会话。IPv4 上的所有 ALG 功能在 IPv6 上均受支持。您可以根据策略配置检查 GTP 信令或通过 IPv6 传输的数据消息。

本主题包含以下部分:

Gp 和 Gn 接口

您可以在 Gn 接口上实施安全设备来保护核心网络资产,例如 SGSN (S-GW) 和 GGSN (P-GW)。要保护 Gn 接口上的 GTP 隧道,可以将安全设备放置在一个通用的 PLMN 中,在 SGSN (S-GW) 和 GGSN (P-GW) 之间。

在 Gp 接口实施安全设备时,可以保护 PLMN 免受其他 PLMN 的防护。要保护 Gp 接口上的 GTP 隧道,您可以将 PLMN 的 SGSN (S-GW) 和 GSN (P-GW) 放在安全设备后面,以便所有传入和传出流量通过防火墙。

图 1 展示了瞻博网络 SRX 系列防火墙在 Gp 和 Gn 接口上保护 PLMN 的位置。

图 1: Gp 和 Gn 接口 Gp and Gn Interfaces

Gi 接口

在 Gi 接口上实施安全设备时,可以同时控制多个网络的流量,保护 PLMN 免受互联网和外部网络的侵害,以及保护移动用户不受互联网和其他网络的影响。Junos OS 提供了大量的虚拟路由器,使您能够为每个客户网络使用一个虚拟路由器,从而允许分离每个客户网络的流量。

安全设备可以使用 IPsec 虚拟专用网络 (VPN) 隧道的第 2 层隧道协议 (L2TP) 将数据包安全地转发到互联网或目标网络。

SRX 系列防火墙不支持完整的 L2TP。

图 2 展示了如何实施安全设备来保护 Gi 接口上的 PLMN。

图 2:Gi 接口 Gi Interface

操作模式

Junos OS 支持使用 GTP 的两种接口操作模式:透明模式和路由模式。如果您希望安全设备参与网络的路由基础架构,可以在路由模式下运行。这需要一定程度的网络重新设计。或者,您可以在透明模式下将安全设备实施到现有网络中,而无需重新配置整个网络。在透明模式下,安全设备充当第 2 层 交换机或网桥,接口的 IP 地址设置为 0.0.0.0,使安全设备对用户不可见或 透明

Junos OS 在未启用 GTP 检测的接口和策略上支持 NAT。

目前在 Junos OS 中,路由模式支持主动/被动和主动/主动 机箱群集。透明模式仅支持主动/被动。

GTP 不中断服务的软件升级

GTP 支持在运行两个不同 Junos OS 版本的两个 SRX 系列防火墙之间实现统一不中断软件升级 (ISSU)。在机箱群集上执行统一 ISSU,可在控制平面上不会中断且将流量中断降至最低的情况下,在两个不同的 Junos OS 版本之间进行软件升级。

在 SRX5400、SRX5600 和 SRX5800 设备上,Junos OS 12.1X45 版到 Junos OS 12.1X46 版、Junos OS 12.1X46 版到 Junos OS 12.3X48-D10 支持 ISSU。从 Junos OS 12.1X45 版到 Junos OS 12.3X48-D10 版不支持 ISSU。

了解 GTP 对中心点架构的支持

用户设备(例如手机)连接到通用分组无线服务 (GPRS) 数据服务的服务 GPRS 支持节点 (SGSN) 或 S-GW(服务网关)。SGSN (S-GW) 连接到网关 GPRS 支持节点以访问互联网。用户设备请求 SGSN 为 GGSN 或 P-GW (PDN 网关) 创建一个或多个 GPRS 隧道协议 (GTP) 隧道,以用于互联网访问。如果用户设备移动到新位置,则用户设备必须连接到其他 SGSN。新的 SGSN 通知 GGSN 更新原始隧道中的新 SGSN 信息。

GTP 应用层网关 (ALG) 会维护隧道的状态,并且仅允许为现有隧道发送隧道更新请求数据包。当用户设备移动到新位置并连接到另一个 SGSN 时,必须在原始隧道中更新新的 SGSN 信息。由于很少有 GTP-C 消息是双向的,而且消息可由 SGSN 或 GGSN 发送,因此无法保证正确的会话分布。也就是说,如果第一个数据包来自未知方向,GTP ALG 将停止创建会话。在这种情况下,第一个数据包和其他挂起的数据包被丢弃。

为了防止 GTP-C 数据包被丢弃,会创建新的流会话,即使未确定 GGSN 或 SGSN 方向,也允许通过 GTP-C 流量。之后,使用正确的 SPU 确定 GGSN IP 以创建流会话;否则,会话会迁移到指定的 SPU

从 Junos OS 18.4R1 版开始,GTP-C 隧道得到增强,支持基于隧道的会话分配,从而加快隧道设置过程并在 SPU 之间均衡会话。基于隧道的会话可确保 GTP-C 隧道消息到达控制隧道并完成有状态的检测。如果启用了 GTP-C 分布,则 GTP-C 隧道和 GTP-C 隧道会话将由隧道的 SGSN 隧道端点标识符 (TEID) 分配。 set security forwarding-process application-services enable-gtpu-distribution 使用命令启用基于隧道的会话分布,其中不同隧道的 GTP-C 流量分布在不同的 SPU 中。此命令为必填项。如果配置中缺少,GTP ALG 将停止工作,不会检查 GTP 数据包。

从 Junos OS 15.1X49-D40 版和 Junos OS 17.3R1 版开始,中心点架构得到了增强。增强功能如下:

  • 防止 SGSN 切换期间的 GTP-C 数据包丢弃问题。

  • 支持 GTP-C 消息速率限制,以保护 GGSN 免受 GTP-C 消息泛滥。

  • 通过切换到基于隧道的会话分布,由 GGSN 和 SGSN 对在所有 SPU 上分配 GTP-C 和 GTP-U 流量,而不同隧道的 GTP-C 和 GTP-U 流量分布在不同的 SPU 上。 enable-gtpu-distribution 使用命令启用 GTP-C 或 GTP-U 会话分布。

GTP 隧道管理

GTP 用于为单个用户端点 (ES) 以及提供服务的 GPRS 支持节点 (SGSN) 和网关 GPRS 支持节点 (GGSN) 之间建立 GTP 隧道。GTP 隧道是 GSN 之间的一个通道,两台主机通过该通道交换数据。SGSN 从用户端点 (ES) 接收数据包并将其封装在 GTP 报头中,然后通过 GTP 隧道将其转发至 GGSN。当 GGSN 收到数据包时,它会解封装这些数据包并将其转发到外部主机。

隧道对象:客户端端点包含下游 GSN (SGSN) 的信息,服务器端点包含上游 GSN (GGSN) 的信息。每个隧道端点都会保留一个字段用于 IPv4 地址,一个字段用于 IPv6 地址。隧道端点会保存隧道创建或更新消息中学到的地址。

重定向条目:安装重定向条目(也称为重定向隧道)以帮助查找锚点 SPU。重定向端点是通过创建普通 GTP 隧道创建的。重定向条目映射到一个隧道端点,它会从隧道复制 IP 地址、TEID 值和锚点 SPU ID。借助 IPv6 隧道支持,重定向条目会像隧道对象一样展开。

GSN

网关 GPRS 支持节点 (GGSN) 或 P-GW (PDN 网关)通过服务网关 GPRS 支持节点 (SGSN) 转换来自移动用户的传入数据流量,并将其转发至相关网络,反之亦然。GGSN 和 SGSN 共同构成 GPRS 支持节点 (GSN)。

GSN 对象:GTP ALG 维护一个 GSN 表。GSN 表中的每个 GSN 节点都会记录一个 GSN IP 地址(IPv4 或 IPv6)、GSN 重启计数器和基于 GSN 的速率限制计数器等。如果 GSN 节点同时具有 IPv4 和 IPv6 地址,则 GTP ALG 将生成两个 GSN 条目,一个用于 IPv4 地址,另一个用于 IPv6 地址,同一 GSN 节点中的两个 GSN 条目将独立计算速率限制信令消息,并单独老化。

GSN 重启:如果 GSN 重新启动,重新启动计数器将更改,相关隧道将被删除。例如,如果隧道上具有两个 IP 地址启用了 GSN 节点。则只有一个 IP 地址(IPv4 或 IPv6)找到 GSN 重启。同时包含两个 IP 地址的隧道将被移除,反之亦然。

路径对象管理

路径对象包含两个 GSN 地址,并且同时支持 IPv4 和 IPv6 地址。路径对象记录 GSN 地址之间的信息,例如消息计数器、最后时间等。对于同时具有 IPv4 和 IPv6 地址的 GSN,这两个地址具有各自独立的路径。每个路径都有自己的速率限制,并单独老化。

版本历史记录表
释放
描述
18.4R1
从 Junos OS 18.4R1 版开始,IPv6 地址支持 GPRS 隧道协议 (GTP) 流量安全检查以及现有 IPv4 支持。通过此增强功能,在 3G 中的服务 GPRS 支持节点 (SGSN) 或服务网关 (S-GW) 和服务网关 (S-GW) 与 3G 中的网关 GPRS 支持节点 (GGSN) 或 4G 中的 PDN 网关 (P-GW) 之间,为单个用户端点 (UE) 建立了一个使用 IPv4 和 IPv6 地址的 GTP 隧道。借助 IPv6 支持,GTP 应用层网关 (ALG) 可根据策略配置检测或忽略 IPv6 GTP 会话。IPv4 上的所有 ALG 功能在 IPv6 上均受支持。您可以根据策略配置检查 GTP 信令或通过 IPv6 传输的数据消息。
15.1X49-D40
从 Junos OS 15.1X49-D40 版和 Junos OS 17.3R1 版开始,中心点架构得到了增强。