CS/네트워크

터널링, VPN 터널링

D_Helloper 2023. 3. 26. 20:01

네트워크 터널링

 

연결해야 할 두 지점 간에 마치 터널이 뚫린 것처럼 통로를 생성하는 것.

패킷 내에 터널링할 대상을 캡슐화 시켜 목적지까지 전송

  • 데이터 스트림을 가상의 파이프를 통해 전달시키는 기술
  • 인터넷을 사적이고 안전한 네트워크의 일부로 사용하게 하는 기술
  • 경유지를 통하지 않고 두 지점을 바로 연결하게 함
  • 터널링 되는 데이터를 페이로드(Payload)라고 부르며 터널링 구간에서 페이로드는 전송되는 데이터로만 취급, 내용이 변하지 않음

 

VPN 터널링 기법

PPTP(Point to Point Tunneling Protocol)

  • MS사에서 개발한 패킷 전송 프로토콜
  • RFC 2637이라는 기술 문서를 통해 표준화 규격이 발표됨
  • IP를 통과하는 모든 패킷을 암호화하기 때문에 모든 운영체제에서 사용이 가능

PPTP의 구성 체계

  • Server-Client 구성 체계를 따름
  • Server Side를 PPTP Network Server(PNS)라고 부름
  • Client Side를 PPTP Access Concentrator(PAC)라고 부름
  • 사용자가 접속하는 노트북, 스마트폰과 같은 단말기가 PAC에 해당

 

PPTP의 작동 방식

  • Point-to-Point(PPP)에서 제공하는 기능을 그대로 사용
  • 연결 될 때, 연결을 유지하고 해제하는 과정, 캡슐화를 비롯해 사용자 인증 역시 PPP와 동일
  • 패킷이 터널을 이용해 전송된다는 것이 다름

 

  1. 서버-클라이언트 연결
  2. TCP 1723번 포트에서 PPTP 제어용 세션 생성
  3. 데이터를 PPP를 이용해 IP 캡슐화
  4. 제어 및 데이터가 각 TCP, IP에 실림

 

PPTP의 장점

  • 모든 운영 체제에서 사용 가능
  • VPN 프로토콜 설정이 간단함
  • 높은 수준의 암호화가 필요하지 않은 경우 속도가 가장 빠름

 

PPTP의 단점

  • 128 비트 암호화를 사용하기 때문에 위험에 쉽게 노출됨
  • ISP에서 1723번 포트를 차단하는 경우가 있음

 

L2TP/IPSec

  • PPTP 프로토콜과 L2F(Level 2 Forwarding Protocol)이 결합된 형태를 가지고 있음
  • 자체적인 암호화 기능이 없기 때문에 IPSec이라는 보안 기술과 함께 사용하는 것이 일반적

 

L2TP의 구성 체계

  • 기본적으로 PPTP방식을 따르기 때문에 Server-Client 통신 방식은 유사
  • UDP 500번 포트를 사용해 통신
  • NAT방식을 사용한 방화벽에 쉽게 차단될 수 있지만, 설정이 쉽고 간단

 

L2TP의 장점

  • 모든 운영 체제에서 사용 가능
  • 높은 보안성
  • 설치 및 설정이 간단

 

L2TP의 단점

  • OpenVPN보다 속도가 느림
  • UDP 500번 포트로 인해 방화벽 사용 시 포트포워딩 필요
  • NSA가 암호를 해독할 가능성 있음

 

OpenVPN

  • 오픈 소스 기반의 VPN 기술
  • SSLv3/TLSv1 프로토콜과 OpenSSL 라이브러리를 결합한 방식
  • 대부분의 환경에서 안정적이고 빠른 속도를 보여주지만 설정이 까다로움
  • 오픈 소스 기술이기 때문에 개인 VPN 서버를 구축해서 사용할 수 있음

 

OpenVPN의 보안성

  • OpenVPN만의 장점으로는 다양하고 강력한 암호화 알고리즘을 지원

 

OpenVPN의 속도

  • 현재 대부분의 VPN 서비스에서 지원하는 만큼 범용적으로 사용되고 있음
  • 속도 측면에서도 가장 빠른 방법 중 하나로 평가되고 있음

 

OpenVPN의 장점

  • 대부분의 방화벽을 우회할 수 있음
  • 오픈 소스
  • 모든 소스코드가 공개되어 있음
  • 백도어 사전 탐지 가능
  • 다양한 암호화 알고리즘 지원

 

OpenVPN의 단점

  • 설정 방법이 까다로울 수 있음
  • 서드파티 소프트웨어 필요