2009/01/05 22:03

가상화 업체의 새로운 기회 - 망 분리 사업 eNg + iNe +eEr

올해 공공기관 망 분리 사업이 본격화된다. 망 분리 사업은 그다지 새로운 개념은 아니다. 글자 그대로 하나로 구축되어 있던 망(Network)을 분리하겠다는 것이다. 분리의 기준은 "(내부) 업무"와 "(외부) 인터넷"이다.

사실 이러한 망 분리는 금융권 등에서는 이미 한참 전에 적용한 것들이다. 일례로 내가 2004년에 프리랜서로 일하며 잠시 출입했던 N은행의 경우, 그 당시에 이미 나름의 망 분리가 적용된 상황이었다. 나야 당시 N은행에 납품되는 비밀번호 입력기의 드라이버 쪽만 담당했기에 실제 망에 어떻게 설계된 지는 확인하지 못했지만, 기본적으로 N은행 직원의 컴퓨터는 "업무용" 망과 "외부용" 망을 선택할 수 있게 되어 있었다. 아마도 다음과 같은 형태가 아니었나 싶다.

망분리1

물론 세부적인 망의 디자인으로 다를 수도 있다. 랜 카드(NIC)를 하나만 쓰면서 VLAN을 나눠 쓸 수도 있고 업무용 망은 아예 라우터에 물리지 않을 수도 있다. 또는 스위치도 하나로 묶여있을 수도 있다. 하지만 그게 이 포스팅의 포인트는 아니니 더 이상의 언급은 하지 않겠다.

당시 저 환경을 보고 있는 내게 가장 의아하게 다가운 문제는 "저 방식이 무슨 장점이 있나?" 였다. 이쯤에서 망 분리를 하는 이유에 대해서 짚고 넘어가야 한다. 망 분리는 다음과 같은 이유 때문에 수행한다.

  1. 업무용 내부 자료 및 통신 내용에 대한 외부로부터의 해킹 차단:
      망이 분리되어 있으니 외부에서는 접근할래야 접근할 수가 없다. 외부 망과 내부 망은 최소한의 연결도 제거 해야 한다.
  2. 내부 직원이 인터넷 상에서 실수로 받은 악성 코드 및 바이러스로부터 내부 망을 보호한다.
      기본적으로 외부 망에서 흘러들어온 악성 코드 및 바이러스가 사내망에서 떠도는 것을 막는다.
  3. 내부 자료의 유출을 막는다.
      1번과 일맥상통하는 얘기다.
  4. ISP의 서비스 중단과 같은 사태 속에도 업무 중단을 최소화한다.
      내부망은 외부망과는 원천적으로 다르고 사용자도 적어 장애를 최소화한다.

뭐 이외에도 여러 이유가 있고, 돈 많이 받고 이빨 잘 까는 업계의 각종 컨설턴트 및 망 분리에 조금이라도 참여할 여지가 있는 회사의 마케팅과 영업 직원들이 훨씬 깔끔하고 보기 좋게 정리한 것도 있겠지만, 역시나 일단 참고 위의 것들만 보도록 한다.

사실 위의 그림 속에 나와있는 구성은 앞서 말한 망 분리의 장점 중 4번을 제외하고는 전혀 갖고 있지 않다. 사실상 저 구성에서 직원 컴퓨터는 망 선택 소프트웨어를 딸칵하는 것만으로 업무망과 인터넷망이 바뀐다. 직원이 업무용 망에서 작업하던 자료 사본을 컴퓨터에 저장한 후, 클릭 한 번이면 그 자료는 외부에 노출된다. 그리고 해킹도 마찬가지다. 악의적인 의도를 가진 누군가 망 선택 소프트웨어를 활용하는 트로이 목마 또는 악성 코드 등을 만들어서 배포하면 회사 내부의 자료는 순식간에 그 누군가의 컴퓨터에 차곡차곡 쌓일 수 있다. 쉽게 말해 1,2,3번은 위의 구성에서는 활용될 수 없는 장점인 것이다.

이것은 몇 년 전, 길게는 몇 십년 전의 상황이고, 지금은 많이 바뀐 것 같다. 신문과 지인 통신을 통해 들은 바로는 크게 다음과 같은 두 가지 구성이 요새의 대세인듯 하다.

망분리2 
(a) 업무용과 인터넷용(외부용) 컴퓨터의 물리적인 분리

망분리3
(b) 가상화 기술을 이용하여 업무용과 인터넷용 OS 분리

첫번째 방법은 가장 확실한 방법으로 네트워크만 분리하는 것이 아니라 아예 컴퓨터까지 분리해버리는 것이다. 이렇게 되면 누군가 직접 침입하지 않는 한 외부에서의 해킹은 불가능해진다. 두번째 방법은 가상화 기술을 이용하여 한 컴퓨터 안에서 업무용 OS와 인터넷용 OS를 구분하는 것이다. 충분히 성숙된 하이퍼바이저를 활용한다면 큰 보안 문제 없이 업무망과 인터넷망을 확실히 구분할 수 있는 방법으로, 각 OS 상의 어플리케이션이 상대방 OS를 통하여 망에 접근하는 것은 사실상 불가능해진다.

위의 두 구성을 보고 있자면 뭔가 첫번째 구성은 비효율적으로 느껴진다. 그런 느낌은 당연하다. 각 직원의 자리마다 컴퓨터를 두 대 놓고 작업한다는 것은 비효율적이다. 물론 이런 말을 하면 씬 클라이언트 (SBC 등) 업체들이 쌍수를 들고 "저요! 저요! 그래서 저희는 조그마한 씬 클라이언트만 두면 된다고 생각해요!"라고 하겠지만, 여전히 두 대는 말이 안 된다. 그리고 컴퓨터를 물리적으로 두 대로 구분하게 되면 상상하지 못한 제약과 보안 리스크가 생긴다. 바로 USB 메모리다.

업무용 컴퓨터와 인터넷용 컴퓨터를 물리적으로 구분하고 업무를 보라고 할 수 있을까? 물론 이상적으로는 업무 관련 자료는 모두 업무망을 통하고 회사 이메일을 사용하면 되겠지만 인생사가 그리 칼 같이 잘리지 않는 법이다. 업무용 망에서 쓰던 문서를 외부에 게시해야 하는 경우가 있을 수도 있고, 외부에서 받아온 문서 및 사진 등을 업무에 활용해야 할 수도 있다. 하지만 망도 분리되어 있고 컴퓨터가 분리되어 있으면 어떻게 자료를 주고 받을 수 있을까? 자연스레 USB 메모리 등을 이용하여 두 컴퓨터 간의 데이터를 공유하게 된다. 많은 회사들에서 USB 사용을 막는다고 하지만 저렇게 분리된 상태에서 USB도 막으면 망 분리를 통한 보안 확보라는 빈대 한 마리를 잡기 위해 작업 능률 저하 및 물리적 매체(USB 메모리)를 통한 보안 리스크라는 초가집을 태우는 일이 되버릴 것은 불 보듯 뻔한 일이다.

이 상태에서 가장 좋은 방식은 USB 방식의 메모리 장치를 사내에서 표준화 시키고 해당 장치에는 보안 모듈을 탑재하여 일정 보안 등급 이상의 문서는 저장이 안되고 외부에서 받아온 파일은 자동으로 바이러스/악성코드 검사를 하며 추후 있을 문제를 위하여 중앙 검역소에 일정 기간 저장을 시키는 것이다. 하지만, USB 메모리 장치의 표준화는 쉽지도 않거니와 이를 위한 소프트웨어 개발 및 각 사용 기업별 환경에 맞춘 커스터마이징 (customizing)을 생각하면 이 방법은 매우 비용 효율적이지 못한 방법이다.

그렇다면 두 번째 방식은 어떨까? 전반적으로 두 번째 방식은 첫 번째 방식에 비해서 장점이 많다.

일단 각 직원별로 하나의 (물리적인) 컴퓨터만을 사용해도 된다는 것은 큰 장점이다. 게다가 최근 급속도로 발전한 x86 가상화 소프트웨어들을 활용하면 마치 서로 다른 OS라는 것을 인지하지 않은 채로도 충분히 작업을 수행할 수 있다. 동시에 각 OS별로 서로 다른 NIC를 할당하거나 단일 NIC의 서로 다른 VLAN을 할당할 수 있기 때문에 두 망(업무용과 인터넷용)을 확실하게 구분할 수 있다.

하지만 이 방식으로 여전히 첫번째 방식과 비슷한 문제를 갖고 있다. 업무용 OS와 인터넷용 OS 간의 데이터 전송이 "아주 쉽거나" 혹은 "아주 어렵다"는 것이다. 방식이 아주 어려워질 경우, 첫번째 방식과 똑같은 문제가 생길 것이다. 방식이 아주 쉬워진다는 것은 컴퓨터의 하드 디스크 상에 두 OS에서 모두 접근 가능한 공유 저장소가 있다는 것이다(물론 다른 방법도 무지막지하게 많이 존재할 수 있다. 예를 들어, 가상 NIC를 통한 데이터 전송이 가능할 수 있다). 방식이 아주 쉬워질 경우에는 맨 처음 나온 망 분리 방식처럼 아무 장점 없이 괜히 컴퓨터의 리소스만 갉아먹는 일이 될 것이다.

이에 대한 해결책은 첫번째 방식을 위한 해결책보다 훨씬 깔끔(간결하고 소프트웨어적으로 처리가 가능하다)하고 이미 많은 부분이 상용 소프트웨어 업체에 의해 구현되어 있다. 문서 DRM를 통한 보안 등급 관리와 사용자 권한을 통한 접근 제어 기술이 가상화 기술과 만나는 것이 바로 해결책이다.

망분리4

업무용 문서는 하이퍼바이저에 내장(또는 플러그-인 형식으로 설치)된 권한 확인 절차를 거치고 해당 문서의 보안 등급을 확인하여 특정 등급(공개 가능)인 경우에만 공유 저장소에 저장될 수 있다. 또는 공유 저장소에 있는 모든 업무용 문서는 인터넷용 OS를 통한 접근 전 권한 확인 및 문서 등급 검사가 이뤄져야 한다.

반대로 인터넷(외부)에서 들어온 문서(또는 기타 파일)를 업무용 OS에서 접근하기 위해서는 해당 문서에 대한 바이러스/악성코드 검사 및 새로운 보안 등급 부여가 선행되어야 한다. 또한, 각 직원(사용자)의 권한을 확인하여 특정인의 경우 외부에서 오는 문서를 아예 접근하지 못한다던지 특정인에게만 실행 파일을 실행시킬 수 있는 권한을 준다든지의 조치를 취한다.

이런 소프트웨어는 이미 시장에 널려있다. 어느 정도 규모 이상의 기업은 모두 사내 문서 관리 및 문서별 DRM 적용을 하고 있으며, 각 직원별 권한이 지정되어 있다. 다만 이러한 소프트웨어와 가상화 소프트웨어(하이퍼바이저) 간의 유기적인 통합만이 남아있을 뿐이다. 아, 물론 이미 성숙한 가상화 업체의 경우 자체적으로 이러한 솔루션을 갖추고 있는 경우가 많지만, 여전히 "망 분리"라는 특수 상황에 최적화되어있지는 않은 듯 하다(여기서 최적화란 성능 또는 기능의 최적화가 아니라 사용 편이성 측면에서의 최적화다)

본 포스팅을 쓰고 있는 나는 소프트웨어쟁이고 동시에 (x86) 가상화에 대한 열렬한 신봉자이기 때문에 도저히 첫 번째 방법은 정답으로 보이지 않는다. 그렇기에 당연히도 본 포스팅을 상당히 한 쪽에 치우쳐진 글일 확률이 높다. 하지만 최대한 객관적으로 봐도 물리적인 망 이중화 전략은 초기 투자 비용 부담 및 Point of Failure 증가로 인한 유지.보수 문제 등 비용적인 문제가 많이 내재되어 있기에 두 번째 방식인 가상화를 통한 방식이 망 분리 전략에는 더 적합해 보인다.

다만 이렇게 되면 배달해야 하는 컴퓨터의 수가 줄어드니 물류 업체의 일자리가 줄어들고 (혹시라도 국내 PC 업체가 납품하게 되면) 컴퓨터 제조 공장의 일자리가 줄어든다고 이명박 대통령이 쿠사리 줄 것이고, 국내에 제대로된 가상화 소프트웨어 업체가 없어 모두 해외에서 수입해야 된다는 이유로 이명박 대통령이 국내 IT(특히나 소프트웨어)를 더 무시할 것이고, 청와대(가상화를 통한 망 분리가 청와대에 도입된다면) 대통령 집무실의 컴퓨터에 두 OS가 들어있어서 로긴 비밀 번호를 하나 더 외워야 하는데 그걸 못 외워서 컴퓨터 못 쓴다고 이명박 대통령이 구박할 것이니. 가상화를 통한 망 분리 사업 진행에 애로 사항이 있지 않을까 걱정이다.

덧. 본 포스팅 또한 언제나처럼 30분만에 그림부터 글까지 뚝딱한 것이기에 수 많은 비문과 오탈자가 있을 것이지만, 이 포스팅을 읽는 모든 분들께서 태평양과 같이 넓은 마음으로 양해해주시기 바랍니다.


핑백

덧글

  • 김은우 2009/01/28 11:47 # 삭제 답글

    www.mirageworks.co.kr
    국내 애플리케이션 가상화 개발업체인데, 위에서 포스팅한 두번째 방법(하이퍼바이저를 이용한)과는 좀 다르게 애플리케이션 가상화를 이용해서 논리적 망분리를 구현한다고 하네요.
  • 자라 2009/01/28 22:00 #

    노애드에서 만드는 제품이군요. 아직 적용 사례가 없어 보이는데, 적용 사례가 나오면 어떻게 활용될 지 흥미로울 것 같습니다.
  • 조은희 2009/06/23 18:30 # 삭제 답글

    PC 1대를 사용하는 물리적 망 분리 솔루션이 출시 되었습니다

    www.backupkorea.co.kr 로 확인 바랍니다 감사합니다
댓글 입력 영역