클라우드 시스템 환경에서의 서버 시스템 보안에 대해서
(학주니 이학준) 최근들어 엔터프라이즈 컴퓨팅 환경이 데스크탑이나 노트북과 같은 PC 계열에서 모바일 환경으로 넘어가고 있는 추세입니다. BYOD가 업무 효율성이 높다는 얘기가 나오면서 기업들이 경쟁적으로 모바일 업무 환경을 도입하기 시작했고 모바일 업무 환경을 뒷받침해주는 기반 시설을 본격적으로 고민하고 갖추기 시작한 것입니다. 비단 BYOD를 이용하기 위한 모바일 업무 환경 뿐만이 아니라 사무실 안에서 자원 효율성을 높히고 자료의 외부 유출을 막는 등 효율성과 보안을 고려한 업무 환경에 대해서 고민하기 시작했습니다. 그리고 빅데이터를 활용하는 업무 시스템이 도입되면서 수집된 데이터의 보관 및 처리에 사용될 시스템 자원을 유동적으로 제어하기 위한 시스템 환경도 함께 고민하는 시기가 왔습니다. 이런 시스템 환경을 만족시켜줄 수 있는 컴퓨팅 환경으로 클라우드 시스템이 제대로 주목받고 있으며 많이 도입을 시도하고 있는 상황입니다.
클라우드 시스템 환경은 그냥 뜬구름 잡듯 생각하면 데이터를 하나의 게이트웨이나 시스템에 던져놓으면 알아서 다 저장하고 처리하고 결과를 내놓는다고 얘기할 수도 있을 것입니다. 하지만 그 이면에는 수많은 서버 시스템들과 어플리케이션, 플랫폼들이 유기적으로 맞물려서 돌아가고 있지요. 사용자 입장에서 보면 단순히 하나의 시스템이 가상 시스템을 만들어서 운영하고 데이터를 저장하는 것처럼 보이지만 그 밑에는 수백, 수천대의 서버들이 서로 클러스터링 방식으로 묶여서 돌아가고 있습니다. 밖에서 볼 때에는 하나의 시스템처럼 보이겠지만 안에서는 제각기 다른 역할을 담당하는 수많은 시스템들이 그 역할을 담당하면서 하나의 시스템처럼 보이게 만드는 것입니다. 그것이 어떻게 보면 플랫폼의 역할이지요.
일반 서버 시스템에서의 보안
이렇게 클라우드 환경이 각광을 받으면서 역시나 클라우드 환경을 활용한 업무 시스템들이 본격적으로 도입됩니다. 엔터프라이즈 환경에서 중요한 요소 중 정확성과 함께 보안 역시 중요한 요소로 꼽히고 있는데 클라우드 시스템의 보안은 어떻게 보면 서버 시스템이 갖춰야 할 보안과 크게 다르지는 않습니다. 다만 서버 시스템의 경우 시스템 단위로 보안이 들어가기도 하고 시스템을 이루고 있는 네트워크를 기준으로 보안을 적용하기도 하는데 그 환경이 클라우드에 맞게 변형이 된다고 보면 됩니다. 클라우드 시스템을 보안하는 방법은 네트워크 보안과 내부 보안의 2가지 방법으로 생각할 수 있습니다.
일반 서버시스템에서 사용되는 네트워크 보안 구성
일반적으로 서버 시스템에서 네트워크 보안을 얘기한다면 서비스 서버를 구성하고 있는 서버 팜(대부분이 하나의 서버만 운영하지는 않을 것입니다. 고가용성을 위해서 이중화, 혹은 삼중화 구성을 해두고 있으며 웹서비스를 운영한다면 웹서버와 데이터베이스 서버, 또 이미지 서버를 따로 구성하곤 하지요) 앞단에 네트워크 보안 위협을 탐지하는 IDS(인터넷 침입 탐지 시스템), IPS(인터넷 침입 방지 시스템)를 둡니다. 그리고 그 앞단에 방화벽을 두지요. 그리고 서버 상태를 체크하는 관제 시스템을 두곤 하는데 SIEM(정보 보안 및 이벤트 관리 시스템)아니 ESM(종합 보안 관제 시스템)을 설치하고 TSM(위협 탐지 시스템) 등도 함께 두기도 합니다. 최근에는 APT 공격이 활발히 일어나는 덕분에 APT 방지 시스템을 두기도 하지요. 서버 뿐만이 아니라 업무용 PC도 함께 해당 네트워크 안에 있다면 좀비 PC가 되는 것을 방지하기 위해 좀비 PC 방지 시스템을 구축하기도 합니다. 언급했던 시스템, 솔루션들이 모두 네트워크 상에서 업무용, 서비스용 서버나 PC를 보안하기 위한 방법입니다.
서버 시스템 내부의 보안도 마찬가지입니다. 보통 1대의 서버를 기준으로 보안하는 경우 보안용 서버 OS(시큐어 OS라고도 합니다)를 설치해서 사용합니다. 보안용 서버 OS는 Linux나 Windows와 같은 서버용 OS에 플러그인 형식으로 따로 설치하는 경우도 있고 Linux에 아예 보안용 모듈을 함께 넣어서 자체 보안용 OS로 만들어서 배포하기도 합니다. 어찌되었던 보안용 서버 OS는 허용된 사용자의 접근, 허용된 네트워크 및 프로세스의 접근을 감지하고 비허용된 접근을 막는 역할을 합니다. 또한 데이터 자체의 보안을 위해 스토리지 공간을 암호화하는 방식을 이용하기도 합니다. 보안용 서버 OS에 기본적으로 제공하는 기능이며 혹은 따로 관련 솔루션을 설치해서 사용하기도 하지요. 또 데이터 자체의 보안을 위해서 DRM을 도입하기도 하며 DLP를 이용하기도 합니다. 앞서 얘기했듯 일반적인 서버 시스템에서의 보안은 네트워크 환경에서의 보안과 동시에 서버 시스템 내부에서의 보안을 동시에 진행하는 경우가 많습니다.
클라우드 시스템에서의 보안
클라우드 시스템에서의 보안도 비슷합니다. 단 클라우드 시스템 자체를 보안 하는 것과 클라우드 시스템에 설치되어있는 사용자들의 엔터프라이즈 서버 시스템을 보안하는 것이 나뉘어져 있으며 그 구성도 보안 시스템의 구성이 클라우드 환경으로 넘어갔을 뿐입니다. 앞서 얘기한 IPS, IDS, 방화벽, SIEM(혹은 ESM), APT 방지 시스템, TSM, 좀비 PC 방지 시스템은 모듈로도 존재하지만 보통은 각기 어플라이언스 형태로 제공됩니다. 물리적 공간을 차지할 뿐만이 아니라 각기 시스템 자원을 갖고 움직이는 녀석들이지요. 하지만 클라우드 시스템에서는 앞서 얘기한 보안 시스템들이 모듈화되어 클라우드 시스템의 인스턴스로 제공됩니다.
클라우드 시스템에 대해서 얘기할 때 실제로 시스템은 다양한 서버 시스템들의 유기적 연결로 이뤄진다고 했습니다. 많은 클라우드 시스템들이 가상화 환경 위에서 돌아갑니다. 가상화 환경 위에서 가상 시스템(VM)을 만들고 그 위에 가상 OS를 띄워서 사용자가 볼 때에는 실제 시스템이 움직이는 것처럼 보이게 합니다. 클라우드 시스템의 발전에는 그 이면에 가상화 솔루션의 발전이 뒷받침되어 있다고 봐도 무방할 것입니다. 또한 시스템간의 데이터 연결 및 자원 연결을 제공해주는 클러스터링 기술의 발전도 한몫 하고 있습니다. 어찌되었던 클라우드 시스템 자체를 보안하는 것은 앞서 언급한 일반 네트워크 보안이나 시스템 보안과 비슷합니다. 물론 업무 시스템을 보안하는 것이 아니기 때문에 몇가지 요소가 빠질 수는 있지요. 하지만 방화벽, IPS, IDS, SIEM 등의 요소는 거의 그대로 가져갑니다.
클라우드 시스템 상에서의 서버 시스템에 대한 네트워크 보안 구성
재미난 것은 클라우드 시스템 위에 구축된 기업들의 업무용 시스템을 보안하는 부분입니다. 밖에서 볼 때에는 앞서 언급한 일반 서버 시스템의 보안과 똑같아 보입니다. 방화벽이 존재하고 중간에 IDS, IPS 등이 있으며 관제를 위한 SIEM(혹은 ESM)이 설치되어 있고 APT 공격 방지 시스템도 네트워크 구성에 보면 있습니다. 그런데 이 모든 구성들이 어플라이언스 형태가 아닌 모듈 형태로, 클라우드 시스템의 인스턴스 형태로 제공된다는 것입니다. 방화벽 시스템도 클라우드 환경에서 VM으로 만들어져서 그 위에 설치가 되어 운영됩니다. IPS나 IDS도 마찬가지입니다. 일반적으로 어플라이언스 형태의 시스템은 기본적인 시스템 환경에 해당 솔루션이 최적으로 운영될 수 있는 시스템 환경을 꾸미는데 있습니다. 실제로 돌아가는 것은 그 안의 어플리케이션들이지요. 그 환경이 고스란히 가상화 환경으로 넘어왔다고 보면 됩니다. 그리고 가상화 환경 위에서 움직이다보니 VM을 여러벌 복제해서 다양한 시스템에 적용시킬 수 있다는 장점이 있습니다(일반 서버 시스템 보안에서는 각기 시스템을 구매해야 하고 그 비용이 만만찮은데 가상화 환경에서는 그런 비용적 부담이 줄어듭니다). 그리고 클라우드 환경이라고 하더라도 내부적으로는 각기 네트워크로 연결되어 움직입니다. 앞서 애기했던 것처럼 클라우드 환경의 이면에는 수많은 서버 시스템들이 유기적으로 연결되어 있는데 그 연결이 네트워크로 되어 있습니다. 그리고 VM을 만들어서 운영하는데 그 VM을 연결시키는 것도 네트워크입니다. 물론 클라우드 시스템을 구성하는 서버 시스템들의 네트워크 체계와 VM들의 네트워크 체계는 다를 수 있습니다만 기본적인 구조는 동일합니다.
물리적 환경이 아닌 클라우드 환경에서의 손쉬운 보안 시스템 구축
앞서 클라우드 시스템 자체의 보안과 클라우드 시스템 위에서 동작하는 업무 시스템의 보안이 다르게 움직이고 있다고 얘기했는데 보통 두개의 시스템을 분리해서 운영합니다. 보안상 이유인데 만약 업무용 시스템에서 문제가 생겨서 그것이 클라우드 시스템에까지 영향을 끼치게 되면 해당 업무용 시스템 뿐만이 아니라 전혀 관계가 없는 다른 업무용 시스템에까지 악영향이 미칠 수 있기 때문입니다. 그래서 운영도 별도로, 또한 보안 시스템도 별도로 운영하는 경우가 많습니다만 관제 등의 부분이나 클라우드 시스템의 접속 부분에서 사용하는 관문 네트워크 보안은 공통으로 사용하는 경우도 있습니다. SIEM이나 방화벽, IPS, IDS 등과 같은 보안 시스템을 클라우드 시스템 자체에서 제공하는, 혹은 사용하는 것으로 쓸 수도 있다는 얘기입니다만 보통은 앞서 얘기했던 것처럼 별도로 구축해서(보통은 클라우드 시스템 인스턴스로 혹은 옵션으로 요청하면 만들어주는) 사용합니다. 그리고 보안용 서버 OS나 DRM, DLP의 경우 서버 시스템당 구축해야 하기 때문에 VM을 만들고 그 위에 함께 설치합니다. 이는 일반 서버 시스템에서의 내부 보안과 비슷합니다. 다만, 일반 서버 시스템은 물리적 서버 시스템인데 비해 클라우드 시스템에서의 서버 시스템은 VM이라는 것만 차이가 있습니다(사용자 입장에서는 그냥 서버 시스템으로 보입니다).
클라우드 환경에서의 보안이라고 해서 특별한 것은 없다고 봅니다. 구성 자체는 지금까지 해왔던 서버 보안 구성과 비슷합니다. 하지만 그 기반이 달라졌지요. 이전에는 하나하나 제각기 다른 보안 시스템을 네트워크에 순서대로 물려서 보안 네트워크를 구성했어야 했습니다. 하지만 클라우드 시스템으로 넘어와서는 물리적으로 구성할 필요가 없어졌습니다. 왜? 보안 시스템들이 다 하나의 인스턴스로 클라우드 시스템에 들어왔기 때문입니다. VM으로 만들어진 보안 시스템을 생성하고 소프트웨어적으로 네트워크를 구성하면 구성이 마무리됩니다. 보안성을 강화하고 싶다면 기존의 경우 관련 장비를 구매하고 네트워크 환경을 바꿔야 하는 불편함이 있었습니다만 클라우드 환경에서는 그럴 필요 없이 해당 장비에 대한 인스턴스를 만들어서 네트워크 구성에 넣어주기만 하면 됩니다. 네트워크 변경은 소프트웨어적으로 얼마든지 바꿀 수 있습니다. SDN(소프트웨어 정의 네트워크)이 각광을 받고 있는데 이미 클라우드 시스템 안에서는 어느정도 구현이 되어 있습니다. 그만큼 클라우드 환경에서의 업무 시스템 구축 및 보안 시스템 구축이 편리해졌다는 얘기입니다.
원문 : 클라우드 시스템 환경에서의 서버 시스템 보안에 대해서