VPN

지명근·2021년 2월 7일
1

전공공부

목록 보기
6/9
post-thumbnail

개요

오라클 클라우드 서버를 대여하고 난 후 이것으로 무엇을 할 수 있는지 생각해보았다. 게임 서버, VPN, WAS 등 여러 활용 방법이 생각났다.

최근 온라인 게임을 하다 보면 특정 시간(주로 저녁)에 핑이 치솟는 경험을 많이 하였다. 이는 유료 VPN을 사용하면 해결이 되었었고, 아마도 내가 사용하는 통신사의 해외망과 연관된 것이라 짐작했다.
내가 사용하는 유료 VPN이 저렴하기는 하지만 지출이 생기기 마련이니, 클라우드 서버를 개인 VPN으로 활용해보고 싶어졌다.

이번 글에서는 클라우드 서버에 VPN 환경을 구축하기 전에 사설망과 VPN에 대해 알아보고자 한다.

사설망

사설망이란 공공기관, 군, 기업 등에서 구축하는, 외부의 제 3자가 접근할 수 없도록 특정 장치들만 전용선으로 연결한 내부망을 의미한다.

이렇게 구축한 사설망은 보안이 뛰어나다는 장점이 있지만, 물리적으로 연결되어있지 않은 지역에서는 접근할 수 없다. 결국 사설망을 사용하기 위해서는 추가적으로 망을 확장해야하는데, 만약 해외까지 확장해야한다면 비용이 천문학적으로 커지게 될 것이다.

물리적으로 망을 확장하는 것은 비용이 크기 때문에, 확장성이 뛰어난 인터넷을 사용하여 인트라넷처럼 사용하고자 하는 기술 중 하나가 VPN이다.
사설망은 물리적으로 연결된 장치끼리만 접속할 수 있는데 비해, 인터넷은 간접적으로 연결되어 있으면 된다.

VPN

정의

VPN(Virtual Private Network)은 인터넷과 암호화 기술을 사용하여 구축한 가상의 사설망이다.
인터넷을 이용하여 망의 확장성을 높이고 비용을 절감시키고, 인터넷을 사용함으로서 발생하는 보안 문제는 암호화 기술을 사용하여 보완한 기술이다.

VPN은 실제 현재 위치가 아닌 다른 곳에서 인터넷에 연결하는 것처럼 보이게 하여 
데이터 및 사용자의 요청을 보호하는 도구
- Adguard 문서 중 -

장점

  • 익명성
    사용자를 추적할 수 없도록 인터넷 활동 기록과 위치를 숨긴다.
    이것으로 해커, ISP, 국가의 감청을 피할 수 있다.
    특히 공공 와이파이는 보안성이 취약한데, VPN으로 보안성을 향상시킬 수 있다.

  • 검열 우회
    ISP, 국가의 온라인 검열을 우회하고 인터넷을 자유롭게 사용할 수 있게 한다.
    또한 특정 국가에서 차단되는 컨텐츠(게임, 유튜브, 넷플릭스)를 즐길 수 있다.

  • 해외 사이트 속도 향상
    이는 국내 ISP가 해외 트래픽 비용을 감당하지 못하는 경우 QoS 정책으로 해외 인터넷 속도 제한을 하기에, 위 경우에 해당될 때 VPN을 사용하면 원래의 속도가 나올 수 있다.

ISP(Internet Service Provider, 인터넷 서비스 제공자)
인터넷에 접속하는 수단을 제공하는 주체, 영리를 목적으로 하는 사기업이 대다수이나 비영리 공동체가 주체인 경우도 있다.

인터넷 통신망을 보유하여 인터넷 회선과 IP 할당까지 담당하는 회사, 통신망을 보유하고 있지만 회선만 임대하고 IP할당은 하지 않는 회사, 다른 회사의 통신망을 임대받고 인터넷 서비스만 하는 회사가 있다.

대표적으로 3대 통신사인 KT, SK텔레콤, SK브로드밴드, LG유플러스 등이 있고, 이 외에도 알뜰폰이나 여러 케이블 방송사들도 있다.

QoS(Quality of Service)
특정 사용자가 과도하게 트래픽을 사용할 경우, 다른 사용자의 QoS를 보장하기 위해 과다 트래픽 사용자의 속도를 제한하는 정책을 말한다.
3대 이동통신사는 모두 QoS를 적용하고 있다.

원리

일반적인 요청의 경우

  1. 웹 페이지를 열면 요청 데이터가 전송된다.

  2. 데이터는 서버에 도달할 때 까지 전송이 계속된다.

  3. 데이터가 서버에 도착하면, 해당 서버에 데이터, 트래픽 등의 분석을 위해 사용자의 IP 주소와 웹 요청을 기록한다.

VPN을 사용하면

  1. VPN에 연결하면 데이터가 암호화되는 보안 터널을 통해 연결된다. 데이터가 읽을 수 없는 형태로 암호화되어 사용자의 장치와 VPN 서버간에 데이터가 이동된다.

  2. 이제 장치가 VPN과 동일한 네트워크에 있는것으로 나타나며, IP 주소는 실제로 VPN 서버 중 하나의 IP 주소가 된다.

이러한 과정 때문에 데이터는 사용자 장치의 IP가 아닌 VPN 서버의 IP를 가지게 된다.

데이터가 얼마나 효과적으로 암호화되는지는 VPN 제공 업체의 암호화 메커니즘의 프로토콜에 따라 다르다.

암호화

VPN은 장치가 인터넷에 연결할 때 중재자 역할을 하므로 IP 주소를 숨기고 사용자의 신원을 보호한다. 게다가 장치와 VPN이 통신하던 도중 데이터가 중간에 가로채이더라도, 최종 목적지에 도착하기 전에는 읽을 수 없다.

VPN 보안 프로토콜 유형

  • Layer 2 Tunneling Protocol (L2TP)/IPSec
    데이터를 자체적으로 암호화하지 않는 VPN 프로토콜이기 때문에 IPSec와 쌍을 이룬다.
    대부분의 장치 및 운영 체제에서 사용이 가능한 것이 장점이고, 높은 수준의 보안을 제공한다.
    단점으로는 이중 캡슐화 프로세스를 사용하기 때문에 연결이 느려질 수 있다.

  • Secure Sockets Layer (SSL) 및 Transport Layer Security(TLS)
    SSL은 2015년 이전에 사용된 암호화 프로토콜. SSL은 많은 취약점이 발견되어, 이후 TLS로 발전하였다.

  • Secure Socket Tunneling Protocol (SSTP)
    Microsoft에서 개발된 프로토콜로, 안전하고 사용하기 쉽지만 윈도우 환경 이외에서는 제대로 작동하지 않는다.

  • Internet Key Exchnage, Version 2 (IKEv2)
    IPSec을 기반으로, IPSec을 암호화하는데 사용된다.
    매우 안전하고 빠르지만, 방화벽으로 차단될 수 있다.

  • Open VPN
    널리 사용되는 VPN 프로토콜로, 안전하고 빠르며 오픈소스이다.

  • WireGaurd
    Open VPN 및 IKEv2보다 훨씬 빠르고 안정적인 프로토콜

  • AdGuard 프로토콜
    일반적인 브라우징과 구별할 수 없는 것이 특징.
    HTTPS 트래픽과 동일하므로 차단/감지가 어렵다.

단점

  • 연결이 느려질 수 있음
    VPN서버는 데이터를 암호화하고 라우팅해야 하고, 데이터가 VPN서버를 거쳤다가 전달되기 때문에 필연적으로 속도가 느려진다.
    다만, VPN서버의 위치(국내/해외)에 따라 큰 체감이 안될수도 있고, 초고속 VPN을 제공하는 서비스도 존재한다.

  • VPN을 차단하는 서비스
    Netflix와 같은 특정 사이트는 VPN을 감지하고 차단한다.
    VPN을 제공하는 업체는 이를 우회하려고 하므로, 창과 방패의 싸움이다.
    (NordVPN은 넷플릭스를 쉽게 우회하는 VPN으로 유명하다)

  • 무료 VPN의 한계
    무료 VPN을 사용하는 경우 유저를 특정할 수 있다. 이는 IP를 역추적해서 알아내는 것이 아니라, 이미 VPN이라고 알려진 IP들의 리스트를 대조해서 일치하는 유저를 잡는 것이다.
    잘 알려지지 않은 VPN을 사용하는 경우에는 정확하게 특정할 수 없다.

  • VPN 제공 업체가 데이터를 가지고 있을 수 있음
    데이터가 항상 VPN 서버를 거쳐가므로, 데이터를 저장할 위험이 있다. 때문에 해당 업체에 노로그(No-log) 정책이 있는지 확인하고, 데이터를 공유해야하는 국가를 기반으로 하는지 확인해야한다.

  • 다른 사람과 IP를 공유하게 된다
    VPN을 사용하는 다른 사용자가 특정 사이트에서 밴을 당한다면, 해당 사이트를 사용할 수 없게 된다. 전용 IP 주소를 제공하는 VPN을 선택하면 이를 피할 수 있다.

번외 : VPN vs HTTPS

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)는, 웹 브라우저와 웹사이트가 통신을 할 때 사용되는 프로토콜이다.

기존 HTTP에서 보안(Secure)이 추가된 것으로, TLS 암호화 프로토콜로 데이터를 보호한다. 또한 브라우저와 서버가 상대방이 올바른 대상인지 확인하는 인증 기능을 하고, 전송된 데이터가 손상되지 않았는지 검증하는 역할을 한다.

만약 사이트가 HTTPS를 사용한다면, ISP나 해커는 당신이 어느 사이트에 방문했는지만 알지, 거기서 무슨 일을 했는지는 모르게 된다.

VPN을 사용하면 사용자의 장치와 서버 사이에 암호화된 터널을 생성한다. 브라우저 뿐만 아니라 다른 모든 트래픽이 암호화되기 때문에, ISP나 해커는 사용자가 VPN 서버에 연결되어있다는 것만 확인할 수 있다.

어느 것이 좋은가?

VPN과 HTTPS 모두 장점이 다른데, 같이 쓰면 보안에 아주 효과적이다.

  • HTTPS는 브라우저와 웹사이트 모두 지원해야 동작하지만, VPN은 켜져 있는 동안 동작한다.
  • HTTPS는 end-to-end 암호화를 제공하는데, VPN은 장치-VPN서버 간 암호화를 제공한다.
  • HTTPS는 브라우저-웹사이트간 암호화만 지원하는 반면, VPN은 모든 온라인 통신을 보호한다.
  • HTTPS는 VPN이 보호할 수 있는 특정 공격(ex. 루트 인증서 공격)에 취약하다.

둘 중 하나를 선택할 필요가 없기에, 가장 좋은 것은 둘다 사용하는 것이다.

맺음말

이번 글에서 VPN에 대해 알아보았다. 여러가지 보안 프로토콜이 있다는 사실을 알게 되었고, 개인 서버에 어떤 프로토콜을 사용할지, 어떤 VPN을 사용할지 고민할 기회가 되었다.
후에 개인적으로 사용할 수 있는 VPN에 대해 좀 더 알아보고 오라클 클라우드에 한번 올려보려고 한다.

참고

https://www.namecheap.com/vpn/how-does-vpn-virtual-private-network-work/
https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%EC%84%9C%EB%B9%84%EC%8A%A4_%EC%A0%9C%EA%B3%B5%EC%9E%90
https://judo0179.tistory.com/44
https://ko.wizcase.com/blog/vpn-%EC%B4%88%EB%B3%B4%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-a-z-%EA%B0%80%EC%9D%B4%EB%93%9C/
https://adguard.com/ko/what-is-vpn/how-does-vpn-work.html
https://nordvpn.com/ko/blog/https-vs-vpn/
https://namu.wiki/w/%EA%B0%80%EC%83%81%20%EC%82%AC%EC%84%A4%EB%A7%9D?from=%EB%B8%8C%ED%94%88
https://namu.wiki/w/%EC%9D%B8%ED%84%B0%EB%84%B7%20%EC%84%9C%EB%B9%84%EC%8A%A4%20%EC%A0%9C%EA%B3%B5%EC%82%AC%EC%97%85%EC%9E%90

profile
백엔드 지향

0개의 댓글