Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

监控 GTP 流量

GPRS 通道协议 (GTP) 在服务网关 GPRS 支持节点 (SGSN) 和网关 GPRS 支持节点 (GGSN) 与 SGSN 和移动管理实体 (MME) 之间为用户设备建立 GTP 通道。SGSN 从用户设备接收数据包,并封装在 GTP 标头中,然后再通过 GTP 通道将其转发至 GGSN。当 GGSN 接收数据包时,它会解封数据包,并转发至外部主机。

了解 GTP-U 检测

GPRS 通道协议用户平面 (GTP-U) 检测对 GTP-U 数据包执行安全检查。启用 GTP-U 检测后,无效的 GTP-U 数据包将被阻止,并且 GPRS 支持节点 (GSN) 受到保护,免遭 GTP-U 攻击。

启用 GTP-U 检测后,根据设备配置,GTP-U 检查可能包括检查 GTP-in-GTP 数据包、最终用户授权、数据包顺序有效性和隧道有效性。如果任何配置的检查失败,GTP-U 数据包将丢弃。

如果在禁用 GTP-U 分配时启用 GTP-U 检测,则显示以下消息:强烈建议当您启用 GTP-U 检测时,也启用 GTP-U inspection is enabled, please enable GTP-U distribution to ensure that GTP-U packets are inspected by the proper inspectors, and avoid dropping GTP-U packets wrongly. Execute CLI “set security forwarding-process application-services enable-gtpu-distribution" to enable GTP-U distribution. GTP-U 分配。

从 Junos OS 15.1X49-D100 和 Junos OS 版本 17.3R1 开始,在 SRX5400、SRX5600 和 SRX5800 设备上,如果配置了 GTP 配置文件,GTP 模块将选择锚点 SPU 来分发端口 2123 和 2152 上的 UDP 流量。如果不配置 GTP 配置文件,GTP 模块将不起作用,并且不会为端口 2123 和 2152 上的 UDP 流量选择锚点 SPU。

以下列表介绍了对流量执行的各种类型的 GTP-U 检测:

  • GTP-U tunnel check—GTP-U 模块检查 GTP-U 数据包是否与 GTP 通道匹配。如果没有隧道与 GTP-U 数据包匹配,则 GTP-U 数据包将丢弃。

  • GTP-in-GTP check— 在 SPU 中,GTP 模块检查以确保 GTP-U 有效负载不是 GTP 数据包。如果有效负载是 GTP 数据包,则 GTP 数据包将丢弃。

  • End-user address check— 如果为 GTP-U 数据包发现用户隧道,则 GTP-U 模块会检查最终用户地址。如果 GTP-U 有效负载地址与最终用户地址不匹配,则 GTP-U 数据包将丢弃。

    从 Junos OS 15.1X49-D40 Junos OS和17.3R1开始,在某些情况下,最终用户地址不会在 GTP 创建消息中传输。例如,如果使用 DHCPv4 进行 IPv4 地址分配,GTP 创建消息的 IPv4 地址字段将设置为 0.0.0.0 。用户设备和 GGSN/PGW 从 DHCP 服务器获取地址。在这种情况下,GTP 模块无法获取最终用户地址检查的地址。因此,如果启用此配置,GTP 创建消息将被丢弃。

  • Sequence number check— GTP-U 模块将 GTP-U 数据包序列号与 GTP-U 通道中存储的序列号进行比较。如果未指定范围,则 GTP-U 数据包将丢弃。如果范围为 ,则 GTP-U 隧道将刷新序列号并允许 GTP-U 数据包通过。

在 GTP-U 检测结束时,GTP-U 隧道刷新定时器和计数器。

了解 GTP 隧道增强功能

GPRS 通道协议 (GTP) 通道是两个 GPRS 支持节点之间的通道,两个主机通过它交换数据。GTP 通道由 GTP 控制平面 (GTP-C) 和 GTP 用户平面 (GTP-U) 组成。GTP-C 用于在网关 GPRS 支持节点 (GGSN) 和服务的 GPRS 支持节点 (SGSN) 之间发出信号,而 GTP-U 通道用于跨多个信号接口封装和路由用户平面流量。

GTP 处理得到增强,可更新 GTP 通道和会话生存期,以避免 GTP 通道超时问题。GTP 通道超时值在 GTP 配置文件中配置,并绑定到 GTP 用户平面 (GTP-U) 通道。当数据信息流到达 GTP-U 隧道时,计时器值刷新,而当 GTP-U 隧道处于空闲状态时,定时器值将减少。当计时器值降低为零时,GTP-U 通道将被删除,而当与 GTP-C 隧道绑定的所有 GTP-U 隧道都删除时,相应的 GTP-C 通道也被删除。

禁用 GTP-U 检测时,即使数据信息流跨隧道传输,数据流量在定时器值到期且所有 GTP 隧道超时后,也无法刷新 GTP-U 隧道。在这种情况下,由于 GTP 隧道需要更新,因此设备会丢弃更新请求,因为不存在 GTP-U 隧道。

为避免 GTP 通道超时问题,即使禁用 GTP 用户验证,GTP-U 流量也可刷新 GTP 通道。GTP-U 流量只能刷新 GTPv1 和 GTPv2 隧道,而不是 GTPv0 隧道。您需要配置 set security forwarding-process application-services enable-gtpu-distribution 命令,以避免 GTP 隧道老化或到期。

GTP-U 隧道具有会话连接标志,扫描 GTP-U 隧道时,检查该标记。如果隧道中存在会话附加标志,则计时器值不会降低,并且可以防止隧道在运行期间被删除。

在 SRX5400、SRX5600 和 SRX5800 设备上,每个 SPU 支持的 GTP 隧道数从 200,000 个隧道增加到每个 SPU 600,000 个隧道,每个 SPC2 卡总共 2,400,000 个隧道。

了解 GTP 消息中的 IP 地址验证

Gp 或 S8 接口上的 GPRS 通道协议 (GTP) 消息中的 IP 地址经过配置 IP 组列表验证,以防止攻击。IP 组列表是属于各种网络设备的 IP 地址列表。您必须配置属于 IP 组列表中的网络设备的 IP 地址。

S8 - 此接口连接访问的 PLMN (VPLM) 中的 SGW 和家用 PLMN (HPLMN) 中的 PGW。S8 是 S5 的 PLMN 间变体。S8 接口等同于 3G 移动网络的 Gp 接口。

GTP 防火墙可确定 GTP 消息中的 IP 地址是否与配置的 IP 组列表匹配,然后执行以下操作:

  • 如果 IP 地址在 IP 组列表中找到,GTP 消息被视为有效并转发至数据包和转发引擎。

  • 如果 IP 组列表中未找到 IP 地址,将丢弃 GTP 消息。

GTP 消息中的 IP 组设置

IP 组是属于各种网络设备的 IP 地址列表。IP 组名称在 GTP 配置文件中引用。GTP 防火墙在表 2 和表 3中提及的 GPRS 隧道协议 (GTP) 消息中应用已配置的策略。

例如,图 1中的客户端和服务器之间的流量配置了两个策略。

  • GTP Policy Out 用于从客户端到服务器的流量。

  • GTP Policy In 用于服务器到客户端的流量。

图 1:传入和传出 GTP 消息的 GTP 配置文件 GTP Profile for incoming and outgoing GTP messages

客户端和服务器的所有 IP 地址都必须在 IP 组列表中配置,并绑定到 和 GTP Policy Out GTP Policy In 策略。

不同 IP 地址引入了两类不同类型的组。一个用于 NE IP 地址组,另一个用于表 1 中列出的用户设备 (UE) IP 地址组

表 1:各种网络的网络设备和用户设备 IP 地址支持

网络类型

网络设备 IP 地址

用户设备 IP 地址

2G (GPRS) 和 3G (UMTS)

RNC、SGSN 和 GGSN

最终用户地址

4G (LTE)

eNodeB、MME、SGW 和 PGW

PDN 地址分配 (PAA)

当 GTP 消息进入消息处理阶段时,网络设备 IP 地址组和用户设备 IP 地址组将分别基于解析的信息元素和 IP 地址标头信息进行验证。

  • 网络设备 IP 地址组:将 GTP 消息中的 IP 地址标头和信息元素 IP 地址与配置的网络设备 IP 地址组列表(如果存在)进行比较。如果配置的 NE IP 地址组中已找到 NE IP 地址,将数据包传递至 UE IP 地址组,否则将丢弃数据包。

  • 用户设备 IP 地址组:所有最终用户 IP 地址均按配置的用户设备 IP 地址组列表进行验证。如果在配置的用户设备 IP 地址组中发现用户设备 IP 地址,则传递数据包以其他方式丢弃数据包。

支持的 GTP 消息

通过 Gp 或 S8 接口的消息类型有很多,支持的一些 GTP 消息如下。

表 2:GTPv0消息

消息类型

GTP 消息

TS 29.060 中的参考

1

回应请求

7.4.1

2

回应响应

7.4.2

16

创建 PDP 上下文请求

7.5.1

17

创建 PDP 上下文响应

7.5.2

18

更新 PDP 上下文请求

7.5.3

19

更新 PDP 上下文响应

7.5.4

20

删除 PDP 上下文请求

7.5.5

21

删除 PDP 上下文响应

7.5.6

22

创建 AA PDP 上下文请求

7.5.7

23

创建 AA PDP 上下文响应

7.5.8

24

删除 AA PDP 上下文请求

7.5.9

25

删除 AA PDP 上下文响应

7.5.10

表 3:GTPv1消息

消息类型

GTP 消息

TS 29.060 中的参考

1

回应请求

7.2.1

2

回应响应

7.2.2

16

创建 PDP 上下文请求

7.3.1

17

创建 PDP 上下文响应

7.3.2

18

更新 PDP 上下文请求

7.3.3

19

更新 PDP 上下文响应

7.3.4

20

删除 PDP 上下文请求

7.3.5

21

删除 PDP 上下文响应

7.3.6

表 4:GTPv2消息

消息类型

GTP 消息

参考 3GPP TS 29.274

1

回应请求

23.007

2

回应响应

23.007

32

创建会话请求

29.274

33

创建会话响应

29.274

36

删除会话请求

29.274

37

删除会话响应

29.274

34

修改承载请求

29.274

35

修改承载响应

29.274

95

创建承载请求

29.274

96

创建承载响应

29.274

97

更新承载请求

29.274

98

更新承载响应

29.274

99

删除承载请求

29.274

100

删除承载响应

29.274

IP 有效性涉及的 IES

以下是属于 3GPP Gp 或 S8 接口的信息元素 (IE) 消息。

在 Gp 或 S8 接口上配置了 IE,如果消息中出现了意外 IE,即使它是 NE IP 地址,它也可以忽略且不会检查。

表 5:GTPv0消息中的 IES

GTP 消息

地址类型

IE 类型

创建 PDP 上下文请求 创建 AA PDP 上下文请求

最终用户地址 SGSN 地址,用于为 用户信息流信令 SGSN 地址

最终用户地址 GSN 地址 GSN 地址

创建 PDP 上下文响应 创建 AA PDP 上下文响应

最终用户地址 GGSN 地址,用于为 用户信息流信令 GGSN 地址

最终用户地址 GSN 地址 GSN 地址

更新 PDP 上下文请求

信号发送用户信息流 SGSN 地址的 SGSN 地址

GSN 地址 GSN 地址

更新 PDP 上下文响应

GGSN 信号处理 用户信息流 GGSN 地址的地址

GSN 地址 GSN 地址

表 6:GTPv1消息

GTP 消息

地址类型

IE 类型

创建 PDP 上下文请求

最终用户地址 SGSN 地址,用于为 用户信息流信令 SGSN 地址

最终用户地址 GSN 地址 GSN 地址

创建 PDP 上下文响应

最终用户地址 GGSN 地址,用于为用户信息流信令 GGSN 地址 用于控制平面的替代 GGSN 地址 用户信息流的替代 GGSN 地址

最终用户地址 GSN 地址 GSN 地址 GSN 地址 GSN 地址

更新 PDP 上下文请求(SGSN 已启动)

用于为用户信息流发送 SGSN 地址信令的 SGSN 地址 用于控制平面的替代 SGSN 地址 用户信息流的替代 SGSN 地址

GSN 地址 GSN 地址 GSN 地址 GSN 地址

更新 PDP 上下文请求(GGSN 已启动)

最终用户地址

最终用户地址

更新 PDP 上下文响应(按 GGSN)

用于为用户信息流信号发送 GGSN 地址 的 GGSN 地址 用于控制平面的替代 GGSN 地址 用户信息流的替代 GGSN 地址

GSN 地址 GSN 地址 GSN 地址 GSN 地址

更新 PDP 上下文响应(通过 SGSN)

用户流量的 SGSN 地址

GSN 地址

表 7:GTPv2消息

GTP 消息/承载环境

地址类型

IE 类型

创建会话请求

控制平面 PDN 地址分配 H(e)的发送方地址 NB 本地 IP 地址 MME/S4-SGSN 标识符

F-TEID PAA IP 地址 IP 地址

创建会话请求(要创建的承载环境)

S5/S8-U SGW F-TEID

F-TEID

创建会话响应

用于控制平面接口 PDN 地址分配的 PGW S5/S8 F-TEID

F-TEID PAA

创建会话响应(要创建的承载环境)

S5/S8-U PGW F-TEID

F-TEID

创建承载请求(承载上下文)

S5/8-U PGW F-TEID

F-TEID

创建承载响应

MME/S4-SGSN 标识符

IP 地址

创建承载响应(承载环境)

S5/8-U SGW F-TEID S5/8-U PGW F-TEID

F-TEID F-TEID

修改承载请求

控制平面 H(e)的发送方地址 NB 本地 IP 地址 MME/S4-SGSN 标识符

F-TEID IP 地址 IP 地址

修改承载请求(承载上下文)

S5/8-U SGW F-TEID

F-TEID

删除会话请求

控制平面的发件人地址

F-TEID

删除承载响应

MME/S4-SGSN 标识符

IP 地址

更新承载响应

MME/S4-SGSN 标识符

IP 地址

示例:配置 GTP 消息中的 IP 地址的有效性

此示例说明了如何在 GPRS 隧道协议 (GTP) 消息中配置 IP 地址的有效性。

要求

带 Junos OS 或19.3R1的 SRX 系列设备。本配置示例在版本Junos OS测试19.3R1。

此示例具有以下硬件和软件组件:

  • 您需要任何一个 SRX1500、SRX4100、SRX4200、SRX5400、SRX5600、SRX5800 和 vSRX 实例。

  • 需要连接到互联网的用户设备。您还需要一个 3G 或 4G 移动核心网络以及一个家庭访问的网络。

概述

此示例将配置 GPRS 隧道协议 (GTP) 消息中的 IP 地址的有效性。

您可以针对 IP 组列表中配置的 IP 地址验证 GTP 消息中传入和传出数据包的 IP 地址,以防止各种攻击。IP 组是属于各种网络设备的 IP 地址列表。IP 组名称在 GTP 配置文件中引用。GTP 防火墙在 GPRS 隧道协议 (GTP) 消息中的传入和传出 IP 地址中应用配置的策略。

在 GTP 消息中配置 IP 地址

CLI快速配置

要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

程序

CLI快速配置

要配置 GTP 消息中的 IP 地址,

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI 用户 指南 中的 在配置模式下CLI 编辑器

逐步过程
  1. 配置 GTP 配置文件以处理进入 GTP 防火墙的流量。

  2. 配置安全区域,以支持所连接的所有接口的所有系统服务的入站和出站流量。

  3. 在全局地址簿中指定 IP 地址,这些 IP 地址用于验证传入或传出 GTP 消息中的 IP 地址。

  4. 将定义的网络设备和用户设备 IP 地址组配置为 IP 组列表,此 IP 组列表用于 GTP 消息。

  5. 将 GTP 配置文件应用于网络设备和用户设备组。

  6. 在安全策略中启用 GTP 服务。

结果

在配置模式下,输入 命令以确认 show security gprs 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

在配置模式下,输入 命令以确认 show security zones 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

在配置模式下,输入 命令以确认 show security address-book 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

在配置模式下,输入 命令以确认 show security policies 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

如果完成设备配置,请从配置 commit 模式输入 。

验证

要确认配置工作正常,请执行以下任务:

验证 IP 组

目的

验证 IP 组已配置。

行动

使用 show security gprs gtp ip-group 命令获取所配置 IP 组的详细信息。

验证 GTP 配置文件

目的

验证 GTP 配置文件已配置。

行动

使用 show security gprs gtp configuration 1 命令获取所配置 IP 组的详细信息。

版本历史记录表
释放
描述
15.1X49-D40
从 Junos OS 15.1X49-D40和 Junos OS 版本17.3R1开始,在某些情况下,最终用户地址不会在 GTP 创建消息中传输。
15.1X49-D100
从 Junos OS 15.1X49-D100 和 Junos OS 版本 17.3R1 开始,在 SRX5400、SRX5600 和 SRX5800 设备上,如果配置了 GTP 配置文件,GTP 模块将选择锚点 SPU 来分发端口 2123 和 2152 上的 UDP 流量。如果不配置 GTP 配置文件,GTP 模块将不起作用,并且不会为端口 2123 和 2152 上的 UDP 流量选择锚点 SPU。