1. VPN의 이해
VPN (Virtual Private Network) : client와 어떤 intranet 사이에 private channel을 만들어서 그 intrante에 접속하는 시스템. 그 intranet에서 다시 인터넷으로 접속할 수도 있다.
예) 회사 내부망을 구축했을때, 만약 직원이 회사외부로 출장을 나가 있는 상황인데 내부망에 접속해야 할 일이 발생하면
회사에서 VPN 서버를 작동시키고 직원에게 VPN 계정을 할당하여 내부망에 접속하도록 할 수 있다.
2. VPN을 통한 차단 사이트 우회
만약 특정 게임회사가 자사의 게임이 중국에서는 실행되지 않도록 해놓았다면 이는 중국 쪽의 ip주소를 막아놓은 것이다.
이때 중국의 사용자는 한국에서 작동하는 VPN 서비스에 연결한 뒤 해당 게임을 실행하면 된다.
게임회사 쪽에서 봤을 때 이 커넥션은 한국에서 접속한 것으로 보이기 때문에 접속을 차단하지 않는다.
회사에서 직원들의 트래픽이 모두 web proxy를 거쳐서 나가도록 한다음 특정 사이트에 대한 접속을 막았을 때를 생각해보자.
이때 직원은 자신의 VPN 서버에 연결한다.
그럼 회사의 web proxy 입장에서 이 트래픽은 blacklist에 대한 접속을 요청하는 것이 아니기 때문에 접속을 허가한다.
그럼 이 직원이 VPN에 연결한 다음 회사가 막은 그 사이트에 접속을 시도할 수 있다.
VPN을 이용하면 특정 inbound ip나 outbound ip를 차단한 시스템을 우회하여 원하는 네트워크 접속을 수행할 수 있다.
3. VPN을 통한 보안 강화와 암호화
어떤 공용 WIFI를 사용할 때 누군가에 의해 내 컴퓨터에서 나가는 트래픽이 ARP spoofing을 통해 감시당할 수 있다.
이때 VPN 서버를 하나 열고 여기에 연결해서 외부 인터넷을 사용한다.
단, 내 컴퓨터와 해당 VPN 서버 사이의 트래픽을 암호화해서 처리한다면 트래픽이 감시당한다 하더라도 그 내용은 알 수 없게 된다.
- site-to-site VPN
VPN은 멀리 떨어져 있는 회사 본부 간의 정보전달을 위해서도 사용된다. (예 : 한국 지사와 미국지사)
이때 각 지사의 네트워크를 연결하는 VPN을 하나 만들고 암호화 방식을 정한다.
그리고 VPN터널은 암호화된 데이터를 주고받음으로써 보안이 확보된 상태에서 양 지사간의 통신을 할 수 있다.
4. VPN의 보안 취약점
외부에서 VPN에 접속하려면 VPN 서버는 최상단에 listen을 위한 포트를 하나 개방해야 한다.
만약 listen을 하는 application에 보안 취약점이 있다면 이를 통해 외부에서 exploit을 통해 내부로 침투할 수 있게된다.
또한 정상적인 경우 인증과정 후에 VPN 서비스에 연결해줄텐데 이때 Brute Forcing과 같은 방법으로 인증에 성공할 수도 있다.
VPN을 이용해 해커가 내부망 침투에 성공할 경우 다른 포트에 적용해놓은 보안 솔루션은 모두 무용지물이 된다.
예를 들어, 80번 포트에서 각종 웹 공격에 대비해 방화벽을 세우고 보안 기술을 적용해냈다 하더라도 해커가 VPN 포트로 내부망에 들어오면 아무런 쟁애물 없이 웹서버에 접근할 수 있게 된다는 것이다.
VPN에서 암호화된 트래픽을 복호화할 때 이 과정에 DMZ 영역에서 일어나기 때문에 암복호화에 사용되는 키가 노출될 수 있다.
5. VPN의 종류
1) PPTP (Point to Point Tunneling Protocol)
2) L2TP (Layer 2 Tunneling Protocol)
3) IPSEC
4) OpenVPN
5) SSL-VPN
6) SSTP (Secure Socket Tunneling Protocol)
기타
1) Tor 브라우저
익명으로 인터넷 연결을 해주는 브라우저
VPN과 같이 속도 문제가 발생할 수 있다.
자바스크립트나 플래시는 Tor를 타지 않고 직접 전달될 수도 있다.
2) Proxy 접속
VPN과 다른 기술이지만 마찬가지로 익명성을 가지고 인터넷에 연결할 수 있다.
*) 다만 Tor 브라우저나 Prxoy 접속을 이용하더라도 http/https 트래픽만 우회할 수 있고 프록시는 내 IP가 보인다.
또한 프록시 서버가 로그를 남기면 내가 어떤 사이트에 접속하는지 로깅이 가능하다.
3) 덕덕고
사용자의 검색정보를 남기지 않는 검색엔진
악성코드 분석가에게 트래픽 우회란?
1) 감염 테스트용으로 사용해볼 외부 VPN 클라이언트를 세팅해두자!
2) 온라인 Proxy Server 이용