이 페이지의
GPRS 소개
GPRS 개요
GPRS(General Packet Radio Service) 네트워크는 로밍 파트너, 기업 고객, GRX(GPRS Roaming Exchange) 프로바이더 및 공용 인터넷을 포함한 여러 외부 네트워크에 연결됩니다. GPRS 네트워크 오퍼레이터는 이러한 외부 네트워크로의 액세스를 제공하고 제어하면서 네트워크를 보호해야 하는 과제에 직면해 있습니다. 주니퍼 네트웍스는 GPRS 네트워크 운영자를 괴롭히는 많은 보안 문제에 대한 솔루션을 제공합니다.
GPRS 아키텍처에서 운영자의 네트워크에 대한 보안 위협의 근본 원인은 GPRS 터널링 프로토콜(GTP)에 내재된 보안 부족입니다. GTP는 GPRS 지원 노드(GSN) 간에 사용되는 프로토콜입니다. GTP는 개별 사용자 단말 장치(UES)와 서비스 게이트웨이(S-GW)와 4G의 PDN 게이트웨이(P-GW) 사이에 GTP 터널을 구축하는 데 사용됩니다. GTP 터널은 두 호스트가 데이터를 교환하는 GSN 간의 채널입니다. SGSN(S-GW)은 사용자 단말 장치로부터 패킷을 수신하고 GTP 터널을 통해 GGSN으로 전달하기 전에 GTP 헤더 내에서 패킷을 캡슐화합니다. GGSN이 패킷을 수신하면 패킷을 디캡슐화하고 외부 호스트로 전달합니다.
GTP는 인증, 데이터 무결성 또는 기밀 보호 기능을 제공하지 않기 때문에 서로 다른 GPRS 네트워크 간의 통신은 안전하지 않습니다. 로밍 파트너 간의 연결을 위한 IP 보안(IPsec)을 구현하고, 트래픽 속도 제한을 설정하고, Stateful Inspection을 사용하면 GTP의 보안 위험 대부분을 제거할 수 있습니다. Junos OS의 GTP 방화벽 기능은 이동통신사업자 네트워크의 주요 보안 문제를 해결합니다.
주니퍼 네트웍스 보안 장비는 다음과 같은 유형의 GPRS 인터페이스에 대한 다양한 공격을 완화합니다.
Gn—Gn 인터페이스는 동일한 PLMN(Public Land Mobile Network) 내에서 SGSN(SGSN)과 GGSN 간의 연결입니다.
S5 - S5 인터페이스는 4G 네트워크의 PLMN 내에서 S-GW와 P-GW 간의 연결입니다.
Gp—Gp 인터페이스는 2개의 PLMN 간의 연결입니다.
S8 -S8 인터페이스는 4G 네트워크에서 가정과 방문한 PLMN 간의 베어러 플레인 연결입니다.
Gi—Gi 인터페이스는 GGSN과 PLMN에 연결된 인터넷 또는 대상 네트워크 간의 연결입니다.
SGi - SGi 인터페이스는 4G 네트워크에서 PLMN에 연결된 P-GW와 인터넷 또는 대상 네트워크 간의 연결입니다.
이 용어 interface 는 Junos OS와 GPRS 기술에 서로 다른 의미를 줍니다. Junos OS에서 인터페이스는 트래픽이 존으로 들어오고 나갈 수 있는 보안 존으로 가는 출입구입니다. GPRS에서 인터페이스는 GPRS 인프라의 두 컴포넌트(예: SGSN(S-GW)와 GGSN(P-GW) 간의 연결 또는 참조점입니다.
Junos OS 릴리스 18.4R1부터 GPRS 터널링 프로토콜(GTP) 트래픽 보안 검사는 기존 IPv4 지원과 함께 IPv6 주소에서 지원됩니다. 이와 같은 개선 사항을 통해 3G의 Serving GPRS 지원 노드(SGSN) 또는 3G의 서비스 게이트웨이(S-GW)와 3G의 GGSN(Gateway GPRS Support Node) 또는 4G의 PDN 게이트웨이(P-GW) 사이에 IPv4 및 IPv6 주소를 사용하는 GTP 터널이 개별 사용자 엔드포인트(UES)에 설정됩니다. IPv6 지원을 통해 GTP ALG(Application Layer Gateway)는 정책 구성에 따라 IPv6 GTP 세션을 검사하거나 무시합니다. IPv4의 모든 ALG 기능은 IPv6에서 지원됩니다. 정책 구성에 따라 IPv6를 통해 전송되는 GTP 시그널링 또는 데이터 메시지를 검사할 수 있습니다.
이 항목에는 다음 섹션이 포함되어 있습니다.
Gp 및 Gn 인터페이스
SGSN(S-GW) 및 GGSN(P-GW)과 같은 코어 네트워크 자산을 보호하기 위해 Gn 인터페이스에 보안 장비를 구현할 수 있습니다. Gn 인터페이스에서 GTP 터널을 보호하기 위해 공통 PLMN 내에 SGSN(SGSN)과 P-GW(GGSN) 사이에 보안 장비를 배치해야 합니다.
Gp 인터페이스에 보안 디바이스를 구현하면 다른 PLMN으로부터 PLMN을 보호합니다. Gp 인터페이스에서 GTP 터널을 보호하기 위해 보안 장비 뒤에 PLMN의 SGSN(SGSN)과 P-GW(P-GW)를 배치하여 모든 트래픽이 방화벽을 통과하도록 합니다.
그림 1 은 Gp 및 Gn 인터페이스에서 PLMN을 보호하는 데 사용되는 주니퍼 네트웍스 SRX 시리즈 디바이스의 배치를 보여줍니다.
Gi 인터페이스
Gi 인터페이스에 보안 장비를 구현하면 여러 네트워크의 트래픽을 동시에 제어하고, 인터넷 및 외부 네트워크로부터 PLMN을 보호하며, 인터넷 및 기타 네트워크로부터 모바일 사용자를 보호할 수 있습니다. Junos OS는 많은 수의 가상 라우터를 제공하기 때문에 고객 네트워크당 하나의 가상 라우터를 사용할 수 있으며 이를 통해 각 고객 네트워크에 대한 트래픽을 분리할 수 있습니다.
보안 장비는 IPsec VPN(Virtual Private Network) 터널을 위한 L2TP(Layer 2 Tunneling Protocol)를 사용하여 인터넷 또는 대상 네트워크로 패킷을 안전하게 전달할 수 있습니다.
SRX 시리즈 디바이스는 전체 L2TP를 지원하지 않습니다.
그림 2 는 Gi 인터페이스에서 PLMN을 보호하기 위한 보안 장비의 구현을 보여주고 있습니다.
운영 모드
Junos OS는 GTP를 통해 두 가지 인터페이스 운영 모드( Transparent 모드 및 Route 모드)를 지원합니다. 보안 장비가 네트워크의 라우팅 인프라스트럭처에 참여하기를 원하는 경우 라우트 모드에서 실행할 수 있습니다. 이를 위해서는 일정 수준의 네트워크 재설계가 필요합니다. 또는 전체 네트워크를 재구성할 필요 없이 투명 모드로 기존 네트워크에 보안 장비를 구현할 수 있습니다. 투명 모드에서 보안 장비는 Layer 2 스위치 또는 브리지 역할을 하며 인터페이스의 IP 주소는 0.0.0.0으로 설정되어 보안 장치의 존재를 사용자에게 보이지 않거나 투명하게 만듭니다.
Junos OS는 GTP 검사를 지원하지 않는 인터페이스 및 정책에서 NAT를 지원합니다.
현재 Junos OS에서 루트 모드는 액티브/패시브 및 액티브/액티브 섀시 클러스터를 지원합니다. Transparent 모드는 액티브/패시브 전용을 지원합니다.
GTP 서비스 중 소프트웨어 업그레이드
GTP는 2개의 Junos OS 릴리스를 실행하는 2개의 SRX 시리즈 디바이스 간에 통합 ISSU(In-Service Software Upgrade)를 지원합니다. 통합 ISSU는 섀시 클러스터에서 수행되기 때문에 컨트롤 플레인에서 중단되지 않고 최소한의 트래픽 중단 없이 서로 다른 2개의 Junos OS 릴리스 간에 소프트웨어를 업그레이드할 수 있습니다.
SRX5400, SRX5600 및 SRX5800 디바이스에서 ISSU는 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을 통해 지원되지 않습니다.
중앙 지점 아키텍처에 대한 GTP 지원 이해
사용자 장비(예: 핸드폰)는 GPRS(General Packet Radio Service) 데이터 서비스를 위한 SGSN(Serving GPRS Support Node) 또는 S-GW(Serving Gateway)에 연결됩니다. SGSN(S-GW)은 게이트웨이 GPRS 지원 노드에 연결하여 인터넷에 액세스합니다. 사용자 장비는 SGSN에 인터넷 액세스를 위해 GGSN 또는 PDN 게이트웨이(PDN Gateway)에 대한 하나 또는 다수의 GPRS 터널링 프로토콜(GTP) 터널을 생성하도록 요청합니다. 사용자 장비가 새로운 위치로 이동하는 경우 사용자 장비는 다른 SGSN에 연결해야 합니다. 새로운 SGSN은 GGSN에 원래 터널의 새 SGSN 정보를 업데이트하도록 통보합니다.
GTP ALG(Application Layer Gateway)는 터널의 상태를 유지하고 기존 터널에 대해서만 터널 업데이트 요청 패킷을 허용합니다. 사용자 장비가 새로운 위치로 이동하고 다른 SGSN에 연결되면 새 SGSN 정보가 원래 터널에서 업데이트되어야 합니다. 몇 가지 GTP-C 메시지가 양방향이며 SGSN 또는 GGSN이 메시지를 보낼 수 있기 때문에 올바른 세션 배포가 보장되지 않습니다. 즉, 첫 번째 패킷이 알 수 없는 방향에서 시작된 경우 GTP ALG는 세션 생성을 중지합니다. 이 경우 첫 번째 패킷과 다른 보류 중인 패킷은 드롭됩니다.
GTP-C 패킷이 끊기는 것을 방지하기 위해 새로운 플로우 세션이 생성되고 GGSN 또는 SGSN 방향이 결정되지 않은 경우에도 GTP-C 트래픽이 통과하도록 허용됩니다. 나중에 GGSN IP는 올바른 SPU를 사용하여 플로우 세션을 생성하는 것으로 결정됩니다. 그렇지 않으면 세션이 지정된 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 메시지의 플러딩으로부터 보호합니다.
각기 다른 터널의 GTP-C 및 GTP-U 트래픽이 서로 다른 SPU에 분산되는 터널 기반 세션 분산으로 전환함으로써 모든 SPU에서 GGSN 및 SGSN 쌍으로 처리되는 GTP-C 및 GTP-U 트래픽을 분산합니다.
enable-gtpu-distribution
명령을 사용하여 GTP-C 또는 GTP-U 세션 배포를 활성화합니다.
GTP 터널 관리
GTP는 개별 사용자 단말 장치(UES)를 위한 GTP 터널과 SGSN(Serving GPRS Support Node) 및 GGSN(Gateway GPRS Support Node) 사이에 GTP 터널을 구축하는 데 사용됩니다. GTP 터널은 두 호스트가 데이터를 교환하는 GSN 간의 채널입니다. SGSN은 사용자 단말 장치(UES)에서 패킷을 수신하고 GTP 터널을 통해 GGSN으로 전달하기 전에 GTP 헤더 내에서 패킷을 캡슐화합니다. GGSN이 패킷을 수신하면 패킷을 디캡슐화하고 외부 호스트로 전달합니다.
터널 객체: 클라이언트 엔드포인트에는 다운스트림 GSN(SGSN)에 대한 정보가 포함되어 있으며, 서버 단말 장치는 업스트림 GSN(GGSN)에 대한 정보를 보유합니다. 각 터널 엔드포인트는 IPv4 주소와 IPv6 주소용 필드를 예약합니다. 터널 엔드포인트는 터널 생성 또는 업데이트 메시지에서 학습한 주소를 저장합니다.
리다이렉트 엔트리: 리다이렉트 엔트리(리다이렉트 터널이라고도 함)가 설치되어 앵커 SPU를 찾는 데 도움을 줍니다. 리다이렉트 엔드포인트는 일반 GTP 터널의 생성을 통해 생성됩니다. 리디렉션 엔트리는 하나의 터널 엔드포인트에 매핑되며 터널에서 IP 주소(es), TEID 값 및 앵커 SPU ID를 복사합니다. IPv6 터널 지원을 통해 리디렉션 항목이 터널 객체처럼 확장됩니다.
GSN
게이트웨이 GPRS 지원 노드(GGSN) 또는 P-GW(PDN Gateway)는 서비스 게이트웨이 GPRS 지원 노드(SGSN)를 통해 모바일 사용자의 수신 데이터 트래픽을 변환하여 관련 네트워크로 전달합니다. GGSN과 SGSN이 함께 GPRS 지원 노드(GSN)를 형성합니다.
GSN 객체: GTP ALG는 GSN 테이블을 유지합니다. GSN 테이블의 각 GSN 노드는 하나의 GSN IP 주소(IPv4 또는 IPv6), GSN 재시작 카운터 및 GSN 기반 속도 제한 카운터 등을 기록합니다. GSN 노드에 IPv4 및 IPv6 주소가 모두 있는 경우, GTP ALG는 2개의 GSN 엔트리, 하나는 IPv4 주소, 다른 하나는 IPv6 주소, 동일한 GSN 노드에 있는 2개의 GSN 엔트리를 생성하며, 동일한 GSN 노드에 있는 2개의 GSN 엔트리는 독립적으로 속도 제한 시그널링 메시지를 계산하며 나이는 별도로 제외됩니다.
GSN 재부팅: GSN이 재부팅되면 재시작 카운터가 변경되고 관련 터널이 삭제됩니다. 예를 들어 GSN 노드가 터널에서 2개의 IP 주소로 활성화된 경우를 예로 들어 보겠습니다. 그런 다음 GSN 재시작은 단 하나의 IP 주소(IPv4 또는 IPv6)로만 이루어집니다. 두 IP 주소가 모두 있는 터널은 제거되며 그 반대의 경우도 마찬가지입니다.
경로 객체 관리
경로 객체는 2개의 GSN 주소를 포함하고 있으며 IPv4 및 IPv6 주소를 모두 지원합니다. 경로 객체는 메시지 카운터, 마지막 시간 등과 같은 GSN 주소 간의 정보를 기록합니다. IPv4 및 IPv6 주소가 모두 있는 GSN의 경우 두 주소가 분리된 경로가 있습니다. 각 경로는 고유의 속도 제한을 수행하며, 나이는 별도로 적용됩니다.