[VPN] - Ⅱ 핵심 기술 완전 해부: 터널링 프로토콜부터 보안 효과까지

Cookie·2025년 8월 6일
post-thumbnail

2편에서는 VPN의 핵심 기술인 터널링 방식, 프로토콜의 구성, 암호화 알고리즘 등 기술적 구조를 분해하여 설명하고, 일상 적용하기 위해 보안성과 성능, 구현 편의성 간 균형을 어떻게 고려할지 파악하기 위한 내용을 다룸




☁️기술 심화 설명


터널링[Tunneling]

Tunneling은 공용 인터넷망 위에 암호화된 가상 통신 경로(터널)를 만들어 원본 데이터를 안전하게 전송하는 기술

  • 원본 데이터(패킷)은 캡슐화(Encapsulation)되어, 다른 프로토콜의 패킷 안에 삽입 되어 전송됨
  • 다중 캡슐화된 패킷은 외부에서 데이터 구조와 목적지가 노출되지 않으며, 패킷의 무결성과 기밀성이 유지됨
  • 네트워크 계층(OSI 3계층)과 전송 계층(OSI 4계층)을 모두 아우르며 다양한 프로토콜과 결합해 작동함

VPN은 접속 방식, 터널링 프로토콜, 통신 계층, 운용 주체 등 기준에 따라 다양한 종류로 나뉨

접속 방식으로 분류하면 Site to SiteClient to Site 방식으로, 터널링 프로토콜로 분류하면 PPTP, L2TP/IPSec, SSL/TLS로, 통신 계층으로 분류하면 L2, L3, L4기반으로 나눌 수 있음 또한 운용 주체에 따라 Core, CPE 기반으로도 나뉨


VPN 터널링에 사용된 프로토콜을 Tunneling Protocol이라 부름



터널링과 캡슐화

  • 위의 이미지 처럼 VPN에서 터널링과 캡슐화(그리고 암호화)는 떼어 낼 수 없는 요소




☁️주요 터널링 프로토콜 비교

PPTP

가장 오래된 터널링 방식 중 하나로 Point-to-Point Tunneling Protocol의 줄임말
Microsoft에서 개발한 초기 VPN Protocol(Windows 95부터 기본 탑재)

기존의 PPP(Point-to-Point Protocol) 위에 GRE(Generic Routing Encapsulation)을 이용해 터널링 수행

TCP 1723을 사용하며, 데이터는 GRE Protocol을 통해 전송됨


  • 인증 방식: MS-CHAPv2
  • 암호화 방식: MPPE(Microsoft Point-to-Point Encryption)
  • 터널링 방식: IP 패킷을 GRE로 캡슐화

현재는 암호화와 인증의 취약성으로 보안상 사용하지 않는 것을 권고함

기업 환경, 보안 환경에서는 OpenVPN, IKEv2, WireGuard 등으로 대체


🔹장점

항 목설 명
쉬운 설정대부분의 운영체제에서 기본 지원 → 클라이언트 설정이 간단함
속 도낮은 암호화 수준 덕분에 속도가 빠른 편
경 량프로토콜 자체가 가볍고 시스템 리소스를 덜 사용함

🔹단점 및 취약점

항 목설 명
암호화 취약MPPE 암호화는 보안성이 낮음
인증 취약MS-CHAPv2는 크래킹이 매우 쉬움 (이미 해킹 도구 다수 존재)
중간자 공격세션 키 복원 가능 → 트래픽 복호화 가능성 있음
방화벽 차단GRE 프로토콜을 사용하는 특성상 일부 NAT 환경이나 방화벽에서 비호환 발생 가능
무결성
검증 없음
패킷 위조에 대한 탐지가 어려움



IPSec VPN [L2TP/IPSec]

Site to Site(LAN to LAN) 또는 Client to Site 방식에서 널리 사용되는 보안 터널링 방식
L2TP는 단순히 데이터의 캡슐화를 담당하고, IPSec이 암호화와 인증을 제공함

기업 본사와 지점 간 네트워크 연결 및 원격접속 등에 주로 활용됨

L2TP(Layer 2 Tunneling Protocol)는 데이터링크 계증 기반 터널링 프로토콜로 자체 암호화 기능이 존재하지 않음
IPSec이 이를 보완하여 암호화(ESP)와 인증(AH)을 제공함

UDP 500(ISAKMP), UDP 1701(L2TP), UDP 4500(NAT-T)을 사용함


  • 인증 방식: 사전 공유기 (Pre-shared Key, PSK) 또는 디지털 인증서
  • 암호화 방식: AES, 3DES 등 대칭키 암호
  • 터널링 방식: L2TP로 데이터 캡슐화 후 IPSec으로 암호화 및 인증

L2TP/IPSec 자체는 안전하지만, PSK 관리 부실, 약한 암호 알고리즘 사용 시 취약해짐


🔹터널링 과정

  1. IKE Phase 1
    : 양측이 보안 매개변수(SA)와 키 교환, 인증 수행
  2. IKE Phase 2
    : 실제 데이터 전송에 사용할 IPSec SA 협상
  3. L2TP 캡슐화
    : PPP 프레임을 L2TP로 캡슐화
  4. IPSec 암호화
    : ESP로 데이터 암호화 및 무결성 보호
  5. 전송
    : 암호화된 패킷을 인터넷을 통해 전달, 수신 측은 역순 처리

🔹장점

항 목설 명
강력한 보안성IPSec 암호화, 인증으로 데이터의 기밀성·무결성 보장
범용성대부분 OS·네트워크 장비에서 기본 지원
안정적 성능하드웨어 암호화 지원 시 속도 저하 적음
NAT 호환UDP 4500(NAT-T)로 NAT 환경 지원

🔹단점 및 취약점

항 목설 명
복잡한 설정PSK, 인증서, 포트 등 구성 난이도가 높은 축에 속함
방화벽 영향IPSec 관현 포트 차단 시 연결 불가
성능 부하암호화·복호화 시 CPU 자원 사용
PSK 취약약한 PSK 사용 시 무차별 대입 공격 가능



SSL VPN [SSL/TLS]

Client to Site 방식으로, HTTPS 기반 SSL/TLS 암호화를 통해 안전한 통신 채널을 구축
웹 브라우저·전용 클라이언트를 이용해 방화벽·NAT 환경에서도 쉽게 연결 가능

재택근무, 모바일 접속, 외부 파트너사 원격 지원 등에 널리 사용

웹 브라우저 또는 전용 클라이언트를 통해 접속 가능하며 TCP 443(HTTPS) 사용으로 방화벽과 NAT 환경 호환성이 높음

SSL은 세션 암호화, 서버 인증, 무결성 검증을 제공하며 현재는 SSL보다 TLS(1.3/1.4)가 표준으로 사용됨


  • 인증 방식: ID/Password, OTP, 인증서, 토큰 등 다양함
  • 암호화 방식: AES, ChaCha20, RSA, ECDHE 등
  • 터널링 방식: SSL/TLS 세션 내에서 IP 패킷 또는 애플리케이션 데이터 전송

웹 기반 접근은 편리하지만, 클라이언트 단 보안 취약점·브라우저 취약점 이용 가능성이 존재


🔹터널링 과정

  1. TLS 핸드셰이크
    : 클라이언트·서버가 암호화 알고리즘·세션키 합의, 인증서 교환
  2. 세션 암호화
    : 합의된 대칭키로 통신 암호화
  3. 데이터 전송
    : 애플리케이션 데이터(IP 패킷 포함)를 암호화 채널로 전송
  4. 세션 종료
    : 통신 종료 시 세션키 폐기, 연결 해제

🔹장점

항 목설 명
접근 편의성브라우저 또는 전용 앱으로 바로 접속 가능
높은 호환성TCP 443 사용으로 방화벽·NAT 환경 우회 가능
강력한 보안최신 TLS와 강력한 암호 알고리즘 지원
다양한 인증MFA(다중 인증) 적용 용이

🔹단점 및 취약점

항 목설 명
클라이언트 보안 의존브라우저·OS와 같은 클라이언트 취약 시 위험
서버 부하암복호화 과정에서 CPU 사용량 증가
속도 저하TLS 특성상 연결 지연·오버헤드 발생
세션 하이재킹 위험세션 관리 부실 시 탈취 가능



통합 비교




☁️VPN의 보안 효과와 취약점


VPN이 제공하는 보안효과

🔹데이터 암호화와 기밀성

  • 데이터 암호화로 인한 기밀성 확보
    : VPN은 터널 내에서 데이터 패킷을 암호화해 전송하므로 네트워크 경로상에서 제 3자가 내용을 해복하기 어려움
      → 사용 알고리즘에 따라 AES-256, ChaCha20 등 강력한 대칭키 암호를 적용해 패킷의 기밀성을 보장함

🔹스니핑·중간자 공격 방지

  • 네트워크 스니핑 및 중간자 공격 방지
    : 공개 Wi-Fi 등 불특정 다수가 접근 가능한 네트워크 환경에서도 암호화 채널을 통해 스니핑·세션 파이재킹 위험을 줄임
    단, VPN 서버 자체가 침해되면 해당 보호 효과는 상실될 수 있음

🔹VPN과 Zero Trust

  • VPN과 Zero Trust 보안 모델의 관계
    : Zero Trust는 '네트워크 내부도 신뢰하지 않는다'는 원칙을 기반으로, 모든 연결을 지속 검증하고, VPN은 전송 경로 암호화를 제공하지만 사용자가 인증 후 내부 네트워크에 광범위하게 접근할 수 있게 하므로 Zero Trust 모델을 완전히 대체하지는 못함
      → 따라서 VPN은 Zero Trust 환경에서 '암호화 전송 채널' 역할로 제한적으로 활용하는것이 권장됨



VPN 취약점 및 보안 위협 사례

🔹프로토콜별 취약점

  • PPTP
    : MPPE·MS-CHAPv2 취약, 무차별 대입 공격 및 세션 키 복원 가능
  • L2TP/IPSec
    : 약한 PSK 사용 시 키 크래킹 가능, NAT 환경에서 설정 오류 발생 가능
  • SSL/TLS
    : 브라우저·클라이언트 취약점, 세션 하이재킹, Heartbleed(OpenSSL 취약점) 악용 가능

🔹설정 오류 문제

  • 암호화 알고리즘을 취약한 버전(DES, RC4 등)으로 설정하거나, 인증서 검증을 비활성화한 경우 공격자가 중간자(MITM) 위치에 침투 가능
  • 방화벽 규칙 미비·접근 제어 부재로 VPN 연결 후 불필요한 내부 시스템 노출 사례 다수 발생

🔹주요 공격 사례

  • 실제 공격 사례
    • 2019년 Fortinet SSL VPN 취약점(CVE-2018-13379) 악용
      : 인증 없이 세션 정보 탈취
    • 2020년 Pulse Secure VPN 취약점(CVE-2019-11510) 악용
      : 기업 내부망 침투 및 랜섬웨어 유포
    • 2021년 Colonial Pipeline 사건
      : VPN 계정 자격 증명 탈취로 원격 접근 후 OT 네트워크 침해




☁️VPN 사용 시 주의점

🔹익명성의 한계

  • VPN이 완전한 익명성을 보장할 수 없는 이유
    : VPN은 트래픽 경로를 암호화하고 IP를 저서 주소로 대체하지만, 서비스 제공자는 사용자의 실제 IP·로그를 보관할 수 있음
    또한, 브라우저 지문·쿠키·계정 로그인 정보 등 다른 식별 요소로 사용자가 추적될 수 있음

🔹로그·운영 국가·서버 위치 영향

  • 로그 정책
    : 노로그를 표방하더라도 법적 요구 시 데이터를 제공한 사례 존재
  • 운영 국가
    : 해당 국가의 데이터 보존법·정보 공개 법률 영향을 받음
  • 서버 위치
    : 물리적 서버가 위치한 국가의 법률·관할권 적용 가능

🔹무료 VPN 위험성

무료 서비스는 서버 운영·대역폭 비용을 보전하기 위해 광고 삽입, 사용자 데이터 판매, 악성 코드 포함 앱 배포 등 위험이 존재함

암호화 수준이 낮거나, 실제로 트래픽을 전혀 암호화하지 않는 가짜 VPN사례도 발견됨

profile
지식을 쌓기 위한 기록 저장소

0개의 댓글