2024. 6. 24. 12:45ㆍ인프라/네트워크(기초)
VPN이란?
VPN이란 Virtual Private Network의 약자로 인터넷과 같은 공중망을 마치 전용회선처럼 사용해 보안성을 향상하면서 사설망을 이용하지 않기 때문에 비용문제까지 해결한 네트워크다. 실제로 아주 먼 거리의 지사끼리 전용회선으로 통신하기 위해서는 큰 비용이 발생한다. 이때 VPN을 사용하면 비용 절감은 물론 지사간의 중요 데이터를 송수신할 경우에 보안도 지킬 수 있다.
공중망을 통해 데이터가 송수신되더라도 정보 유출이 없도록 라우터 체계를 비공개하고, 데이터를 암호화하고 사용자 인증 기능을 추가하는 등의 다양한 보안기능을 제공한다.
VPN 터널링
터널링이란 연결해야할 두 지점간에 마치 터널이 뚫린 것처럼 통신 통로를 생성하는 것을 말한다. 이 터널은 터널링을 지원하는 프로토콜을 사용하여 구현되고 있으며 사설망과 같은 보안 기능을 제공한다. 경유지를 통하지 않고 두 지점을 바로 연결시켰기 때문에 tracert 명령을 사용해보면 라우팅 경유지 정보가 출력되지 않는다. 또한 터널링되는 데이터는 터널링 구간에서 캡슐화 된다.
VPN 터널링 프로토콜
계층 | 프로토콜 | 설명 |
2계층 | PPTP | - MS 사에서 개발한 프로토콜로 페이로드를 암호화하고 IP헤더로 캡슐화하여 전송한다. - VPN에 비밀번호를 사용해 로그인하게 되는데 보안성이 미약해 요즘엔 거의 사용하지 않는 프로토콜이다. - 하나의 터널에 하나의 연결만 허용한다. |
L2F | - 시스코 사에서 개발한 프로토콜로 TCP가 아닌 UDP를 사용한다는 특징이 있다. - PPTP와는 다르게 하나의 터널에 여러 연결을 허용한다. |
|
L2TP | - PPTP와 L2F를 결합한 방법으로 PPTP와 캡슐화 방식은 동일하지만 추가적으로 IPSec의 ESP를 도입해 보안기능을 제공한다. | |
3계층 | IPSec | - IPSec은 네트워크 계층의 보안을 위해 IETF에 의해 제안되었으며 VPN 구현에 널리 쓰이고 있다. - AH(Authentication Header)와 ESP(Encapsulation Security)를 통해 데이터의 인증, 무결성, 기밀성을 제공하며, 전송모드와 터널모드 2가지가 존재한다. - IPSec을 사용하면 IP 헤더와 페이로드로 이루어져 있는 IP패킷이 터널 안으로 들어가면서 AH가 추가된 후 캡슐화가 이루어지고 ESP 헤더가 삽입되면서 IP패킷이 암호화되게 된다. |
MPLS | - MPLS는 시스코 사에서 정한 표준 중 하나로 이 MPLS 통신 네트워크를 이용해 VPN을 제공하는 것이 MPS VPN이다. - 여타 VPN 구조에 비해 도입 및 운영이 간단하고 비용이 저렴하다. |
|
4~7계층 | SSL | - 넷스케이프 사에서 만든 프로토콜로 웹서버와 웹브라우저 간의 안전한 통신을 목적으로 한다. - IPSec과 기능은 거의 동일하나 암호화 방식이나 하드웨어가 불필요한 점 등 차이가 있다. |
ESP(Encapsulating Security Payload)
- 두 개의 시스템이 송수신하는 IP패킷에 대한 인증과 암호화를 실시한다. 데이터의 무결성과 기밀성을 보장한다.
- RFC 2406에 정의되어 있으며, IPv4 프로토콜 필드에서 50번을 사용한다.
- 인증 알고리즘(MD5-HMAC, SHA-HMAC)과 대칭키 암호화 알고리즘(DES, 3DES, AES)를 지원한다.
ESP Mode
ESP Mode에 따라 encapsulation 범위가 달라진다.
- ESP Transport Mode : 상위 계층의 Payload(헤더가 포함된 전체 데이터)만 보호한다. 즉, IP헤더를 제외한 IP패킷의 Payload만 보호한다. AH Header만 붙는다.
- ESP Tunnel Mode : AH Tunnel과 달리 IP 패킷 전체를 보호한다. AH Header와 New IP Header가 붙는다.
VPN - 보안 기능
- 데이터 기밀성 : 송수신되는 데이터의 기밀을 지키기 위해 암호화하여 전송한다.
- 데이터 무결성 : 송수신되는 데이터의 내용이 중간에 변경되지 않았음을 보장하기 위해 암호화 및 전자서명을 사용한다.
- 데이터 인증 : 수신한 데이터가 알맞은 송신자에 의해 전송됐음을 보장한다.
- 접근통제 : 인증된 사용자만 접근을 허용한다.
NAT(Network Address Translation)란?
NAT는 사설 IP를 공인 IP로 변경할 때 필요한 주소 변환 서비스이다. 좀더 자세히 설명하자면, 라우터 등의 장비를 사용하여 다수의 사설 IP(Private IP)를 하나의 공인 IP(Public IP) 주소로 변환하는 기술이다.
주로 기업이나 기관에서는 내부망을 사용하는 PC에 사설 IP를 제공하고 외부 인터넷에 연결 시엔 공인 IP 하나를 같이 사용하는 형태로 운영된다. NAT는 다수의 주소 변환 정보에 대해 IP주소와 Port 번호로 구성된 NAT Forwarding Table을 보관하고 있고 이에 맞게 주소 변환 서비스를 제공한다.
아래 그림에서 NAT Table의 특징은 아래와 같다.
- 내부 네트워크에 위치한 호스트들의 사설 IP와 Port 번호에 대한 정보를 가지고 있음.
- 외부로 나갈 때의 동일한 공인 IP와 각기 다른 포트 번호를 가지고 있음.
- 목적지 주소의 공인 IP와 서비스에 사용된 동일한 서비스 포트 번호를 가지고 있음.
공인 IP는 같으나, 포트 번호를 다르게 할당하여 각각의 호스트를 구분 짓는 구조이다.
NAT가 필요한 이유?
크게 두가지 목적을 가진다.
- 공인 IP 주소를 절약
- 인터넷 상의 공인 IP 주소의 개수는 한정되어 있어 NAT를 이용해 공인 IP 사용을 줄인다.
- 보안
- NAT가 마치 방화벽 역할을 하여 보안을 높힐 수 있다.(NAT는 물론 방화벽 형태일 수 있지만, 일반 라우터 형태일 수 있다.)
NAT의 동작 원리 - IP masquerading
NAT는 하나의 공인 IP 뒤로 여러 개의 사설 IP 공간을 은닉하는 IP masquerading(마스쿼레이딩) 기법을 사용한다.
참고: https://liveyourit.tistory.com/3
'인프라 > 네트워크(기초)' 카테고리의 다른 글
[HTTP, HTTPS] x-forwarded-for(XFF) header (0) | 2023.04.07 |
---|---|
네트워크(DNS) - A record와 CNAME의 차이점!(DNS Record Type) (0) | 2020.04.22 |
Network - Proxy(프록시)와 Gateway(게이트웨이)란? 이 둘의 차이점은? (0) | 2020.04.12 |
네트워크 - GSLB(Global Server Load Balancing)란? (2) | 2020.04.07 |
OS - ssh 비밀번호 없이 접속하기 (0) | 2019.08.04 |