2020년 초, 코로나 바이러스 확산으로 인해 기업들은 재택근무를 활발하게 추진하였다.
회사에서 사내 네트워크에 접속하여 업무를 보는 것과는 다르게 재택근무를 하게 되면 사내 네트워크에 접근이 불가능하다.
자택의 공유기 네트워크와 회사의 네트워크는 공인 인터넷을 중간에 두고 있기 때문이다.
사내에서 사용하는 업무 시스템 등의 갖가지 서비스를 자택에서는 사용할 수가 없게 되는 것이다.
그렇다면 재택근무가 아니더라도 사내 네트워크에 긴급하게 접속해야 하지만 사내 네트워크에 접근할 수 없는 위치에 있다면 어떻게 해야 할까?
즉, 사용자(Client)가 외부 인터넷에 접속한 상황에서 기업의 내부 네트워크에 접근할 필요성이 생길 수 밖에 없는데 이러한 문제를 해결할 수 있는 VPN이 바로 SSL VPN 이다.
SSL VPN ?
SSL VPN은 Client to Site 방식으로 사용되는 VPN이다.
이를 바꾸어 말하면 Client to Network 라고 표현할 수 있겠다.
즉, 사용자가 네트워크에 접근하기 위해 사용되는 VPN 이라는 뜻이다.
IPSec VPN이 Network to Network, 망과 망을 연결하기 위한 VPN 이라는 점에서 확연한 차이가 있다.
기업을 예시로 들면 사용자는 인터넷만 연결되어 있다면 언제, 어디서든 SSL VPN을 통해 사내 네트워크에 접근할 수 있게된다.
위 그림에서 볼 수 있듯이 SSL VPN은 사용자(Client)가 네트워크에 접속하는 것이기 때문에 IPSec VPN과는 달리 VPN 장비를 2대 이상 필요로 하지 않는다.
물론 SSL VPN에 접근하기 위해 공인 인터넷이 필요하다는 것은 동일하다.
또한 접근하는 사용자가 인가된 사용자인지 확인하고, 인가된 사용자가 암호화 통신을 할 수 있도록 방법을 제공한다.
여기에 SSL(Secure Socket Layer) , 현재에는 TLS(Transport Layer Secure) 라 불리는 프로토콜을 사용하여 VPN을 구성한다.
그래서 SSL VPN이라고 부르는 것이다. (현재는 TLS 프로토콜이라고 지칭된다.)
SSL 프로토콜은 사용자로 하여금 접속하고자 하는 SSL VPN이 진짜인지, 접속하려는 사용자가 인가된 사용자인지 검증이 가능하도록 하며, 암호화 프로토콜을 제공해 사용자와 SSL VPN이 암호화 터널을 통한 통신을 할 수 있도록 지원한다.
이러한 인증/암호화 통신 과정을 거치고 나면 SSL VPN은 PC에 사설 IP와 함께 라우팅 정보를 제공하여 마치 PC가 내부 네트워크에 연결된 것처럼 작동하도록 한다.
위 그림에서는 사용자 PC는 SSL VPN에 접속한 후에 공유기가 할당해준 사설 IP를 그대로 유지 한 채(외부 인터넷 접근을 위한) SSL VPN으로부터 또 다른 사설 IP를 할당 받고 이 IP를 활용해 SSL VPN이 설치된 내부 네트워크와 통신을 실시하게 된다.
여기서 SSL VPN은 사용자 PC 할당 목적의 IP 대역을 별도로 운영하여 자신이 Gateway 역할을 맡고 필요한 사용자에게 할당하며,
IP Routing 을 통해 사용자가 내부 네트워크에 접근할 수 있도록 한다.
사용자는 SSL VPN에 접속만 할 수 있다면 내부 네트워크에 쉽고 안전하게 접속하여 업무 처리가 가능하다.
주요 구성 방법
네트워크에도 비무장 지대가 존재하는데 이를 DMZ Network 라고 부른다.
SSL VPN은 주로 DMZ 네트워크에 위치한다.
앞서 언급한 것 처럼 SSL VPN은 외부 인터넷에 접속 중인 사용자(Client)가 내부 네트워크에 접근하기 위하여 사용하는 VPN이다.
그러므로 SSL VPN은 내부 네트워크에 위치하면서도 외부 네트워크에 가까운 곳에 위치하여야 한다.
즉, 내부 네트워크와 외부 네트워크를 모두 접하고 있어야 한다.
하지만 외부 네트워크에 인접하고 있다는 것은 외부의 공격에 취약해질 수 있다는 것을 의미한다.
외부 네트워크를 접하고 있는 만큼 공인 IP를 보유해야 하는 경우가 많기 때문에 공격의 표적이 되기 쉽다.
그로 이유로 인해 DMZ 네트워크에 SSL VPN을 배치하여 운용할 경우 주로 방화벽을 함께 설치하여 운용한다.
이를 그림으로 표현하면 다음과 같다.
위 그림에서는 SSL VPN이 방화벽을 앞에 두고 DMZ 네트워크에 속해있는 것을 볼 수 있다.
SSL VPN은 공인 인터넷과 방화벽을 통해 외부에서 접근할 수 있으며, 내부 네트워크 역시 방화벽을 통해 SSL VPN에 접근할 수 있다.
여기서 SSL VPN에 공인 IP를 설정하여 SSL VPN을 외부 목적지로 설장하여 접근하도록 할 수도 있고,
SSL VPN의 공인 IP를 보유하고 이를 Destination IP NAT를 통해 SSL VPN의 사설 IP를 목적지로 하여 접근하도록 할 수도 있다.
또한 VPN을 1대가 아닌 2대로 이중화로 구현한 것도 볼 수 있다.
다만 위 구성에서는 내부 네트워크에서 외부 네트워크로 나가는 트래픽, 외부 네트워크에서 내부 네트워크로 들어오는 트래픽과 함께
SSL VPN으로 유입되는 트래픽 모두를 방화벽이 감당 해야 하기 때문에 트래픽 사용량이 많거나 방화벽 스펙이 사용량을 따라가지 못할 경우 문제가 발생할 수 있다.
그런 경우에는 아래와 같이 외부 네트워크와 내부 네트워크가 통신하는 주 방화벽과 별도로 SSL VPN만을 운용하기 위한 네트워크를 따로 구성하는 방법도 권장된다.
위 그림에서는 SSL VPN만을 위한 DMZ 네트워크를 별도로 구성하여 방화벽의 부담을 덜고 SSL PVN 사용자를 최대한 수용할 수 있도록 네트워크를 구성한 것을 볼 수 있다.
또한 첫 번째 그림에서는 방화벽 2대가 모두 다운되면 DMZ 네트워크와 내부 네트워크 모두가 장애 상황에 처할 수 있지만,
위 그림에서는 방화벽이 별도로 구성되었기 때문에 주 방화벽 장애에 대한 부담을 크게 줄일 수 있다.
물론 비용이 더 크게 드는 것은 감안해야 한다.
<출처: 네트워크 엔지니어 환영, 방화벽과 SSL VPN이 일체화된 네트워크 구성>
세 번째 구성은 방화벽과 SSL VPN이 일체화된 네트워크 구성이다.
SSL VPN, 방화벽, L4 스위치 등 L4 / L7 네트워크에서 동작하는 장비들은 기본적으로 동작 방식이 유사하기 때문에
하나의 하드웨어 장비 안에 SSL VPN / 로드밸런싱 / 방화벽 등의 라이센스를 적용하는 방식으로 다양한 기능을 제공할 수 있다.
L4 / L7 스위치로 사용되는 F5 Networks나 Fortinet의 경우에도 하드웨어 장비 내에 여러 라이센스를 제공함으로써 여러 기능을 사용할 수 있도록 한다.
SSL VPN 사용량이 적은 소규모 네트워크나 SSL VPN / 방화벽 스펙이 뛰어날 경우, 위와 같이 일체형 장비를 사용하여 제공하는 것도 좋은 선택이 될 수 있다.