
0. VPN 이란?
VPN은 공용 네트워크 등을 이용해서 안전한 사설 네트워크를 구축하는 기술이다.
VPN을 통해서 원격에서 내부 네트워크에 접속하거나 보안이 강화된 통신을 수행할 수 있게된다.
[VPN으로 할 수 있는 것]
VPN을 이용하면 인터넷을 통해서 안전하게 데이터를 전송할 수 있고,
원격 근무나 외부 접속을 지원할 수 있다.
또 공용 wi-if 사용 시에도 보안을 강화할 수 있으며,
기업 간 네트워크 연결을 할 수 있다.
[VPN 주요 개념과 VPN의 유형]
VPN의 주요 개념은 터널링/암호화/인증 등이 있으며,
VPN의 유형에는 원격 액세스 VPN과 사이트 간 VPN이 있다.
1) 원격 액세스 VPN (Remote Accesss VPN)
외부에서 private 서브넷에 접근이 가능한 것으로,
개별 사요자가 인터넷을 통해서 기업이나 조직의 내부 네트워크에 안전하게 접속할 수 있도록 하는 VPN 유형이다.
(포트포워딩과 Static NAT도 외부에서 내부로 접근 가능한 방법이고,
VPN이나 포트포워딩, Static NAT 모두 기본적으로는 암호화를 제공하지 않는다.)
2) 사이트 간 VPN (site-to-site VPN)
기업이나 조직 간의 여러 네트워크를 인터넷을 통해 안전하게 연결하는 방식이다.
일반적으로 두 가지 방식으로 나뉜다.
- 인트라넷 VPN : 동일 조직 내 지사 간의 네트워크 연결에 사용된다.
- 엑스트라넷 VPN : 서로 다른 조직 간의 네트워크 연결에 사용된다.
+ AWS 서버와 Onpremise 서버를 연결할 때도 이 방식이 사용된다.
1. VPN 프로토콜
VPN은 다양한 프로토콜들이 있고,
프로토콜 마다 적용되는 네트워크 레이어와 보안의 범위가 다르다.
1) PPTP (Point to Point Tunneling Protocol)
Layer2에서 사용되고, 설정이 간단하고 속도가 빠르다.
하지만 보안성이 낮아서 현재는 거의 사용되지 않는다.
2) L2TP/IPsec (Layer2 Tunneling Porotol with IPsec)
이름에 써 있듯이 Layer2에서 사용되고, 데이터 무결성과 보안성을 강화한다.
속도가 다소 느릴 수 있다.
3) OpenVPN
오픈 소스 기반으로 높은 보안성과 유연성을 제공한다.
다양한 운영체제에서 지원된다.
4) IKEv2/IPsec (Internet Key Exchange version2)
모바일 환경에서 안정적인 연결 유지가 가능하고
보안성이 높고 성능이 좋다.
등이 존재하고, VPN을 구현하는 가장 대표적인 방법인 IPsec 대해서 자세히 알아보자.
2. IPsec (Internet Protocol Security)
IPsec은 보안과 관련된 여러가지 프로토콜을 모아놓은 프레임워크 같은 것을 의미한다.
(하나의 프로토콜을 뜻하는게 아니라, 여러 개의 보안 프로토콜과 기술이 모여 있는 프로토콜 모음집이다!)
IPsec은 3계층(네트워크 계층)에서 작동하는 암호화 프로토콜로
위의 7계층부터 내려온 데이터 전체를 암호화하여 보호한다.
그래서 HTTP, FTP, SMTP 등의 종류와 상관 없이 모든 트래픽을 투명하게 보호할 수 있다는 장점이 있다.
[ IPsec이 보장하는 4가지 핵심 보안 기능 ]
#기밀성(Confidentiality) - #무결성(Integrity) - #인증(Authentication) - #재전송 방지(Anti-reply)
위의 4가지 기능을 IPsec은 보장한다.
1) 기밀성 (Confidentiality)
데이터를 암호화해서 인가되지 않은 사람이 내용을 보지 못하게 하는 것으로
AES, 3DES와 같은 암호화 기술을 이용한다.
2) 무결성(Integrity)
데이터가 조작되지 않음을 보장하는 것으로
HMAC-SHA, HMAC-MD5와 같은 암호화 기술을 이용한다. (HMAC은 HashMac이다)
3) 인증(Authentication)
통신하는 사용자(호스트/노드/장치 등..)가 신뢰할 수 있는 대상인지 확인하는 것으로
Pre-Shared Key(공유키)나 RSA(디지털 서명) 등의 암호화 기술을 이용한다.
4) 재전송 방지(Anti-Reply)
이미 전송된 패킷을 가로채서 똑같이 다시 보내는 공격(Replay Attack)을 Sequence Number를 이용하여 차단한다.
2-2. IPsec의 주요 구성요소
앞서 언급했듯이 IPsec은 여러 프로토콜로 구성되어 있고,
필요로 하는 보안 서비스의 종류와 네트워크 구성방식 (동작모드)에 따라 유연하게 설정하여 사용할 수 있다.
ESP와 AH로 무엇을 보호할지 정하고, 전송모드와 터널모드로 어디까지 보호할지를 정한다고 보면 된다.
[ 보안 서비스 종류 (보안프로토콜) ]
IPsec은 두 가지 주요 프로토콜인 AH와 ESP를 사용한다.
(하지만 AH는 암호화를 제공하지 않아서 ESP를 보편적으로 사용한다.)
1. AH (Authentication Header)
데이터의 무결성과 인증, 재전송 방지를 보장하지만, 암호화를 제공하지는 않는다.
그래서 데이터의 변경/조작 여부를 확인할 수 있다.
IP 프로토콜 번호 51을 사용한다.
2. ESP (Encapsulating Security Payload)
데이터의 암호화 무결성, 인증, 재전송 방지 모두 보장한다.
IP 프로토콜 번호 50을 사용한다.
[ IPsec의 네트워크 구성방식 (동작모드) ]
트래픽의 보호 범위에 따라서 전송 모드와 터널 모드로 나뉜다.
|
모드
|
설명
|
사용 예시
|
|
전송 모드 (Transport Mode)
|
원본 IP 헤더 유지, 페이로드(데이터)만 보호
|
호스트 간 통신 보호 (예: SSH 보안)
|
|
터널 모드 (Tunnel Mode)
|
전체 IP 패킷을 캡슐화하여 새 IP 헤더 추가
|
VPN, 사이트 간 통신
|
1. 전송 모드 (Host-to-Host)
: IP 헤더를 제외하고, 페이로드를 기준으로 보호한다.
: 이걸 하려면 공인 ip를 가지고 있어야 한다. → IPv6에 적합하다. (그래서 IPv6 보안이 좋은 것이다.)
[원본 패킷] | IP 헤더 | TCP/UDP 데이터 |
[AH 적용] | IP 헤더 | AH | TCP/UDP 데이터 |
[ESP 적용] | IP 헤더 | ESP Header | 암호화된 데이터 | ESP Trailer |
>> 원본 헤더는 그대로 유지된다.
2. 터널 모드 예시 (Site-to-Site VPN)
: 원본 IP 패킷을 캡슐화하고, 새로운 IP 헤더를 사용한다.
: 내부 네트워크 구조를 숨기고, 패킷 내용을 보호하기 위해 사용한다.
: 딱 암호화가 필요한 부분만 터널링을 쓴다.
(터널 구간에 새로운 헤더를 붙여서, 전체가 암호화 되었다가 풀린다.)
: 보안적으로 얘가 더 좋다.
[원본 패킷]
| 원본 IP 헤더 | TCP/UDP 데이터 |
[ESP 적용 터널모드]
>> 원본 헤더에 새로운 헤더가 붙어서 원본헤더부터 쭉--- 암호화 된다.
| 새 IP 헤더 |
|==================== ESP 터널 ====================|
| ESP Header |
| 암호화(
원본 IP 헤더
+ TCP/UDP 데이터
+ ESP Trailer
) |
| ESP Auth |
|====================================================|
'공부기록 > Network' 카테고리의 다른 글
| [ 네트워크 ] 라우팅 | 정적 라우팅 | 동적 라우팅 (0) | 2026.02.09 |
|---|---|
| [ 네트워크 ] ACL (Access Control List) (0) | 2026.01.28 |
| [ 네트워크 ] NAT (Network Address Translation) (0) | 2026.01.27 |