VPN 소개 및 IPsec
핵심 요약
- VPN(Virtual Private Network)은 인터넷과 같은 공용 네트워크를 통해 안전한 사설 통신을 제공하는 기술이다.
- VPN의 4대 기능: 기밀성(Confidentiality), 인증(Authentication), 무결성(Integrity), 재생 방지(Anti-replay)
- IPsec은 L3에서 보안을 제공하는 프레임워크이며, IKE Phase 1(인증/터널 생성)과 Phase 2(데이터 암호화 SA 생성)로 동작한다.
- ESP(Encapsulating Security Payload)는 암호화+인증+무결성을 모두 제공하며, 대부분의 VPN에서 사용된다.
- Tunnel 모드가 기본값으로, 원본 패킷 전체를 암호화하고 새 IP 헤더를 추가한다.
VPN 개요
VPN(Virtual Private Network)은 인터넷과 같은 안전하지 않은 네트워크를 통해 보안 연결을 수립하는 기술이다. 전용 WAN(Dedicated WAN)보다 저렴하고, 어디서나 사용이 가능하다는 장점이 있다.
VPN의 4가지 기능
| 기능 | 설명 |
|---|---|
| 기밀성(Confidentiality) | 암호화를 통해 데이터를 읽을 수 없도록 보호 |
| 인증(Authentication) | 합법적인 장비/사용자인지 확인 |
| 무결성(Integrity) | 전송 중 패킷이 변조되지 않았는지 보장 |
| 재생 방지(Anti-replay) | 캡처된 트래픽을 재전송하는 공격을 방지 |
참고: VPN이 항상 암호화를 의미하지는 않는다. VLAN도 일종의 VPN이고, MPLS VPN은 인증이나 암호화를 제공하지 않는다.
VPN 유형
Site-to-Site VPN
각 사이트의 네트워크 장비(라우터/방화벽) 간에 터널을 구성한다. 원본 IP 패킷을 암호화하고 새 IP 헤더를 추가하여 전송하며, 사설 IP 주소를 사용하는 LAN 간 통신이 가능하다.
[사이트 A LAN] --- [라우터/방화벽] ===== 암호화된 터널 ===== [라우터/방화벽] --- [사이트 B LAN]
(공인 IP) 인터넷 (공인 IP)Client-to-Site VPN (원격 사용자 VPN)
사용자가 VPN 클라이언트를 설치한 후, 원격 네트워크에 접속하는 방식이다.
[원격 사용자 PC] --- VPN 클라이언트 ===== 인터넷 ===== [VPN 게이트웨이] --- [사내 네트워크]VPN 프로토콜
| 프로토콜 | 설명 |
|---|---|
| IPSec | OSI L3 보안 프레임워크. 다양한 암호화 알고리즘(DES, 3DES, AES) 사용. Site-to-site, Client-to-site 모두 지원 |
| PPTP | 1995년경 출시. GRE+PPP 사용. MPPE 암호화. 보안 취약 — 사용 금지 |
| L2TP | L2 트래픽을 L3로 터널링. 자체 암호화 없음 → IPSec과 함께 사용 (L2TP/IPSec) |
| SSL VPN | HTTPS 사용. 웹 브라우저 포털로 접속 가능. 소프트웨어 클라이언트 불필요. 현재는 TLS 사용 |
IPsec 상세
IPsec은 단일 프로토콜이 아닌 프레임워크(Framework) 로, L3에서 보안을 제공한다.
IKE Phase 1 (ISAKMP)
양쪽 피어(Peer)가 서로를 인증하고, 암호화된 터널(ISAKMP SA)을 생성하는 단계이다.
설정 항목:
- 암호화 알고리즘 (Encryption Algorithm)
- 해시 (Hash)
- 인증 방법 (Authentication Method) — Pre-shared Key 또는 Certificate
- DH 그룹 (Diffie-Hellman Group)
모드 비교:
| 모드 | 메시지 수 | 특징 |
|---|---|---|
| Main Mode | 6개 | 보안성 높음, ID 정보 암호화 |
| Aggressive Mode | 3개 | 빠르지만 ID 정보가 평문으로 전송 |
Main Mode 흐름:
피어 A 피어 B
|--- 1. 정책 제안 ------------->|
|<-- 2. 정책 수락 --------------|
|--- 3. DH 키 교환 ------------>|
|<-- 4. DH 키 교환 -------------|
|--- 5. 인증 (암호화됨) -------->|
|<-- 6. 인증 (암호화됨) ---------|IKE Phase 2 (IPsec SA)
실제 데이터 암호화를 위한 IPsec SA를 생성하는 단계이다.
- Transform-set: 암호화(ESP-AES) + 무결성(SHA-HMAC) 알고리즘 조합
- Quick Mode로 협상 진행
Phase 2 흐름:
피어 A 피어 B
|--- Quick Mode 메시지 1 ------>|
|<-- Quick Mode 메시지 2 -------|
|--- Quick Mode 메시지 3 ------>|
(IPsec SA 수립 완료)IPsec 프로토콜
| 프로토콜 | 기능 | IP 프로토콜 번호 |
|---|---|---|
| AH (Authentication Header) | 인증 + 무결성 제공. 암호화 없음 | 51 |
| ESP (Encapsulating Security Payload) | 인증 + 무결성 + 암호화 제공 | 50 |
실무 참고: 대부분의 환경에서는 암호화를 포함하는 ESP를 사용한다. AH는 암호화가 없으므로 단독으로는 거의 사용되지 않는다.
IPsec 모드
| 모드 | 설명 | 사용 시나리오 |
|---|---|---|
| Transport 모드 | 원본 IP 헤더를 유지하고, 페이로드만 암호화 | 호스트-호스트(Host-to-Host) 간 통신 |
| Tunnel 모드 | 전체 원본 패킷을 암호화하고 새 IP 헤더를 추가 | 게이트웨이-게이트웨이 간 통신 (기본값) |
Transport 모드:
[원본 IP 헤더][AH/ESP 헤더][페이로드(암호화)]
Tunnel 모드:
[새 IP 헤더][AH/ESP 헤더][원본 IP 헤더 + 페이로드(암호화)]Diffie-Hellman 그룹
키 교환 알고리즘으로, 두 라우터가 안전하지 않은 채널을 통해 공유 비밀 키(Shared Secret Key)를 생성한다.
| DH 그룹 | 키 길이 | 보안 수준 |
|---|---|---|
| Group 1 | 768-bit | 낮음 |
| Group 2 | 1024-bit | 보통 |
| Group 5 | 1536-bit | 높음 |
| Group 14 | 2048-bit | 매우 높음 |
높은 그룹 번호 = 더 안전하지만 더 많은 CPU 리소스를 사용한다.
주요 용어 정리
| 용어 | 설명 |
|---|---|
| SA (Security Association) | 두 피어 간의 보안 연결에 대한 합의 |
| SPI (Security Parameter Index) | SA를 식별하는 고유 인덱스 값 |
| ISAKMP | IKE 프레임워크를 정의하는 프로토콜 |
| Pre-shared Key (PSK) | 사전에 양쪽 피어에 설정하는 공유 비밀번호 |
| Transform-set | 암호화 + 해시 알고리즘의 조합 |
| Crypto Map | 암호화할 트래픽, 피어 주소, transform-set을 연결하는 설정 |
IPsec VPN 전체 동작 흐름
1. 트래픽 발생 → ACL/정책에 의해 암호화 대상 트래픽 식별
2. IKE Phase 1 → ISAKMP SA 수립 (피어 인증, 암호화 터널 생성)
3. IKE Phase 2 → IPsec SA 수립 (데이터 암호화 파라미터 협상)
4. 데이터 전송 → ESP/AH로 암호화된 트래픽 전송
5. SA 만료 → 주기적으로 키 재협상 (Rekey)