GPRS Tunneling Protocol (GTP) Security

Mobile Network Operators use the GPRS Tunneling Protocol (GTP) on various interfaces in Roaming, Radio Access Network, and within the packet core in 3G and 4G networks to carry general packet radio service (GPRS). GTP allows mobile subscribers to use their phones (user equipment) to maintain a connection to a Packet Data Network (PDN) for internet access while on the move. The protocol uses tunnels to allow two GPRS support nodes (GSNs) to communicate over a GTP-based interface and separate traffic into different communication flows. GTP creates, modifies, and deletes tunnels for transporting IP payloads between the user equipment, the GPRS support nodes (GSNs) in the GPRS backbone network and the internet.
GTP comprises of three types of traffic—control plane (GTP-C), user plane (GTP-U) and charging (GTP’ derived from GTP-C) traffic. Enabling GTP Security on the Palo Alto Networks firewall allows you to statefully inspect, validate, filter, and perform security checks on GTPv2-C, GTPv1-C and GTP-U protocol messages.
Starting with PAN-OS 8.0.4, GTP Security is supported on all VM-Series firewalls and on the PA-5200 Series firewalls. Palo Alto Networks firewalls support the GTP specifications in 3GPP TS 29.274 release 11.10.
Use the following workflow to enable stateful inspection and protocol validation for GTPv1-C, GTPv2-C, and GTP-U traffic. In addition, you can configure the firewall to inspect GTP-U content, filter GTP outer sessions based on APN, IMSI-Prefix and RAT, and enable overbilling protection for mobile subscribers.
Firewalls securing GTP traffic can be deployed in an active/passive HA; active/active HA is not supported.
  1. Enable GTP Security.
    1. Log in to the firewall web interface.
    2. Select DeviceSetupManagementGeneral Settings.
    3. Select GTP Security.
    When you enable GTP Security, the options for configuring and monitoring GTP traffic become available on the firewall.
  2. Create a GTP Protection profile to inspect GTP traffic.
    1. Select ObjectsSecurity ProfilesGTP Protection and Add a new profile.
    2. Give the profile group a descriptive Name.
    3. If the firewall is in Multiple Virtual System Mode, enable the profile to be Shared by all virtual systems.
    4. Set up GTP Protection Profile for the GTP version(s) you want to inspect and configure the available options for filtering, overbilling protection, and the logging GTP messages for your compliance and troubleshooting needs.
  3. Allow GTP traffic on your network.
    1. Select PoliciesSecurity and click Add.
    2. Enter a descriptive Name for the rule in the General tab.
    3. In the Source tab, set the Source Zone.
    4. In the Destination tab, set the Destination Zone.
      As a best practice, restrict access to specific components in the EPC network; consider using address objects in the Destination Address field to enable access to specific IP addresses.
    5. In the Applications tab, Add the applications that correspond to the network services you want to safely enable. For example, select gtp-v1, gtp-v2, gtp-u. Make sure to select the applications you enabled for inspection in the GTP Protection profile.
    6. In the Service/URL Category tab, keep the Service set to application-default.
    7. In the Actions tab, set the Action Setting to Allow.
    8. Attach the GTP Protection profile to the Security policy rule. Select Profiles as the Profile Type and select the GTP inspection profile you set up earlier.
    9. Verify that Log at Session End is enabled. GTP session start and GTP session end events are logged only when you enable log at session start and end in a Security policy rule. The session start and session end logs are available under MonitorGTP Logs. All other GTP events are logged based on the settings you enabled in the GTP protection profile and are also available under MonitorGTP Logs.
      By default, the log storage quota for GTP is 2% of the total log storage capacity for the firewall model. Because GTP logs are high volume, increase the log quota or set up log forwarding to an external server.
    10. Click OK.
      gtp_security_policy.png
    11. Commit your policies to the running configuration on the firewall.
  4. (Optional) Block GTP-v0 traffic in to your network. Add a Security policy rule to deny application gtp-v0.
    3GPP recommends that a GTPv2 or GTPv1 entity that listens to the GTPv0 port should silently discard any GTPv0 messages it receives. 3GPP Rel-8 GTPv1 specification removed support for GTPv1 to GTPv0 interworking, hence the Palo Alto Networks firewall does not support stateful inspection of GTPv0 traffic.
    deny_gtpv0.png
  5. Monitor GTP traffic to verify that you have set up GTP inspection effectively for your visibility and logging needs.

Related Documentation