본문 바로가기

공부

vpn이란

반응형

 

초창기의 인터넷(아파넷)이 설계될 때, 주요 초점은 데이터 전송이지, 암호화가 아니었다. 최초 개발 당시 군사용으로, 한정된 대상과 공간에서 사용하는 것이 목적이었기 때문에 암호화는 고려하지 않았다.

그렇기에 현재 인터넷에서 데이터 전달을 담당하는 프로토콜인 internet protocol(IP, 인터넷 프로토콜)의 설계에는 패킷(데이터)의 암호화가 반영되지 않았다.

 

사설망(Private Network)과 전용 회선(Leased Line) 의 탄생

인터넷의 성장은 IPv4 Address의 폭발적 수요를 불러왔고, 43억개의 IPv4의 숫자는 부족하게 되었기에 사설망(Private Network)이 탄생했다. IPv4의 대역 중 일부를 Private IP(이하 사설 IP)로 지정하여 가정, 기업, 기관 등 근거리 통신망(Local Area Network, LAN)에서 사용하도록 했다.

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

 

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

 

하지만 전용 회선에 큰 단점이 있었다

1. 망 일부를 독점하여 사용하는 만큼 값이 비싸다.

2. 사용 대역폭만큼 비용을 치르기에 더 많은 데이터를 전송하려면 그만큼 치러야 하는 비용 증가

=> 비싼 전용 회선을 사용하지 않고, 사설망끼리 연결하는 방법?

1. 비싼 전용 회선이 아닌 공인 인터넷(공인망)을 사용해 사설망끼리의 연결 가능
2. 인터넷 프로토콜의 취약점인 데이터 암호화 문제를 해결하고, 공인 인터넷망을 지나도 안전 보장 필요

위의 문제를 해결한 네트워크 장비가 나타난 것이 VPN(Virtual Private Network, 가상사설망) 이다.

 

VPN(Virtual Private Network)

: 가상사설망 또는 VPN 이란, 공중 네트워크를 통해 회사나 단체가 내용을 바깥사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망

요즘은 방화벽 기능을 겸비한 VPN 장비가 많이 사용되어 UTM(Unified Threat Management), 통합 보안 장비라 부른다.

 

VPN은 공인 인터넷을 사이에 둔 사설망과 사설망이 공인 IP로의 NAT와 같은 제약 없이 사설 IP를 이용해 통신(routing)할 수 있도록 지원하며 데이터 암호화 제공한다. 이를 실현하기 위해 VPN은 공인 인터넷에서 IP Packet을 캡슐화(Encapsulation)함과 동시에 데이터 암호화/인증방식을 협상한다. 이 과정에서 캡슐화된 패킷이 오고가기에 외부인이 패킷을 쉽게 탈취할 수 없다. 이 기술은 터널링(Tunneling)이며, 사용된 프로토콜은 터널링 프로토콜(Tunneling Protocol)이라고 한다.

 

캡슐화라는 용어는 자주 쓰이는데, 객체지향 부분에서 말하는 것인지, 네트워크 단에서 말하는 것인지에 따라 차이가 있다.
객체지향 프로그래밍(보통 자바)에서 캡슐화는 일반적으로 연관있는 변수와 함수를 클래스로 묶는 작업을 말한다.(private, public 같은 키워드를 이용해 접근 제어를 사용), 정보 은닉information Hiding의 의미 포함으로 내부 선언된 데이터를 보호한다.
TCP/IP 네트워크 관점에서의 캡슐화는 하위 레이어의 프로토콜 정보에 상위 레이어 데이터+헤더 정보를 캡슐화하는 것이다.
아래 사진과 같은 느낌이다.

터널링이란?
데이터 스트림을 인터넷 상에서 가상의 파이프를 통해 전달시키는 기술

터널링과 캡슐화의 차이
캡슐화는 OSI 7 계층을 참조하여 통신을 하기 위해 하위계층에서 상위계층 데이터를 포장하는 개념
터널링은 계층이 동일하거나 하위의 다른 프로토콜을 숨기기 위해 상위에서 데이터를 캡슐화하고, 외부 네트워크를 통과하여 목적지에서 다시 디캡슐화까지 하는 통신과정

 

 

 

 

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

 

 

 

VPN의 분류와 구현, 차이

VPN은 접속 방식, 터널링 프로토콜, 통신 계층, 운용 주체 등 기준에 따라 다양한 종류로 나눈다.

접속 방식 = Site to Site(LAN to LAN)  ,  Client to Site

터널링 프로토콜 = PPTP/L2TP , IPSec, SSL

통신 계층 = L2, L3, L4

운용 주체 = Core / CPE 

 

IPsec VPN

방식 : Site to Site 

기업의 본사 네트워크와 지사 네트워크를 연결하는 용도로 주소 사용

프로토콜 : IPsec 을 터널링 프로토콜로 사용하여 터널 생성과 패킷 암호화 방식을 협상

Layer 3인 Network Layer 에서 실시

인터넷 프로토콜의 약점, 패킷의 보안 취약성을 해결하는데 중점

 

SSL VPN

방식 : Client to Site 

사용자가 어느 장소에서든 VPN을 통해 기업의 사설 네트워크로 접속 가능하고, 웹 브라우저를 통한 접속 방식이 많이 사용

프로토콜 : SSL

Layer 4인 Transport Layer 이상에서 실시

 

 

 

참고 : https://aws-hyoh.tistory.com/161

반응형