VPN(Virtual Private Network)은 방화벽, 침입 탐지 시스템과 함께 현재 사용되는 가장 일반적인 보안 솔루션 중 하나이다. VPN을 이해하려면 먼저 인터널 네트워크(Internal Network)를 이해해야 한다. 알고 있겠지만 인터널 네트워크는 기업 내부 간 데이터 통신을 위한 네트워크이다.
기업의 내부 네트워크에서 주고받는 데이터는 회사 내의 업무 정보일 경우가 많고 외부에는 기밀정보이기 때문에 일반적으로 회사 내의 데이터 통신은 인터넷과 구분된 별도의 임대회선(Leased Line)을 사용한다.
임대회선은 무척 고가이다. 가정에서 ADSL을 사용해 1MB 정도의 속도를 이용하는 데 한 달에 3만원 정도가 든다면 임대회선은 100만원이 훌쩍 넘는 비용이 든다. 만약 회사가 여러 곳에 분산되어 있어 여러 임대회선을 사용한다면 그 비용은 상상 이상으로 커질 것이다. 이러한 임대회선의 비용 부담은 새로운 보안 솔루션 시장을 창출시켰는데, 그것이 바로 VPN이다.
간단히 얘기하면 VPN은 한 달에 3만원이면 이용할 수 있는 인터넷 회선을 임대회선과 비슷하게 사용할 수 있도록 해주는 솔루션이다. 이를 위해서는 VPN이 임대회선과 비슷한 수준의 기밀성을 제공해야 하는데, 여기에 암호화가 필요하다.
8장 암호에 대한 이해와 9장 암호를 이용한 전자상거래에서 암호화에 대해 이미 살펴보았으니 여기서는 VPN이 효과적으로 이용될 수 있는 상황을 몇 가지 쉬운 예를 통해 살펴보자.
■ 해외여행을 가서도 국내 온라인 게임을 할 수 있다.
대부분의 온라인 게임은 해당 국가의 IP 주소만을 사용해 게임에 접속할 수 있다. 나라마다 통화의 가치가 달라 이용비가 비싼 나라의 사람이 이용비가 싼 나라의 게임 서버를 이용하지 못하게 하기 위해서이다.
즉 해외여행을 가면 우리나라의 게임 서버를 이용할 수 없는데, 국내에 VPN 장비를 하나 마련해두면 이 문제를 해결할 수 있다. VPN 장비에 접속하여 국내 IP 주소를 할당받아 국내의 게임 서버에 접근할 수 있기 때문이다.
■ 집에서도 회사 내의 서버를 보안된 상태로 접근할 수 있다.
IT 운영자로 일을 하다보면 가끔 긴급한 일이 발생해 회사로 달려가야 하는 경우가 발생한다. 이럴 때 회사에 가지 않고 가정이나 회사 외부에서 인터넷을 통해 회사의 서버에 접근을 시도하면 무척 편하지만 보안상 문제가 발생한다.
왜냐하면 대부분 유동 IP 주소를 사용하기 때문에 외부에서 접속할 경우 패킷을 스니핑 당할 확률이 무척 높아지기 때문이다. 이때 VPN을 이용하면 이를 해결할 수 있다.
[그림 10-15] VPN을 이용한 외부에서의 접근
[그림 10-15]와 같이 회사에 VPN 장비를 마련해두고, 외부에서 VPN 장비의 인증을 거친 후 내부 시스템에 접속할 수 있도록 하는 것이다. 이렇게 하면 네트워크 트래픽이 암호화되어 이용자는 VPN 인증과 함께 방화벽을 통한 서비스 통제, 접근 대상 서비스 인증을 거치므로 임의 접근보다 훨씬 높은 수준의 보안을 유지할 수 있다.
■ 원격의 두 지점 간을 내부 네트워크처럼 이용할 수 있다.
VPN은 인증을 제공하기도 하지만 인증 없이 터널링을 제공하기도 한다. [그림 10-16]과 같이 본점과 지점을 VPN을 이용해서 연결하면, 양측의 사용자는 중간에 VPN 장비가 있다는 것을 느끼지 못한다.
[그림 10-16] VPN을 이용한 터널링
이런 네트워크 구조는 임대회선과 비슷한 방식으로 동작한다. 이때 VPN 장비는 라우터처럼 동작하기도 하는데 그렇지 않으면 두 VPN 장비 사이에 각각 라우터를 설치하기도 한다.
저자 한마디 네트워크의 보안 솔루션으로 인한 문제점
최근의 네트워크에는 네트워크 통신을 위한 라우터와 스위치, 그리고 서비스 제공을 위한 서버 이외에도 여러 가지 보안 솔루션을 포함해 다양한 장비가 배치된다. 그런데 이렇게 많은 장비가 함께 있을 때 한 장비에 오작동이 발생하면 네트워크에 치명적인 위험을 가져올 수도 있다.
어떤 은행은 한 달에 한두 번씩 30분 정도 네트워크가 마비되었는데, 그 원인을 몇 달이 지나도록 찾지 못했다. 그런데 나중에 밝혀진 바에 의하면 어떤 장비에서 생성한 패킷의 MAC 주소가 잘못된 값으로 생성되어 네트워크의 흐름을 꼬아놓는 것이었다.
문제는 어떤 장비에서 그런 패킷이 생성되는지 찾지를 못한다는 것인데 네트워크의 장비를 하나씩 떼내어 검증하는 것이 거의 불가능하기 때문이다. 따라서 네트워크 장비를 도입할 때는 네트워크에 이를 배치하기 전에 적절한 검증 작업이 꼭 필요하다.