6.1 VPN 소개
가상 사설망 또는 VPN은 말 그대로 가상 사설망입니다. 아마도 휴대폰이나 컴퓨터의 브라우저에서 국가를 변경하려고 할 때 VPN이라는 단어를 자주 들었을 것입니다. VPN을 실행하고 국가를 선택하면 완료됩니다.
실제로 VPN은 국가와 관련이 없습니다. 경우는 조금 다릅니다.
컴퓨터로 사무실에서 일하고 있고 이 사무실에는 컴퓨터, 서버, 프린터, 화상 회의 장비 등 네트워크 액세스가 가능한 다양한 컴퓨터 장비가 있다고 상상해 보십시오.
상황 1 : 사무실이 커져서 다음 층으로 이사하기로 결정했습니다. 컴퓨터를 다른 방으로 옮기고 다른 네트워크 콘센트에 연결했는데도 여전히 회사의 모든 서버와 컴퓨터에 액세스할 수 있습니다.
아마도 귀하의 컴퓨터는 현재 다른 라우터와 통신하고 있지만 회사의 모든 라우터는 서로 통신하는 방법을 알고 있으며 동일한 로컬 네트워크에 있는 모든 이점을 제공합니다. 회사 네트워크의 모든 장비에 액세스하는 데 문제가 없습니다.
상황 2 : 팬데믹이 시작되어 집에서 일하기로 결정합니다. 업무용 컴퓨터를 집으로 가져갔지만 불행하게도 집에서는 사무실 서버에 액세스할 수 없습니다. 그들은 도시 반대편에 있는 사무실에 머물렀기 때문에 논리적인 것 같습니다. 반면에 질문이 생깁니다. 첫 번째 경우에 컴퓨터를 이전할 때 여전히 사무실 컴퓨터에 액세스할 수 있었습니다. 두 번째 경우 컴퓨터를 이동하면 액세스할 수 없습니다. 무엇이 바뀌었나요?
첫 번째 경우 사무실의 모든 컴퓨터(다른 층에 있는 컴퓨터 포함)는 동일한 로컬 네트워크에 있었습니다. 그러나 두 번째 경우에는 그렇지 않습니다. 집에 있는 컴퓨터가 사무실 LAN에 연결되어 있지 않습니다. 따라서 사무실 네트워크의 내부 리소스에 액세스할 수 없습니다.
이 문제에 대한 해결책으로 가상 근거리 통신망 (VPN)이 제안되었습니다. 사무실의 각 층에는 서로 데이터를 전송하고 로컬 네트워크의 작동을 보장하는 라우터가 있습니다.
두 개의 가상 라우터 (프로그램 형식)를 만들어야 합니다 . 하나는 사무실에, 다른 하나는 집에 있으며 인터넷을 통해 서로에게 암호화된 데이터를 보낼 것입니다. 그리고 그러한 프로그램이 있습니다. 그 중 하나는 VPN 서버 이고 두 번째는 VPN 클라이언트 입니다 .
VPN 서버는 사무실의 시스템 관리자가 구성하고 VPN 클라이언트는 이제 모든 컴퓨터 및/또는 전화기에 있습니다.
컴퓨터에서 VPN 클라이언트를 시작하고 이를 사용하여 VPN 서버에 연결하면 컴퓨터는 이제 VPN 서버가 있는 로컬 네트워크 내부에 있다고 생각합니다.
이제 브라우저를 실행하면 브라우저의 모든 데이터가 로컬 가상 라우터(VPN 클라이언트)로 이동하고 여기에서 회사의 가상 라우터(VPN 서버)로 이동한 다음 인터넷 게이트웨이를 통해 외부로 이동합니다. 사무실 회사.
이제 컴퓨터의 외부 IP 주소가 사무실의 공용 IP 주소와 일치합니다. 예를 들어 이 사무실이 독일에 있는 경우 브라우저에서 액세스한 서버는 귀하가 독일에 있는 사무실에 있음을 확인합니다.
6.2 VPN 유형
VPN 네트워크는 대상 기능에 따라 구분됩니다. 다양한 솔루션이 있지만 일반적인 VPN 솔루션 목록은 다음과 같습니다.
인트라넷 VPN
한 조직의 여러 분산 지점을 단일 보안 네트워크로 결합하여 개방형 통신 채널을 통해 데이터를 교환하는 데 사용됩니다. 이것은 모든 것을 시작한 첫 번째 것입니다.
원격 액세스 VPN
회사 네트워크 세그먼트(중앙 사무실 또는 지사)와 집에서 작업하는 동안 가정용 컴퓨터, 회사 랩톱, 스마트폰 또는 인터넷 키오스크에서 회사 리소스에 연결하는 단일 사용자 간에 보안 채널을 만드는 데 사용됩니다. 집에서 일하고 VPN을 통해 사무실에 연결하는 경우 사용할 수 있는 옵션입니다.
엑스트라넷 VPN
"외부" 사용자(예: 고객 또는 클라이언트)가 연결하는 네트워크에 사용됩니다. 그들에 대한 신뢰 수준은 회사 직원보다 훨씬 낮기 때문에 특히 귀중한 기밀 정보에 대한 직원의 액세스를 방지하거나 제한하는 특별한 보호 "경계"를 제공해야 합니다.
인터넷 VPN
일반적으로 여러 사용자가 하나의 물리적 채널을 통해 연결하는 경우 공급자가 인터넷 액세스를 제공하기 위해 사용합니다. PPPoE 프로토콜은 ADSL 연결의 표준이 되었습니다.
L2TP는 2000년대 중반에 홈 네트워크에 널리 퍼졌습니다. 당시에는 인트라넷 트래픽에 요금이 부과되지 않았고 외부 트래픽은 비쌌습니다. 이를 통해 비용을 제어할 수 있습니다. VPN 연결이 꺼지면 사용자는 아무 것도 지불하지 않습니다.
현재 유선 인터넷은 저렴하거나 무제한이며 사용자 측에는 인터넷을 켜고 끄는 것이 컴퓨터만큼 편리하지 않은 라우터가 종종 있습니다. 따라서 L2TP 액세스는 과거의 일입니다.
클라이언트/서버 VPN
또한 인기있는 옵션입니다. 회사 네트워크의 두 노드(네트워크 아님) 간에 전송된 데이터를 보호합니다. 이 옵션의 특징은 VPN이 일반적으로 동일한 네트워크 세그먼트에 있는 노드 사이(예: 워크스테이션과 서버 사이)에 구축된다는 것입니다. 이러한 필요성은 하나의 물리적 네트워크에 여러 논리적 네트워크를 만들어야 하는 경우에 매우 자주 발생합니다.
예를 들어 재무 부서와 인사 부서 간에 트래픽을 분할해야 하는 경우 동일한 물리적 세그먼트에 있는 서버에 액세스합니다. 이 옵션은 VLAN 기술과 유사하지만 트래픽을 분리하는 대신 암호화됩니다.
6.3 오픈VPN
VPN 클라이언트를 사용하여 연결할 수 있는 사무실 측 가상 라우터에 대해 이야기한 것을 기억하십니까? 따라서 알아두면 유용할 매우 인기 있는 솔루션이 하나 있습니다. 이것은 OpenVPN입니다.
OpenVPN 은 VPN(가상 사설망) 기술을 구현하는 무료 프로그램입니다. 두 개의 대규모 네트워크를 결합해야 하는 경우 두 가지 인기 있는 작동 모드인 클라이언트-서버 및 지점 간을 지원합니다.
참가자 간에 양호한 수준의 트래픽 암호화를 유지하고 설정을 변경하지 않고도 NAT와 방화벽 뒤의 컴퓨터 간에 연결을 설정할 수 있습니다.
제어 채널 및 데이터 흐름을 보호하기 위해 OpenVPN은 OpenSSL 라이브러리를 사용합니다 . 이렇게 하면 이 라이브러리에서 사용할 수 있는 전체 암호화 알고리즘 세트를 사용할 수 있습니다.
또한 HMAC 일괄 인증을 사용하여 보안 및 하드웨어 가속을 강화하여 암호화 성능을 향상시킬 수 있습니다. 이 라이브러리는 OpenSSL, 특히 SSLv3/TLSv1.2 프로토콜을 사용합니다 .
이 프로그램은 Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX, Microsoft Windows, Android, iOS 등 널리 사용되는 모든 운영 체제에 대해 구현되어 있습니다.
OpenVPN은 사용자에게 여러 유형의 인증을 제공합니다 .
- 미리 설정된 키가 가장 쉬운 방법입니다.
- 인증서 인증은 설정에서 가장 유연한 방법입니다.
- 로그인 및 암호 사용 - 클라이언트 인증서를 생성하지 않고 사용할 수 있습니다(서버 인증서는 여전히 필요함).
기술적 인 정보
OpenVPN은 TCP 또는 UDP 전송을 통해 모든 네트워크 작업을 수행합니다. 일반적으로 터널은 TUN 연결이 사용되는 경우 OSI를 통해 네트워크 계층 트래픽 이상을, TAP가 사용되는 경우 링크 계층 트래픽 이상을 전달하기 때문에 UDP가 선호됩니다.
이는 OpenVPN이 클라이언트를 위한 채널 또는 물리적 계층 프로토콜 역할을 한다는 것을 의미합니다. 즉, 필요한 경우 더 높은 OSI 수준으로 데이터 전송 안정성을 보장할 수 있습니다.
우리가 OSI 모델을 잘 분석했다면 여기에서 말하는 내용을 이해해야 합니다.
그렇기 때문에 개념상 UDP 프로토콜은 데이터 링크 및 물리적 계층의 프로토콜과 마찬가지로 연결 안정성을 제공하지 않고 이 이니셔티브를 더 높은 수준으로 전달하기 때문에 OpenVPN에 가장 가깝습니다. TCP를 통해 작동하도록 터널을 구성하면 서버는 일반적으로 클라이언트로부터 다른 TCP 세그먼트를 포함하는 OpenVPN TCP 세그먼트를 수신합니다.
또한 OpenVPN은 NAT 및 네트워크 필터를 통해 HTTP, SOCKS를 포함한 대부분의 프록시 서버를 통해 작동할 수 있습니다. 클라이언트에 네트워크 설정을 할당하도록 서버를 구성할 수 있습니다. 예를 들어 IP 주소, 라우팅 설정 및 연결 매개변수입니다.
GO TO FULL VERSION