모든 네트워크가 지켜야 할 경계선이죠!
IT 분야는 물론 물리적 보안 시스템까지 네트워크 기반으로 급격히 변화하면서 네트워크를 통한 침입과 정보유출이 심각해지고 있다. 이에 대응하기 위해 NAC(Network Access Control)라는 개념이 등장했고, 최근 들어 IT 보안 분야의 주요 이슈로 부상하고 있다.
네트워크 가용성
‘Maximize Network Uptime?’ 새롭게 출시되는 네트워크 장비의 홍보 브로셔를 검토하다 보면 흔히 접하게 되는 문구이다. 대부분의 벤더들이 자사의 장비를 도입하는 것이 네트워크의 가용성을 증진시키는데 효과가 있다고 강조하고 있다. 네트워크의 가용성 증대는 네트워크 및 보안담당자들이 최고로 신봉하는 개념이다.
지금까지 수많은 제품들이 네트워크의 가용성을 높이기 위하여 개발·출시됐다. 그리고 IT 관련 기술들이 날로 발전하면서 기존의 솔루션들로는 네트워크의 가용성을 더 이상 확보할 수 없게 되면서 새로운 솔루션들은 지금도 개발이 되고 있다. NAC(Network Access Control)는 이런 과정 즉, 가용성 확보를 위하여 지속적으로 새로운 솔루션을 개발하는 과정에서 생성된 솔루션이다.
경계선 붕괴 및 경계선 보안의 한계
예전의 네트워크 환경에서는 소위 경계선이라는 것이 있었다. 물론 지금도 네트워크에 경계선(내부 네트워크와 외부 네트워크의 접점)이 존재하지만, 경계선의 종류와 수가 증가하면서 특별하게 이곳만 보호하면 된다고 하는 의미의 경계선은 없어졌다.
현재의 네트워크 환경에서 외부 사용자 혹은 외부 데이터(유해데이터, 바이러스, 웜 등)가 내부로 들어올 수 있는 경로는 많다. 무선의 사용이 증가했고, 노트북 이용자가 늘었다. 여기에 이동형 저장장치(USB 등) 사용과 IP를 가진 단말기의 종류가 증가했다.
네트워크를 보호하기 위하여 인터넷과 연결된 접점을 지키고 있는데, 어느 날 외부직원이 작업을 위하여 내방했다. 이 외부직원은 회의실에 나와 있는 네트워크 포트에 노트북을 연결하고 작업을 수행한다. 그 과정에서 외부직원의 노트북에 존재하고 있던 웜은 네트워크 연결과 동시에 내부 네트워크로 번져나간다. 그리고 네트워크 담당자는 네트워크에 문제가 생겼다는 것을 감지하게 된다. 하지만 어떤 경로로 문제 인자가 내부로 유입되었는지는 확인할 수 없다.
예전에는 경계선 보안 제품만 있으면, 모든 침입을 방어할 수 있을 것이라 생각했다. 하지만 지금은 대부분의 사용자들이 경계선 보안 솔루션이 반드시 있어야 하는 제품으로 인식하고 있지만 만능이라고 생각하지는 않는다. 경계선을 침입할 수 있는 새로운 기술들이 개발되고 있으며, 소위 Day-zero(신종)라고 하는 것들이 지금도 자유롭게 경계선을 넘나들고 있다. 세관에 허가되지 않은 물건을 밀수하는 새로운 방법들이 늘어나고 있는 것과 마찬가지의 상황이 온라인상에서도 일어나고 있다.
인증
NAC(Network Access Control)를 우리말로 번역하면 네트워크 접근제어이다. NAC가 접근제어를 위하여 사용하는 방법은 인증이다. 사용자에 대한 인증, 단말에 대한 인증, 트래픽에 대한 인증을 NAC가 수행하게 된다.
앞에서 경계선의 붕괴에 대해 이야기했다. NAC는 모든 네트워크를 경계선으로 본다. 어떤 사용자가 어떠한 경로를 통하여 들어오든지, 사용자 및 단말은 검사를 통과해야 내부 네트워크로 진입할 수 있다. 앞에서 이야기한 내방한 외부직원이 NAC가 설치되어 있는 네트워크에 접근했다고 하면, 네트워크를 사용하기에 앞서 사용자에 대한 인증을 받아야 하며, 사용하는 노트북을 네트워크에 연결해도 안전하다는 검사를 받아야 한다. 또한, 네트워크를 사용하면서 조금이라도 이상한 통신(Traffic)을 수행한다면 이는 바로 NAC에 의하여 감지되어 외부직원의 노트북은 네트워크로부터 격리된다.
사용자 인증 및 단말 인증(Pre-Admission)
NAC 솔루션은 항시 네트워크를 감시하고 있다. 이 과정에서 무언가 새로운 단말이 네트워크로 진입하게 되면 이를 감지하고 우선적으로 사용을 차단하게 된다. 그리고는 접근하려는 사용자에게 인증을 요청한다. 인증을 수행하는 방법은 주로 내부에 존재하는 인증 DB와 연동하여 인증을 수행하게 된다. 가령 인사 DB와 연동했다고 하면 사용자는 인사 DB에 있는 사번과 해당 비밀번호를 입력해야 한다.
다음으로 NAC는 단말에 대한 인증을 수행하게 된다. Health Check(상태점검)라는 과정을 통하여 단말의 상태를 점검하게 되는데, 어디까지 검사할 것인지는 네트워크 관리자가 정하게 된다. 주로 확인하는 항목은 단말의 OS(Windows)가 최신 패치인지, 단말에 백신프로그램(Anti-Virus)이 구동되고 있고 최신 업데이트인지, 단말에 최신 업데이트가 된 스파이웨어 프로그램(Anti-Spyware)이 구동되는지, 단말에 Windows 방화벽이 설치되어 있는지 등이다.
앞에서 언급한 주로 확인하는 항목 외에 준수해야 하는 보안정책들이 늘어나면서 진입과정에서 점검해야 하는 단말 점검 목록들은 늘어나고 있다. Windows 화면 보호기가 구동되고 있는지, PC명이 회사의 규칙에 따라 설정되어 있는지, 비밀번호를 단말이 사용하고 있는지, 회사에서 설치를 요구하는 필수 소프트웨어들이 설치되어 있는지, 불필요한 소프트웨어가 설치되어 있는지 등도 점검하게 된다.
이런 단말의 상태점검을 위해서는 단말에 특별한 소프트웨어(Agent)를 설치해야 하는데, 이 Agent의 설치유무에 따라 NAC 제품은 Agent-less와 Agent-base로 구분할 수 있다. 이 Agent는 상태점검 외에 여러 가지 부가기능들을 수행하게 되는데, 제품의 종류에 따라 IP 관리 기능, 매체제어 기능(USB 사용금지, Wibro 사용금지) 등을 수행할 수 있다.
네트워크 사용 모니터링(Post-Admission)
사용자 및 단말 인증을 거쳐 네트워크 접속한 단말은 이제 네트워크를 이용할 수 있다. 하지만 자신에게 허용된 범위 내에서만 사용이 가능하다. 사용할 수 있는 범위는 사용자 인증 과정에서 미리 정해질 수도 있으며, 진입한 후에 정해질 수도 있다. 가령 사용자가 네트워크 진입과정에서 외부 협력업체 직원으로 인증을 받았다고 하면, 그 사용자는 내부 네트워크는 사용할 수 없고 인터넷만 사용이 가능하게 사용범위가 제한될 수 있다.
전체 네트워크를 사용할 수 있는 사용자라고 하더라도 정책에 위반되는 통신 또는 유해 트래픽을 발생시킨다고 하면 NAC는 그 단말을 검출하여 네트워크로부터 격리시키는 작업을 수행하게 된다. 이를 위하여 NAC는 내부 네트워크에서 통신되는 모든 트래픽을 감시하는 기능을 가지고 있다. 제품의 종류에 따라 간단한 정책위반을 검사할 수도 있고, 어떤 제품은 단말에 Backdoor가 설치되어 내부의 데이터를 외부로 유출하려는 시도까지도 검출이 가능하다.
또한, 종류에 따라서는 네트워크에서 사용하지 않는 IP 주소를 활용하여 가상의 단말(Decoy : 미끼)을 생성하고, 이 가상의 미끼들이 보안에 취약한 허점들을 공개해 웜 등의 공격을 자신에게 유도하면서 네트워크를 보호하고 웜 등을 발생시킨 단말을 검출하여 격리하는 기능도 가지고 있다.
그림 1에서처럼 NAC는 단말 및 사용자가 네트워크에 진입하는 순간부터 사용을 종료하는 모든 과정에 관여하여 허가된 사용자와 단말만 진입을 허용하고, 허가된 트래픽만 사용을 허가하게 되는 과정을 반복하게 된다.
NAC의 종류
현재 국내에서 판매되는 NAC 제품은 외산, 국산을 포함하여 대략 15개 정도의 제품이 있다. 판매되는 제품의 수량이 많은 것도 제품을 선택하는 데 어려움을 주지만 판매되는 제품의 종류(구현 방식)가 많은 것도 담당자가 제품을 선택하는 데 고민이 된다.
NAC의 종류는 Agent의 유무에 따라 크게 Agent-base와 Agent-less로 구분할 수 있으며, 제품을 생산하는 벤더에 따라 Software Vendor의 제품, Switch Vendor의 제품, NAC 전문 Vendor의 제품 등으로 구분할 수 있다. 하지만 이렇게 구분을 한다고 하더라도, 동일한 구분 하에 위치한 제품들의 성격도 조금씩 틀린 경우가 많다. 가령 Agent-base의 NAC 전문 Vendor 제품으로 구분되는 2가지 제품의 특성 및 강점이 모두 다른 경우가 있어 같은 기준으로 평가하기 힘든 경우가 대부분이다.
여기서는 모든 종류의 특성들을 다루기는 어려운 부분이 있어 크게 Agent-base와 Agent-less 제품의 특성 및 구현 방식에 대해서만 설명하도록 한다.
Agent-less와 Agent-base
Agent-base의 제품은 말 그대로 단말에 특별한 기능을 가진 프로그램(Agent)을 설치하는 형태의 제품이다. 앞에서 언급했듯이 이 Agent들은 단말에 설치되어 단말의 상태를 점검하게 된다. Symantec의 제품이 대표적이다. Agent-less 제품은 이 프로그램을 설치하지 않으며, MirageNAC가 대표적인 제품이다.
Agent를 설치하는 제품의 경우 단말의 상태 점검에 강점을 가지고 있으며, Agent-less 제품의 경우 Post-Admission(트래픽 모니터링)에 강점을 가지고 있다. Agent를 설치하고 설치하지 않고의 선택은 네트워크 상황과 함께 현재 네트워크 상에서 필요로 하는 기능이 무엇이냐에 따라 결정하게 된다.
우선 상황을 검토하게 되는데, 기존 단말에 설치되어 있는 Agent들의 종류 및 기능을 확인하게 된다. 기존에 설치되어 있는 Agent의 수량이 너무 많고, 설치되어 있는 Agent들이 단말의 상태점검 기능을 가지고 있다고 하면 Agent-less 제품을 사용하는 것이 설치 및 유지보수적인 측면에서 효과적이다. 물론 도입하려는 Agent-less 제품과 기존에 설치되어 있는 Agent와의 연동에 문제가 없는지를 확인해야 한다. 하지만 설치되어 있는 Agent가 별로 없고 기능이 중복되지 않는다면 Agent-base 제품의 사용이 효과적일 수 있다.
기능적인 측면에서 보면 Agent-base의 제품은 단말 상태 점검에 강점이 있고, Agent-less은 유해 트래픽 탐지를 포함한 트래픽 모니터링에 강점이 있다. 이로 인해 네트워크가 최근에 유행하고 있는 스푸핑(Spoofing) 공격 및 각종 유해 트래픽으로 인해 문제가 된다고 한다면 Agent-less 제품의 도입을 권장하지만 상태점검이 우선시 되는 조직의 경우 Agent-base의 제품 도입이 좀더 효과적이다.
NAC 도입을 결정하기 전에
Agent-base 제품이던 Agent-less 제품이던 완벽한 제품은 없다. 하지만 완벽성을 높일 수는 있다. 제품의 완벽성을 높이기 위해서는 제품도입을 결정하기 전 현재 네트워크 환경과 필요에 부합되는 제품을 도입하고, 기존 솔루션들과의 적절한 연동을 수행하는 방법을 강구해야 한다. 보안 솔루션 및 네트워크 솔루션들이 다양화되면서 이러한 통합의 중요성이 더욱더 커지고 있다. 사실 NAC 솔루션은 단독으로 동작할 때보다 적절하게 통합될 때 더욱 효과적인 솔루션이라고 할 수 있다. 가령 NAC는 단말을 네트워크로부터 격리하는 기술을 가지고 있다. 이 기능을 다른 솔루션들과 통합하는 경우 IPS는 물론 NMS, SMS와 통합이 가능하다, 이를 통하여 IPS가 모니터링 하는 과정에서 내부에서 외부로 이상한 트래픽을 발생시키는 단말이 있다고 하면 IPS는 이를 NAC에 통보하여 차단이 가능하게 된다. NMS와 연동하면 NMS로 장애 로그가 발생한 단말을 NAC가 차단할 수 있다.
모든 제품이 마찬가지지만 NAC가 목적으로 하는 것은 정책기반의 네트워크 구현을 통한 네트워크 가용성 확보에 있다. 현재까지의 구현사례들은 NAC가 그 목적에 부합되는 제품이라는 것을 증명하고 있다. 이로 인해 2009년에는 더욱 많은 기업들이 NAC를 도입할 것으로 보인다.
댓글