본문 바로가기
Network Infra 쉽게 이해하기/VPN 쉽게 이해하기

VPN 쉽게 이해하기

by 네트워크 엔지니어 환영 2021. 7. 1.
반응형

1960년대 미국과 소련이 한창 냉전으로 신경전을 벌이던 시절, 미국 국방부는 소련의 핵공격에 초토화되어도 작동하는 '통신이 가능한 군사용 네트워크' 개발에 착수했습니다. 국방부와 같은 정부 핵심기관이 핵공격을 받아 중요 정보를 소실하고 정부 기능이 마비될 때를 대비, 정보와 기관을 여러 군데로 나누고 서로 통신이 가능케하여 위험을 분산하기 위한 목적이었습니다. 그렇게 국방부와 여러 대학교가 합심하여 연구개발에 착수했고 현재 INTERNET(이하 인터넷)의 모체가 된 ARPANET(이하 아파넷)이 탄생합니다. 

<미국과 소련의 대립, 냉전(https://m.blog.naver.com/them1/221277433540)>

하지만 학문과 자유의 상징인 대학에서 이를 연구 개발하였다는 것은 곧 더 많은 사람들의 다양한 시도가 이루어진다는 것을 의미하죠. 결국 아파넷은 점차 커져 미 국방부의 손을 떠나 현재 우리 모두가 사용하는 인터넷으로 새롭게 탄생하고, 수없이 많은 사람들이 인터넷을 통해 정보를 공유하고 대화할 수 있게 되었습니다. 그리고 국방부는 이 때의 연구 결과를 토대로 별도의 군사용 네트워크 밀넷을 만들어 사용합니다.

여기서 한 가지 기억해야 할 것은 인터넷(아파넷)이 설계될 때의 주요 초점은 데이터의 전송이지 데이터의 암호화가 아니었다는 것입니다. 애초에 최초 개발 당시 군사용으로 한정된 대상이 한정된 공간에서 사용하는 것이 목적이었기 때문에 데이터의 암호화는 그다지 중요하지 않았습니다. 그렇기에 현재 인터넷에서 데이터의 전달을 담당하는 프로토콜인 Internet Protocol(IP, 이하 인터넷 프로토콜)의 설계에는 패킷(데이터)의 암호화가 전혀 반영되어있지 않습니다.

 

사설망(Private Network)와 전용 회선의 탄생

인터넷의 성장은 IPv4 Address(이하 IP 주소)의 폭발적인 수요를 불러왔고 이는 근심거리가 아닐 수 없었습니다. 43억 개에 달하는 IPv4의 숫자는 적은 것은 아니지만 수요 증가세를 볼 때 그리 많은 숫자도 아니었기 때문입니다. 그리하여 탄생한 것이 바로 사설망(Private Network)입니다. IPv4의 대역 중 일부를 Private IP(이하 사설 IP)로 지정하여 가정, 기업, 기관 등 근거리 통신망(Local Area Network, 이하 LAN)에서 사용하도록 한 것입니다. 사설 IP는 다음 표에 잘 나와있지요.

<출처 : 위키백과(https://ko.wikipedia.org/wiki/%EC%82%AC%EC%84%A4%EB%A7%9D)>

사설망의 장점은 IP 주소의 절약뿐만 있는 것이 아닙니다. 사설 IP를 이용해 별도의 네트워크를 구성함으로써 외부 인터넷과 내부의 네트워크를 분리하고 외부 인터넷의 접근으로부터 내부 네트워크를 보호할 수 있죠. 그렇기에 필요한 경우에만 NAT(Network Address Translation)을 이용해 공인 인터넷 통신을 하고 내부에서만 사용되는 데스크톱, 서버, DB 등은 사설 IP를 할당하여 사설망을 구축하는 경우가 많습니다. 그러한 이유로 여기저기 다양한 장소에 사설망이 구축되기 시작하면서 멀리 떨어져 있는 다른 사설망과 공인 IP가 아닌 사설 IP를 통한 연결의 필요성이 크게 증가하였고 드디어 전용 회선(Leased Line)이 등장하게 됩니다.

기업의 경우, 회사 네트워크를 구축하면서 멀리 떨어져 있는 지사 네트워크를 연결하기 위해 전용 회선 사용합니다. 즉 본사 사설망과 지사 사설망을 연결하는 것이죠. 공인 인터넷이 아닌 인터넷 서비스 공급자(ISP)의 망 일부를 독점하여 사용하기 때문에 회사 간 내부 트래픽이 아니면 접근할 수 없어 데이터의 안전이 보장되며 공인 IP가 아닌 사설 IP로 본사와 지사를 연결할 수 있습니다. 전용 회선의 가장 큰 장점이죠.

<전용 회선을 이용한 사설망 연결(출처 : http://gotocloud.co.kr/)>

하지만 전용 회선에도 큰 단점이 존재합니다. 망 일부를 독점하여 사용하는 만큼 값이 매우 비싸다는 점이죠. 게다가 사용 대역폭만큼 비용을 치르기 때문에 더 많은 데이터를 전송하기 위해 더 큰 대역폭을 사용하면 그만큼 치러야 하는 비용이 커집니다. 부담스러운 요소가 아닐 수 없죠. 사람들은 비싼 전용 회선을 사용하지 않고도 사설망과 사설망을 연결할 방법을 찾기 시작합니다. 그렇기 위해서는 아래 2가지 문제가 해결되어야 했죠.

 1. 비싼 전용 회선이 아닌 공인 인터넷(공인망)을 사용해 사설망과 사설망을 연결할 수 있어야 한다.
 2. 인터넷 프로토콜의 취약점인 데이터 암호화 문제를 해결, 공인 인터넷망을 지나가도 안전이 보장되어야 한다.

이 2가지 문제를 해결한 네트워크 장비가 나타나니 바로 VPN(Virtual Private Network, 가상사설망)입니다.

반응형

VPN(Virtual Private Network)

가상사설망 또는 VPN이란 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다.
 
- 출처 : 위키백과 -

Virtual Private Network(이하 VPN)이란 위에서 언급한 2가지 문제, 공인망을 통한 사설망 연결과 데이터 암호화를 모두 해결하기 위해 탄생한 기술 혹은 장비를 의미합니다. 현업에서도 VPN 기능을 가능케 하는 장비를 별도의 이름 없이 VPN 장비라고 부릅니다. 요즘엔 방화벽 기능을 겸비한 VPN 장비가 많이 사용되어 UTM(Unified Threat Management), 통합 보안장비라고 부르기도 하죠.

VPN은 공인 인터넷을 사이에 둔 사설망과 사설망이 공인 IP로의 NAT와 같은 제약 없이 사설 IP를 이용해 통신(Routing)할 수 있도록 지원하며 데이터의 암호화를 제공합니다. 이를 실현하기 위해 VPN은 공인 인터넷에서 IP Packet(이하 IP 패킷)을 캡슐화(Encapsulation)함과 동시에 데이터의 암호화/인증방식을 협상하게 됩니다. 이 협상 과정을 거친 후에는 캡슐화된 패킷이 오고 가기 때문에 아무리 공인 인터넷상이라 하더라도 외부인이 이 패킷을 쉽게 탈취할 수 없게 되죠. 이 기술을 Tunneling(이하 터널링)이라 하며 보통 'VPN 터널이 뚫렸다'라고 표현합니다. 또한 여기에 사용된 프로토콜을 Tunneling Protocol(이하 터널링 프로토콜)이라 부릅니다. 패킷이 암호화되어 인터넷 상에서 이동하는 특징 덕분에 외부에서 보기엔 공인 인터넷 상에 가상의 터널이 생성되어 데이터를 주고받는 것처럼 보여 붙여진 이름이죠. 

<VPN과 터널링(출처 : http://gotocloud.co.kr)>

또한 공인 인터넷을 통로로 사용하기 때문에 VPN을 사용하면 전용회선보다는 더 폭넓은 대역을 저렴한 비용으로 사용할 수 있습니다. 전용 회선은 인터넷 서비스 공급자(ISP)와 계약을 맺고 별도의 장비를 이용해 설치해야 하는 등 복잡한 과정을 거쳐야 하지만 VPN은 가정용 인터넷 모뎀으로도 VPN을 연결해 설치할 수 있기 때문에 편리하다는 장점도 있습니다. 그러나 아무리 패킷이 암호화된다 하더라도 결국 외부 인터넷에 노출되기 때문에 전용 회선에 비해 보안에 취약할 수밖에 없습니다. 전용 회선은 말 그대로 사용자의 '전용' 회선이기에 외부에서 접근할 수 없죠. 또 대역폭을 보장하는 전용 회선과 달리 공인 인터넷을 사용하는 VPN은 인터넷 망에 문제가 생기면 터널이 끊어지거나 패킷이 제대로 전달되지 않을 수 있습니다. VPN이 가진 단점이지요.

VPN을 이해할 때 VPN의 정의와 특징을 이해하는 것은 당연한 일이지만 더욱 중요한 것이 있으니 구현 방법에 따른 VPN의 변화를 이해하는 것입니다. VPN을 어떻게 구현하느냐에 따라서 모양새가 크게 달라지기 때문이죠. 이제 VPN의 분류와 구현 방법에 대해 알아보고자 합니다.

 

VPN의 분류와 구현, 차이

VPN은 접속 방식, 터널링 프로토콜, 통신 계층, 운용 주체 등 기준에 따라 아주 다양한 종류로 나뉩니다. 접속 방식으로 분류하면 Site to Site(LAN to LAN)과 Client to Site 방식의 VPN으로 나눌 수 있고, 터널링 프로토콜로 분류하면 PPTP/L2TP, IPSec, SSL 기반의 VPN로 분류할 수 있으며, 통신 계층으로 분류하면 L2 / L3 / L4 기반의 VPN으로 나눌 수 있죠. 또 운용 주체에 따라서 Core / CPE 기반의 VPN으로 나눌 수 있습니다. 

어떤 관점에서 보느냐에 따라 VPN이 차이를 가지는 것일 뿐 분류 방법에 따라 완전히 다른 VPN이 되는 것이 아닙니다. 오히려 위 분류에서 한 개씩을 따서 조합하면 특정한 기능을 수행하는 VPN의 정의가 될 수 있죠. 예를 들어 코로나 시국에 집에서 회사의 업무를 볼 수 있도록 도와주는 VPN인 SSL VPN의 경우, 접속 방식으로는 'Client to Site'에 해당하며 터널링 프로토콜로 분류하면 'SSL 기반의 VPN', 통신 계층으로 분류하면 L4 / L7 기반의 VPN으로 나눌 수 있죠. 이렇듯 VPN은 분류 방법을 어떻게 조합하느냐에 따라 성격이 조금씩 달라집니다. 

이 글과 향후 이어질 글에서는 VPN의 구현 방식과 분류를 '접속 방식'을 기준으로 설명할 예정입니다. 정확히 말하면 접속 방식(Site to Site, Client to Site)을 기준으로 필요한 부분을 조금씩 붙여나갈 겁니다. 기준을 '접속 방식'을 나눈 이유는 접속 방식을 통해 이해하는 것이 쉽고 실무에서 부르는 이름 또한 쉽게 연관 지을 수 있기 때문입니다. 접속 방식을 기준으로 설명할 VPN은 2가지로 IPSec VPNSSL VPN이 바로 그것입니다.

IPsec VPN은 주로 Site to Site 방식으로 사용되어 기업의 본사 네트워크와 지사 네트워크를 연결하는 용도로 주로 사용됩니다. 이름에서도 알 수 있듯이 IPSec터널링 프로토콜로 사용하여 터널 생성과 패킷 암호화 방식을 협상합니다. 이 모든 것은 Layer 3인 Network Layer에서 실시됩니다. 즉 위에서 언급한 인터넷 프로토콜의 약점, 패킷의 보안 취약성을 해결하는데 중점을 둡니다. 

<IPSec VPN 구성의 예>

SSL VPN은 주로 Client to Site 방식으로 사용되어 사용자가 어느 장소에서든 VPN을 통해 기업의 사설 네트워크로 접속이 가능하도록 지원하는 용도로 사용되며 주로 웹 브라우저를 통한 접속방식이 많이 사용됩니다. 이름에서도 알 수 있듯이 SSL(Secure Socket Layer)를 이용한 터널링을 실시하고 패킷 암호화 방식을 협상합니다. SSL를 터널링 프로토콜로 사용하는 만큼 Layer 4인 Transport Layer 이상에서 실시됩니다. 이 또한 인터넷 프로토콜의 약점, 패킷의 보안 취약성을 해결하는데 중점을 둡니다.

<SSL VPN 구성의 예>

'VPN 쉽게 이해하기' 시리즈에서는 현업에서 많이 사용하는 VPN인 IPSec VPNSSL VPN을 집중적으로 설명합니다. 다음 문서에서 IPSec VPN에 대해 알아보도록 하겠습니다. 감사합니다.

댓글