폐쇄망의 역설: Multi-homed Host의 위험과 네트워크 설계 원칙

폐쇄망은 외부와 네트워크를 분리하는 것만으로 안전해지는 보안 체계가 아니다. 제대로 된 정책과 운영 절차 없이 구축된 폐쇄망은 업무상의 불편을 해결하기 위한 예외를 계속 만들어 내고, 결국 두 네트워크에 동시에 연결된 양다리 호스트(Multi-homed Host)와 같은 구조로 네트워크 경계를 무너뜨릴 수 있다. 스턱스넷 사례를 통해 폐쇄망의 한계를 살펴보고, Multi-homed Host가 만들어지고 증식하는 과정과 이를 피하기 위한 트리-스타 구조의 네트워크 설계 원칙을 알아본다.

폐쇄망 네트워크의 장점은 분명히 존재한다

폐쇄망은 외부와 물리적으로 단절되어 있어 외부 공격으로부터 상대적으로 안전하다는 분명한 장점이 있다. 외부의 침입 경로를 없애고 시스템을 격리할 수 있다는 것은 보안상 분명한 이점이다. 이런 이유로 극도의 보안이 요구되는 분야에서는 폐쇄망이 중요한 보안 수단으로 사용된다.

폐쇄망을 고려하는 것은 보안에 신경을 쓴다는 뜻이고, 이러한 기조 자체는 긍정적인 것이다. 하지만 폐쇄망은 단순히 인터넷 선 뽑으면 끝나는 보안 체계가 아니다.

제대로 된 폐쇄망을 구성하려면 시스템의 목적과 업무 흐름을 파악하고, 격리할 시스템의 대상과 범위를 결정해야 한다. 여기에 네트워크 구조와 업무 프로세스의 재조정, 권한 정책, 사용자 교육과 같은 운영 정책이 더해져야 한다. 즉, 폐쇄망은 철저한 사전 조사와 설계, 정책, 절차와 교육이 함께 갖춰져야 하는 보안 체계다.

이러한 고민 없이 단순히 외부망과 분리하면 안전하겠지?라는 수준의 안일한 생각으로 폐쇄망을 구축하고 운영하는 조직도 있다. 이런 조직에서는 몇 가지 공통적인 특징이 나타나는데, 이들은 공통점인 동시에 엉성한 폐쇄망이 만들어지고 그대로 고착되는 과정이기도 하다.

  1. 내부 역량 부족 : 네트워크 기술뿐 아니라 조직의 핵심 업무 프로세스와 워크플로우를 이해하고, 이를 바탕으로 적절한 보안 정책과 네트워크 구조를 설계할 수 있는 내부 역량이 부족하다.
  2. 비판 없는 모방 : 내부에서 역량이 부족하니 다른 조직의 도입 사례나 업계의 일반적인 구성을 그대로 가져온다. 그러나 그 구조가 자신의 조직과 업무 환경에도 적합한지는 충분히 검토하지 않는다.
  3. 책임 회피 준비 : 그렇게 가져온 폐쇄망은 실제 보안 효과를 검증하기보다, 보안 문제가 발생했을 때 우리는 망분리를 했다고 설명할 수 있는 정책적 명분이나 책임 회피 수단으로 사용되기 쉽다.
  4. 현재 관성 유지 : 애초에 조직 내부에서 충분한 검토를 거쳐 설계한 구조가 아니기 때문에 무엇을 어떻게 고쳐야 하는지도 명확하지 않다. 결국 기존 구성을 변경하는 데 따른 책임을 피하고, 지금 돌아가고 있으니 그대로 두자는 식의 운영이 계속된다.
  5. 운영 절차 부재 : 실제 업무에서 무엇이 필요하고 어떤 상황이 발생하는지 충분히 고려하지 않았기 때문에 일상적인 업무를 수행하는 데 지장이 생긴다. 이를 해결하기 위한 공식적인 절차가 없으니 사용자마다 각자의 방법과 노하우가 생겨나고, 그렇게 만들어진 비표준적인 방법이 조직 내부에 하나의 관행처럼 확산된다. 결국 일상적인 업무조차 정해진 절차가 아니라 각자 알아서 해결하는 방식으로 처리된다.

문제는 폐쇄망 자체가 아니다. 폐쇄망이라는 형태만 갖춰 놓고 이를 운영하기 위한 시스템과 정책, 절차와 교육에 무지한 것이 문제다. 어설픈 폐쇄망은 보안 효과보다 운영상의 불편함을 크게 만들고, 그 불편함을 피하기 위한 예외를 계속 만들어 낸다. 그리고 바로 이러한 예외가 폐쇄망 보안을 무너뜨리는 시작이 된다.

폐쇄망도 완벽하지 않다: 스턱스넷(Stuxnet) 사례

폐쇄망이라고 마냥 안전하기만 한 것도 아니다. 대표적인 사례가 이란의 나탄즈(Natanz) 핵시설을 공격한 악성코드 스턱스넷(Stuxnet)이다.

나탄즈에는 농축 우라늄을 생산하는 원심분리기가 있었고, 이를 제어하는 시스템은 외부 네트워크와 직접 연결되지 않은 환경에서 운영되고 있었다. 그러나 스턱스넷은 이러한 격리를 넘어 제어 시스템까지 침투했고, 결국 원심분리기의 동작을 교란하는 데 성공했다.

네트워크를 외부와 물리적으로 격리했다고 해서 외부에서 내부로 들어오는 모든 경로까지 사라지는 것은 아니다. 사람이 데이터를 옮기고, 프로그램을 설치하고, 장비를 유지보수하는 이상 외부와 내부를 이어 주는 접점은 존재한다.

스턱스넷 사례는 폐쇄망 운영에 몇 가지 중요한 메시지를 준다.

  • 폐쇄망이라고 해서 악성코드의 유입 경로가 완전히 차단되는 것은 아니다.
  • USB와 같은 이동식 매체를 비롯해 데이터와 프로그램이 이동하는 모든 경로를 관리해야 한다.
  • 물리적인 망분리만큼 실제 운영 절차와 예외에 대한 통제가 중요하다.

비록 스턱스넷은 극단적인 사례이지만 한 국가의 핵심 보안 시설에서 일어난 사건이다. 일반적인 조직이나 기업의 보안 환경은 과연 어떨까? 일개 기업과 조직이 핵시설 수준의 전문 인력과 정책, 교육, 통제 절차를 갖추고 있으리라 기대하기는 어렵다.

앞에서 살펴본 것처럼 제대로 된 운영 절차조차 준비되지 않은 조직이라면 더욱 그렇다. 업무상의 작은 불편을 해결하기 위해 만들어 낸 하나의 예외가 외부와 내부를 연결하는 새로운 통로가 될 수 있다. 폐쇄망의 보안은 망을 분리하는 것으로 끝나는 것이 아니라, 그 분리를 실제 운영 과정에서도 계속 유지할 수 있을 때 비로소 의미가 있다.

폐쇄망 구조가 망가지는 과정

아래의 그림은 각 업무 영역별로 완전히 분리된 네트워크의 예이다. 인터넷과 연결된 네트워크 그룹은 나머지 업무 네트워크와 완전히 분리되어 있으며, 그야말로 폐쇄망의 정석과도 같은 아름다운 구조이다.

Group 1부터 Group 4까지 각 네트워크를 서로 분리하여 독립적으로 구성한 폐쇄망 네트워크 구조도
폐쇄망 네트워크의 예

이런 구조에서 각 네트워크는 안전하게 유지될 수 있다. 하지만 업무라는 것은 결국 데이터를 주고받는 과정이다. 업무에 필요한 파일을 외부에서 FTP를 이용해 받는다거나, 경영진의 비용 절감 기조로 특정 기능을 제공하는 PC 한 대를 공유해서 사용해야 하는 상황이 생긴다.

물론 명확한 목적과 정확한 보안 정책에 따라 네트워크가 운영되고 있다면, 절차와 정책, 철저한 사용자 교육을 통해 별다른 문제가 생기지 않을 수도 있…기는 개뿔!

그리고 약간의 시간이 흐르면 반드시 이런 요청이 등장한다.

이 데이터를 저쪽 네트워크의 PC로 옮겨야 해요
이 컴퓨터는 양쪽 데이터를 모두 사용해야 해요
이 PC에만 랜카드를 하나 더 꽂아서 양쪽 네트워크에 연결할게요

업무 효율성만 놓고 보면 너무나 타당해 보이는 요구이다. 상식적인 네트워크 관리자라면 처음에는 거절하겠지만, 결국 요구를 받아들일 수밖에 없다. 안 그러면 일이 진행이 안 되거든…

사실 이런 문제를 협의할 네트워크 관리자가 존재한다는 것 자체가 대단한 일이다. 사용자가 필요에 따라 랜카드 하나를 더 꽂고 이미 양쪽 네트워크에 연결까지 마친 뒤인 경우도 많다.

그리고 이렇게 폐쇄망의 보안 정책은 너무나 자연스럽게 무너져 버린다.

양다리 호스트의 등장: 두 네트워크에 동시에 연결된 Multi-homed Host

그 결과 등장하는 것이 두 개 이상의 네트워크에 동시에 연결된 호스트(Multi-homed Host), 즉 양다리 호스트라고도 부르는 다중 네트워크 호스트이다. 아래의 그림과 같이 하나의 호스트에 랜카드 2장을 붙이고 두 네트워크에 동시에 연결한 다음, 각각 IP를 설정해 내부망과 외부망 또는 서로 다른 두 네트워크에 동시에 접근할 수 있도록 구성한 모습이다.

서로 격리된 Group 2와 Group 4 네트워크를 하나의 Multi-homed Host가 연결한 구성도
파멸의 시작

하나의 호스트를 통해 원래 분리되어 있어야 할 보안 영역 사이에 새로운 접점이 만들어졌다. 네트워크의 경계를 장비와 정책이 아니라 사람의 편의가 결정하기 시작하는 순간, 폐쇄망의 기본 원칙은 흔들리기 시작한다. 그리고 이러한 예외는 한 번으로 끝나지 않는다.

다중 네트워크 호스트(Multi-homed Host)의 증식

무슨 일이든 한 번이 어렵지, 두 번은 쉽다. 정말 어쩔 수 없다는 이유로 한 대의 양다리 호스트가 허용되면, 이 양다리 호스트는 점차 역할과 영역을 확장해 나가게 된다. 기존 호스트의 연결 대상이 늘어나기도 하며, 다른 곳에서는 또 다른 양다리 호스트가 생겨난다. 그리고 여기저기서 이 같은 요청들이 이어지기 시작한다.

이 장비도 붙여야 해요.

처음에는 하나의 예외였던 구성이 반복되면서 보안 정책은 붕괴하기 시작한다. 네트워크의 경계가 여기저기에서 사라지고, 결국 아래와 같이 처음의 망분리 목적을 알아보기 어려운 끔찍한 혼종 구조가 만들어진다.

하나의 Multi-homed Host가 서로 분리된 여러 네트워크 그룹에 동시에 연결되어 폐쇄망 간 경계를 연결하는 구성도
끔찍한 혼종의 탄생

이 시점이 되면 더 이상 폐쇄망이라 부를 수 없는 상태가 된다. 네트워크들이 하나의 호스트를 통해 동시에 접근 가능한 상태가 되고, 그 호스트가 침해되거나 잘못 설정될 경우 다른 네트워크로 이동할 수 있는 경로가 만들어진다. 결국 장비와 정책으로 유지되어야 할 네트워크 경계가 사람의 손과 운영상의 편의에 박살나게 된다.

이러한 상황은 외부 인터넷과 직접 연결된 것보다 더 위험한 네트워크가 된다. 구성원 모두가 우리는 폐쇄망을 운영하고 있으니 안전해!라고 철썩같이 믿고 있기 때문이다.

외부와 연결된 일반적인 네트워크라면 당연히 위험 요소를 경계하고 통제하려고 한다. 하지만 이미 수많은 예외와 우회 경로가 만들어진 상태에서도 폐쇄망이라는 이름만 남아 있으면, 구성원들은 여전히 자신들의 네트워크가 외부와 분리되어 있고 안전하다고 생각하기 쉽다. 경계가 무너졌지만 아무도 경계가 무너졌다고 생각하지 않는 상태가 되는 것이다.

이상적인 네트워크: 트리-스타 구조

본 필자가 생각하는 이상적인 네트워크의 원칙은 단순하다. 하나의 호스트는 하나의 랜카드로 단일 네트워크에 속하고, 네트워크 사이의 통신은 정해진 경계 장비를 통하도록 만드는 것이다.

이러한 원칙을 자연스럽게 구현할 수 있는 형태가 트리-스타 구조(Tree-Star Topology)라고 부르는 계층형 네트워크 구조다. 각 그룹이나 업무 영역 내부에서는 엣지 스위치를 중심으로 단말이 연결되는 스타 구조(Star Topology)를 사용하고, 서로 다른 네트워크 사이의 통신은 상위의 라우팅 계층을 거치는 트리 구조(Tree Topology)를 따른다.

이 두 구조를 결합하면 단말의 연결은 단순하게 유지하면서도, 네트워크 사이의 통신 경로는 관리 가능한 지점에 집중시킬 수 있어 다음과 같은 장점을 갖는다.

  • 역할과 경계가 명확하다 : 엣지 스위치는 사용자 단말의 연결을 담당하고, 라우터·방화벽·L3 스위치는 서로 다른 네트워크 사이의 경계를 담당한다.
  • 문제 발생 시 추적이 쉽다 : 통신 경로가 일정하기 때문에 장애나 비정상적인 트래픽이 발생했을 때 어느 계층과 어느 구간에서 문제가 생겼는지 비교적 빠르게 좁혀갈 수 있다.
  • 보안 정책을 적용하기 쉽다 : 네트워크 사이의 통신이 정해진 경계 장비를 통과하므로 방화벽 정책, 접근 통제 목록(ACL), 로깅과 모니터링 지점을 명확하게 정할 수 있다.
  • 확장과 유지보수가 쉽다 : 새로운 그룹이 추가되더라도 전체 네트워크 구조를 뒤집을 필요가 없다. 하위에서는 스위치를 통해 단말을 확장하고, 상위에서는 필요한 네트워크와 경로만 추가하면 된다.
  • 트래픽 흐름을 예측할 수 있다 : 네트워크 사이의 통신이 정해진 경로를 따라 움직이기 때문에 트래픽이 예측 가능해지며 정상적인 통신과 비정상적인 통신을 구분하기 쉬워진다.

폐쇄망에 비해 보안에 취약한 것은 사실이지 않은가?

취약한 것은 사실이다. 아무리 네트워크를 잘 설계한다 해도, 만의 하나라는 것이 있기 때문이다. 하지만, 네트워크는 항상 문제가 발생한다는 전제를 두고 설계해야 한다. 핵심은, 문제가 발생했을 때 얼마나 빠르게, 정확하게 차단할 수 있는가이다.

트리-스타 구조에서는 서로 다른 네트워크 사이의 통신이 정해진 경계 장비(라우터, 방화벽, L3 스위치)를 지나간다. 따라서 문제가 발생하더라도 해당 경계에서 통신을 확인하고 차단하거나 정책을 변경할 수 있다.

반면 Multi-homed Host가 여기저기에 존재하는 구조에서는 네트워크 사이의 연결 지점 자체가 분산된다. 원래 경계 장비를 지나야 할 통신이 사용자 PC나 특정 장비를 통해 우회할 수 있고, 관리자는 그러한 경로가 어디에 얼마나 존재하는지조차 정확히 알기 어려워진다.

즉, 잘 짜인 구조에도 위험은 존재하지만 그 위험의 경로를 예측하고 통제할 수 있다. 반대로 잘못된 구조에서는 어디에서 네트워크가 연결되어 있는지조차 알기 어렵고, 문제가 발생했을 때 그 확산 경로 역시 예측하기 어렵다. 예측 가능한 위험과 통제할 수 없는 위험은 전혀 다른 문제다.

트리-스타 구조가 만능은 아니다.

물론 트리-스타 구조가 기술적으로 다른 모든 네트워크 토폴로지보다 우월하다는 의미는 아니다. 조직의 규모와 업무 특성, 가용성 요구, 시스템의 성격에 따라 다른 구조가 더 적합할 수도 있다.

하지만 현실적인 제약 속에서도 네트워크 보안에 대한 요구를 만족시키는 동시에, 네트워크 구조의 근간에 변형이 가해지는 경우가 매우 드물다. 확장할 일이 있으면 하단에서의 작업으로 충분하고, 네트워크 사이의 통신은 상단만 조정해 주면 되기 때문에 대부분의 환경에 적합한 최소한의 기준이 될 수 있는 것이다.

그럼에도 불구하고 현실에서는 여러 정책적·행정적·조직적 이유(대부분 기술적인 이유가 아니다!)로 이러한 구조를 적용하지 못하는 경우가 많다. 그리고 그 빈틈을 예외가 파고들고, 그 예외가 결국 네트워크 보안 정책을 무너뜨린다.

결론

다중 네트워크 호스트를 만드는 것은 기술적으로 어렵지 않다. 랜카드를 하나 더 꽂고 각 네트워크에 맞는 IP 주소를 설정하면 된다. 필요한 경우 정적 라우팅을 추가해 원하는 네트워크로 트래픽을 보내는 것도 어렵지 않다. 그러나 폐쇄망에서 이러한 구성을 업무상의 문제를 해결하기 위한 수단으로 사용하는 것은 어디까지나 임시방편이며, 장기적으로는 반드시 위험 요소가 된다.

네트워크를 설계하고 관리할 때 반드시 기억해야 할 포인트

  • 예외를 만들지 마라 — 한 번 생긴 예외는 다음 예외의 근거가 되고, 순식간에 표준이 된다.
  • 정책은 없을수록, 강력할수록 좋다 — 가장 좋은 정책은 정책이 없는 것(All Deny)이다. 정책을 만들 때는 세밀하고 강력하게 구성해야 한다.
  • 네트워크 경계는 사람의 손이 아니라 장비가 책임져야 한다.
  • 운영상 편의보다 정책 일관성을 우선하라. 당장의 불편을 없애기 위해 만든 예외가 전체 보안 구조를 무너뜨린다.
  • 양다리 호스트가 필요하다는 것은 설계가 현실을 반영하지 못했다는 명백한 증거다.
  • 폐쇄망을 안전하게 유지하려면 절차·정책·교육·통제가 반드시 병행되어야 한다.

이러한 원칙이 갖춰지지 않은 폐쇄망은 불편함만 남기고 수많은 예외를 만들어 내면서 오히려 더 위험한 네트워크가 된다. 네트워크 보안의 본질은 기술에 있는 것이 아니라, 원칙과 정책에 있다.

일반적인 네트워크에서조차 어줍잖은 지식과 풍문만으로 폐쇄망이라는 형태를 고집하는 것보다는, 관리 가능한 장비를 통해 통제하는 트리-스타 구조를 사용하는 편이 낫다는 것이 본 필자의 의견이다.

사실, 명확한 원칙과 정책이 있다면 양다리 호스트는 애초에 나올 일이 없다. 새로운 통신이 필요하다면 경계 장비에서 필요한 경로와 정책을 추가하면 되고, 새로운 업무 영역이 필요하다면 그에 맞는 네트워크를 설계하면 된다.

물론 현실에는 어쩔 수 없는 상황이 언제나 존재하고, 불가피한 이유로 예외를 만들어야 할 수도 있다. 하지만 그런 경우에도 그 예외를 정상적인 구조로 착각해서는 안 된다. 왜 필요한지 기록하고, 영향을 통제하고, 가능한 한 빨리 정상적인 구조로 되돌릴 계획을 함께 세워야 한다. 그렇지 않으면 임시로 만든 예외가 어느 순간 전체 네트워크 구조를 잠식하게 된다.

그리고 혹 호스트에 정적 라우팅을 설정했다면, 가능한 한 빠른 시일 내에 제거할 수 있기를 바란다.

FAQ

폐쇄망 네트워크는 안전한가?
폐쇄망 네트워크는 보안상의 이점이 분명히 존재한다. 하지만 세밀하고 명확한 업무 프로세스에 대한 고려 없이 구축하면 운영 과정에서 여러 예외 조치가 생겨나고, 오히려 일반적인 네트워크보다 더 위험한 상태가 될 수 있음을 반드시 기억해야 한다.
양다리 호스트란 무엇인가?
이 글에서 말하는 양다리 호스트는 하나의 컴퓨터가 두 개 이상의 서로 다른 네트워크에 동시에 연결된 Multi-homed Host(다중 네트워크 호스트)를 뜻한다. 예를 들어 랜카드 두 개를 이용해 하나는 내부망, 다른 하나는 외부망에 연결하는 구성이 이에 해당한다.
랜카드 두 개를 사용하면 폐쇄망이 연결되는가?
랜카드 두 개를 설치했다고 해서 두 네트워크 사이의 통신이 자동으로 이루어지는 것은 아니다. 그러나 하나의 호스트가 두 네트워크에 동시에 접근할 수 있게 되므로, 해당 호스트가 침해되거나 라우팅·브리지 등의 설정이 추가될 경우 원래 분리되어 있던 네트워크 사이의 우회 경로가 만들어질 수 있다.
네트워크 토폴로지란 무엇인가?
네트워크 토폴로지(Network Topology)란 컴퓨터와 스위치, 라우터 같은 네트워크 장비가 서로 어떤 형태로 연결되어 있는지를 나타내는 구조를 말한다. 대표적으로 스타(Star), 트리(Tree), 버스(Bus), 링(Ring), 메시(Mesh) 등의 형태가 있다.
스타 토폴로지란 무엇인가?
스타 토폴로지(Star Topology)는 여러 호스트가 하나의 중앙 장비를 중심으로 각각 연결되는 구조이다. 일반적인 이더넷 네트워크에서는 여러 PC가 하나의 스위치에 연결된 형태가 대표적인 예이다.
트리 토폴로지란 무엇인가?
트리 토폴로지(Tree Topology)는 여러 네트워크나 장비가 상위와 하위 계층으로 나뉘어 가지처럼 연결되는 구조이다. 하위 네트워크의 통신이 상위 스위치나 라우터를 거치도록 구성할 수 있어 네트워크의 영역과 통신 경로를 체계적으로 관리하기 쉽다.
Multi-homed Host와 Dual-Homed Host의 차이는 무엇인가?
Multi-homed Host는 둘 이상의 네트워크에 연결된 호스트를 폭넓게 의미한다. Dual-Homed Host는 그중 두 개의 네트워크에 연결된 경우를 가리킬 수 있지만, 보안 분야에서는 두 네트워크 사이에 위치한 방화벽이나 게이트웨이 구조를 설명하는 용어로도 사용된다. 이 글에서는 일반 업무용 호스트가 여러 네트워크에 동시에 연결된 상황을 주로 다루기 때문에 Multi-homed Host라는 표현을 사용한다.
정적 라우팅이란 무엇인가?
정적 라우팅(Static Routing)은 관리자가 특정 목적지 네트워크로 가는 경로를 직접 지정하는 방식이다. 예를 들어 192.168.20.0/24 네트워크로 가는 통신은 이 게이트웨이와 네트워크 인터페이스를 이용하라고 운영체제나 라우터에 명시적으로 설정한다. 동적 라우팅처럼 장비끼리 경로 정보를 자동으로 교환하지 않기 때문에 구성이 단순하고 예측하기 쉽지만, 네트워크 구조가 바뀌면 관리자가 직접 경로를 수정해야 한다.
폐쇄망에서 다른 네트워크와 통신해야 한다면 어떻게 해야 하는가?
일반 사용자 PC에 랜카드를 추가해 양쪽 네트워크에 직접 연결하기보다는, 필요한 통신이 라우터, 방화벽, L3 스위치와 같은 관리 가능한 경계 장비를 통하도록 설계하는 것이 바람직하다. 필요한 경로와 포트만 정책에 따라 허용하면 통신 경로를 파악하고 통제하기도 쉬워진다.
폐쇄망에서 예외를 만들면 왜 문제가 되는가?
한 번 허용된 예외는 비슷한 업무 요구가 발생했을 때 다시 사용되기 쉽다. 처음에는 한 대의 양다리 호스트나 임시 인터넷 연결이었더라도, 같은 방식이 반복되면 원래 의도했던 네트워크 경계가 점차 무너질 수 있다. 따라서 불가피하게 예외를 만들더라도 이유와 범위, 종료 조건을 명확하게 관리해야 한다.

갱신 내역

  1. 최초 게시
  2. 수정 및 주소 이전
  3. 수정 및 주소 이전 (https://www.EQMaker.kr/)