VPN (Virtual Private Network)
Virtual Private Network의 약자로 한국말로 하면 가상 사설망이다. VPN은 두 개 이상의 물리적 네트워크(또는 장치) 사이의 인터넷/공용 네트워크를 통해 생성된 가상 네트워크로, 직접 연결된 하나의 네트워크에 있는 것처럼 데이터를 주고 받을 수 있다. 즉, 기존의 네트워크 선을 사용하되 암호화 또는 무결성 검증을 통해 전용선과 같은 효과를 내는 것이다.
이전에는 멀리 떨어진 네트워크 환경을 하나의 안전한 네트워크로 만드는 역할을 의미하였다. 예를 들어, 회사 내부 네트워크에서만 접속 가능한 서버를 집에서 접속하기 위해서 VPN 을 이용하며 마치 회사 내부 네트워크에 있는 것처럼 만들어주는 역할이었다.
그러나, 최근에는 인터넷 프라이버시 문제가 대두되면서 이전보다 조금 더 넓은 의미로 "안전하게 인터넷을 사용하는 툴"로 인식되고 있다.
VPN을 사용하면 두 장치/네트워크 사이에 암호화된 개인 터널이 생성된다. 따라서 VPN 덕분에 데이터를 도청하기 훨씬 어렵고 네트워크에 침입하는 경우에도 데이터가 암호화되기 때문에 해당 데이터에서 정보를 얻는 것은 거의 불가능하다. VPN 터널을 만드는 데 사용되는 프로토콜에는 PPTP(Point-to-Point Tunneling Protocol), L2TP(Layer Two Tunneling Protocol), IPSec(Internet Protocol Security), SSL(Secure Sockets Layer)과 같은 여러 VPN 터널링 프로토콜이 있다.
IPSec VPN 과 SSL VPN의 차이
1. IPSec VPN (Site-to-Site VPN)
IPSec VPN 은 주로 Site-to-Site 방식으로 사용되는 VPN 이다. 다른 말로 하면 Network to Network 으로 VPN Gateway(방화벽) 장비 2개를 서로 연결함으로써 Network와 Network를 연결하는 VPN이다. 기업을 예시로 들면 본사(Site) 네트워크와 지사(Site) 네트워크를 VPN으로 연결하는 방식으로 볼 수 있다.
OSI 7계층 중 Layer 3인 네트워크 계층에서 동작하며 IPSec VPN 터널을 통해 이동하는 패킷이 가진 헤더, IP 주소, 데이터 부분이 모두 암호화 처리되어 전달된다. 대신에 IPSec VPN에서 추가한 헤더와 IP주소로 데이터가 전달된다. 패킷을 암호화함으로써 Layer 3의 단점인 데이터 암호화를 해결한다. 이는 IPSec(Internet Protocol Security)라 불리는 Tunneling Protocol 이 있기에 가능한 것이다.
※ 3계층에서 보안성이 이루어지기 때문에 어플리케이션/솔루션에 종속적이지 않게 된다.
IPSec VPN 에는 아래와 같이 전송 모드 (Transport Mode) 와 터널 모드 (Tunnel Mode) 가 있으며 패킷 구조가 다르다.
(1) 전송 모드(Transport Mode)
IP 헤더를 제외한 IP 패킷 데이터(페이로드)만을 보호. 즉, IP 계층의 상위 프로토콜인 전송 계층의 데이터만을 보호하는 것이다. 출발지에서 목적지까지 모든 트래픽을 암호화해서 전달한다.
(2) 터널 모드(Tunnel Mode)
전송 모드와는 달리 터널모드는 IP 패킷 전체를 보호한다. 터널 모드에서는 IPSec 헤더가 IP 패킷 전체인 IP헤더+IP데이터(페이로드) 앞에 위치해있다. 게다가 새로운 IP 헤더가 IPSec 헤더 앞에 추가되어 있다.
새로운 IP 가 추가된 건 본래의 IP 헤더가 IPSec 헤더 뒤에 위치하게 됐으니 이대로 패킷을 구성하게되면, 라우팅 정보가 없게되므로 패킷이 원하는 목적지에 도달할 수 없다. 따라서 라우팅 정보 추가를 위해 본래의 IP 패킷은 보호하면서도 새로운 IP 헤더를 추가하는 것이다. 이렇게 되면 전송 모드와 다르게 트래픽 정보 노출을 방지할 수 있다. 출발지에서 목적지 까지 모두 암호화하는 것은 동일하고 IP헤더로부터 암호화가 수행되므로 목적지까지 경로를 확인할 수 없다.
※ IPv6에서 IPSec은 Default.
※ 보안적인 측면에서 아래와 같이 보안 Protocol 이 적용된다고 하는데,, 보안 영역은 잘 모르니까 이정도라도 알아두자..
- AH Protocol - 데이터 인증과 재생을 방지
- ESP Protocol - 데이터의 기밀성, 무결성을 제공
2. SSL VPN (Site-to-Client VPN)
SSL VPN - TLS
SSL 프토콜 자체가 이제는 IETF(Internet Engineering Task Force)에 의해 더이상 사용되지 않고 TLS로 대체되었기 때문에 최신 브라우저에서 실행되는 SSL VPN은 이제 VPN을 통해 전송되는 데이터를 암호화하고 인증하는 데 TLS를 사용한다.
※ IETF: Internet Engineering Task Force, 국제 인터넷 표준화 기구를 의미하며, 인터넷의 운영, 관리, 개발에 대해 협의하고 프로토콜과 구조적인 사안들을 분석하는 인터넷 표준화 작업기구
SSL VPN의 주요 장점 중 하나는 최신 웹 브라우저에 구현된 TLS 기술을 사용하므로 특정 클라이언트 소프트웨어를 설치할 필요가 없다는 것이다. 그래서 배포가 쉽다. 또한 TLS를 사용하여 생성된 암호화된 회로는 기존 VPN Protocol 보다 훨씬 정교한 아웃 바운드 연결 보안을 제공한다.
또한, SSL VPN이 널리 사용되는 웹 클라이언트에 대한 사용 및 의존성으로 인해 기존 VPN Client 보다 관리 오버헤드와 기술 지원이 덜 필요하다는 이점이 있다. SSL VPN을 통해 사용자는 장치가 실행 중인 OS에 관계없이 모든 웹 브라우저를 선택할 수 있다.
이제 사용자는 추가 소프트웨어 또는 구성 파일을 다운로드하거나 복잡한 단계를 거쳐 SSL VPN을 만들 필요가 없다. L2TP(Layer 2 Tunneling Protocol) 또는 IPSec(IP Security)와 같은 다른 터널링 보안 프로토콜과 달리 SSL VPN은 보안 네트워크를 설정하기 위해 업데이트된 브라우저만 필요하다.
Reference
'Network' 카테고리의 다른 글
[Network] TCP, 3-Way Handshake & 4-Way Handshake (0) | 2021.11.24 |
---|