공용 네트워크를 통해 안전한 사설 네트워크 연결을 제공
- 암호화된 터널
- 안전한 원격 접속
- 지리적 제약 우회
VPN 없이:
Client ──────────> Server
인터넷 (평문)
누구나 볼 수 있음 ✘
VPN 사용:
Client ──[암호화 터널]──> VPN Server ──> Server
누구도 볼 수 없음 ✔
1. 캡슐화 (Encapsulation):
원본 패킷을 암호화하여 새 패킷으로 감쌈
원본: [IP Header | Data]
↓ 암호화
VPN: [New IP | VPN Header | [Encrypted Original Packet]]
2. 전송:
암호화된 패킷을 인터넷으로 전송
3. 역캡슐화 (Decapsulation):
VPN 서버가 암호화 해제
원본 패킷 복원
1. 인증 (Authentication):
Client → VPN Server
사용자명/비밀번호, 인증서
2. 키 교환 (Key Exchange):
암호화 키 생성 및 교환
보안 채널 수립
3. 터널 생성 (Tunnel Establishment):
암호화된 터널 생성
가상 IP 할당
4. 데이터 전송:
모든 트래픽이 터널을 통해 전송
암호화/복호화 자동
5. 종료:
세션 종료
터널 닫힘
가장 오래된 VPN 프로토콜
특징:
- 포트: TCP 1723
- 암호화: MPPE (약함)
- 빠른 속도
- 설정 간단
장점:
✔ 빠름
✔ 널리 지원
✔ 간단한 설정
단점:
✘ 약한 보안 (취약점 많음)
✘ 방화벽 차단 쉬움
권장: 사용 안 함 ✘
L2TP (Layer 2 Tunneling Protocol)
+ IPsec (Internet Protocol Security)
특징:
- 포트: UDP 500, 1701, 4500
- 암호화: IPsec (AES)
- 이중 캡슐화 (느림)
장점:
✔ 강력한 암호화
✔ 널리 지원
✔ 안정적
단점:
✘ 느린 속도 (이중 캡슐화)
✘ 방화벽 통과 어려움
사용:
- 기업 VPN
오픈소스 VPN 프로토콜
특징:
- 포트: UDP 1194 또는 TCP 443
- 암호화: OpenSSL (AES-256)
- 매우 안전
- 유연한 설정
장점:
✔ 강력한 보안
✔ 오픈소스
✔ 방화벽 우회 쉬움
✔ 크로스 플랫폼
단점:
✘ 클라이언트 소프트웨어 필요
✘ 설정 복잡
사용:
- 개인 VPN (추천) ✔
- 기업 VPN
Internet Key Exchange version 2
특징:
- 포트: UDP 500, 4500
- 암호화: IPsec (AES)
- 빠른 재연결
- 모바일 친화적
장점:
✔ 빠른 속도
✔ 안정적
✔ 네트워크 전환 시 자동 재연결
✔ 모바일 최적화
단점:
✘ 제한적 플랫폼 지원
✘ 방화벽 차단 가능
사용:
- 모바일 VPN
- Windows, iOS 기본 지원
최신 VPN 프로토콜 (2020)
특징:
- 포트: UDP (커스터마이징 가능)
- 암호화: ChaCha20, Poly1305
- 매우 빠름
- 간단한 코드 (4,000줄)
장점:
✔ 최고의 속도
✔ 강력한 보안
✔ 간단한 설정
✔ 배터리 효율적
✔ 현대적 암호화
단점:
✘ 비교적 새로움
✘ 일부 플랫폼 지원 부족
사용:
- 개인 VPN (최신 추천) ✔
- 차세대 표준
두 네트워크를 연결
본사 ←[VPN 터널]→ 지사
예:
본사 (서울): 192.168.1.0/24
지사 (부산): 192.168.2.0/24
VPN 연결 후:
본사 직원 → 지사 서버 직접 접속 가능
장점:
✔ 네트워크 통합
✔ 투명한 접속
사용:
- 기업 지사 연결
- 데이터센터 연결
개별 클라이언트가 네트워크에 연결
재택근무자 ←[VPN]→ 회사 네트워크
예:
집 (공인 IP: 203.0.113.5)
↓ VPN 연결
회사 (가상 IP: 192.168.1.100 할당)
접속:
- 회사 파일 서버
- 사내 시스템
- 프린터 등
장점:
✔ 원격 근무
✔ 안전한 접속
사용:
- 재택근무
- 출장
개인 프라이버시 보호
사용자 ←[VPN]→ VPN 제공자 ←→ 인터넷
효과:
- IP 주소 숨김
- 위치 변경
- 트래픽 암호화
장점:
✔ 익명성
✔ 지리적 제약 우회
✔ 공용 WiFi 보안
사용:
- 넷플릭스 지역 제한 우회
- 토렌트
- 공용 WiFi 사용 시
# client.ovpn
client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
1. 강력한 암호화:
- AES-256
- ChaCha20
2. 인증:
- 사용자명/비밀번호
- 인증서 (권장)
- 2단계 인증
3. 킬 스위치 (Kill Switch):
- VPN 연결 끊기면 인터넷 차단
- 데이터 유출 방지
4. DNS 누수 방지:
- VPN DNS 사용 강제
- 실제 IP 노출 방지
5. 로그 정책:
- No-log 정책
- 프라이버시 보호
1. 프로토콜 선택:
속도: WireGuard > IKEv2 > OpenVPN (UDP) > OpenVPN (TCP)
보안: 모두 안전 (최신 프로토콜)
2. 서버 위치:
- 가까운 서버 선택
- 지연시간 감소
3. 암호화 수준:
- AES-128 vs AES-256
- 성능 vs 보안 균형
4. 프로토콜:
- UDP: 빠름 (손실 허용)
- TCP: 느림 (신뢰성)
5. 하드웨어:
- AES-NI 지원 CPU
- 하드웨어 가속
1. ExpressVPN:
- 94개국, 3000+ 서버
- 빠른 속도
- No-log 정책
2. NordVPN:
- 60개국, 5400+ 서버
- 저렴한 가격
- Double VPN
3. Surfshark:
- 무제한 동시 접속
- 저렴
- 빠른 속도
4. ProtonVPN:
- 무료 플랜
- 스위스 (강력한 프라이버시 법)
- 오픈소스
5. Mullvad:
- 익명 계정 (이메일 불필요)
- WireGuard 지원
- 프라이버시 중심
VPN은 공용 네트워크를 통해
안전한 사설 네트워크 연결을 제공합니다.
동작:
1. 암호화된 터널 생성
2. 모든 트래픽 암호화
3. VPN 서버 경유
4. 목적지 도달
장점:
- 보안 (암호화)
- 익명성 (IP 숨김)
- 원격 접속
프로토콜:
- OpenVPN (안전)
- WireGuard (빠름)
- IKEv2 (모바일)
VPN (Virtual Private Network):
정의:
공용 네트워크(인터넷)를 통해
안전한 사설 네트워크 연결을 생성하는 기술
핵심 개념:
1. 터널링 (Tunneling):
- 원본 패킷 암호화
- 새 패킷으로 캡슐화
- 안전한 터널 통과
2. 암호화 (Encryption):
- AES-256, ChaCha20
- 데이터 보호
- 도청 방지
3. 인증 (Authentication):
- 사용자 확인
- 인증서 기반
- 안전한 접속
동작 과정:
1. 연결 요청:
Client → VPN Server
인증 정보 전송
2. 인증 및 키 교환:
- 사용자 인증
- 암호화 키 생성
- 보안 채널 수립
3. 터널 생성:
- 가상 네트워크 인터페이스
- 가상 IP 할당
- 라우팅 설정
4. 데이터 전송:
- 모든 트래픽 암호화
- VPN 서버 경유
- 목적지 전달
VPN 프로토콜:
1. PPTP:
- 오래됨
- 약한 보안
- 사용 권장 안 함 ✘
2. L2TP/IPsec:
- 강력한 암호화
- 느린 속도
- 기업에서 사용
3. OpenVPN:
- 오픈소스
- 매우 안전
- 유연한 설정
- 널리 사용 ✔
4. IKEv2/IPsec:
- 빠른 속도
- 모바일 최적화
- 자동 재연결
5. WireGuard:
- 최신 (2020)
- 최고의 속도
- 간단한 설정
- 차세대 표준 ✔
VPN 유형:
1. Site-to-Site:
- 네트워크 간 연결
- 본사-지사 연결
- 투명한 접속
2. Remote Access:
- 개인-네트워크 연결
- 재택근무
- 원격 접속
3. Personal VPN:
- 프라이버시 보호
- IP 주소 숨김
- 지역 제한 우회
장점:
✔ 보안:
- 암호화된 통신
- 공용 WiFi 안전
✔ 프라이버시:
- IP 주소 숨김
- 익명 브라우징
✔ 원격 접속:
- 재택근무
- 사내 시스템 접속
✔ 지역 제한 우회:
- 콘텐츠 접근
- 검열 우회
단점:
✘ 속도 저하:
- 암호화 오버헤드
- 경유 서버 지연
✘ 비용:
- 상용 VPN 구독료
- 서버 운영 비용
✘ 신뢰 문제:
- VPN 제공자 신뢰 필요
- No-log 정책 확인
보안 고려사항:
1. 킬 스위치:
- VPN 끊기면 인터넷 차단
- 데이터 유출 방지
2. DNS 누수 방지:
- VPN DNS 사용
- 실제 IP 노출 방지
3. 강력한 암호화:
- AES-256
- 최신 프로토콜
4. 인증:
- 인증서 기반
- 2단계 인증
실무 활용:
기업:
- 재택근무 지원
- 지사 간 연결
- 보안 통신
개인:
- 공용 WiFi 보안
- 프라이버시 보호
- 스트리밍 지역 제한 우회
클라우드:
- AWS VPN
- Azure VPN Gateway
- GCP Cloud VPN