정책 및 거버넌스 정립 후 그에 맞는 클라우드 서비스 선택
도입 후 수정하고 외부 보안 관련 정책 공부하기도
[보안뉴스 문가용] NASA는 첨단 과학으로 유명한 기관이다. 게다가 지구 안에서만 유명한 것이 아니라 아마 우주에 누군가 있다면 지구의 대표기관으로 알고 있을 가능성도 높다. 그렇다는 건 컴퓨터 프로세싱을 평균 국가기관보다 많이 활용한다는 것이고, 과연 엄청난 고심 끝에 NASA의 실험실에서도 클라우드와 가상화를 사용하기 시작했다는 소식이 있었다.
▲ 저 많은 별은 딸 수 있어도, 구름은 못 잡는 신세
NASA의 제트 추진 실험실에서는 화성 로봇 운영 등 각종 실험을 하면서 엄청난 양의 정보를 생성하고 저장한다. 그리고 이는 대부분 굉장히 민감한 정보이며 세상 어디에도 없는 유일한 정보이다. 그렇기 때문에 이 실험실에서 근무하는 IT 담당자는 클라우드 하나 선택할 때도 고려하고 조사해야 할 게 무척 많았다고 한다.
양날의 검, 클라우드
이 제트 추진 실험실은 캘리포니아의 칼텍 대학에 있으며 2009년에는 아마존 웹 서비스(Amazon Web Services)를 선택해 사용했다. 사전 공지를 미리 했건 안 했건 컴퓨팅 작업에 대한 높은 수요와 요구치를 수용하기 위해 크기를 늘리거나 다른 프로젝트들에 필요한 리소스들을 줄이거나 하는 유연성이 가장 필요했기 때문이다.
“이런 제 3의 서비스를 활용하기 전에 NASA는 그때그때 필요에 따라 데이터 저장소를 구매해왔습니다”라고 제트 추진 실험실의 IT 총책임자인 조나단 치앙(Jonathan Chiang)은 말한다. “즉 어떤 위성 관련 프로젝트를 계획할 때 100TB의 공간이 필요할 것으로 예상된다면, 필요한 서류를 결재 받고 100TB를 구매하는 식이었습니다. 그리고 그 공간을 항상 아끼고 아껴서 활용했죠.”
하지만 프로젝트를 진행하다보면 100TB를 넘을 때가 일쑤였고 그럴 때면 유연하게 대처할 수가 없었다. 그래서 클라우드를 활용하기로 한 것인데, 이때 제트 추진 실험실에서는 클라우드 사용에 대한 거버넌스 모델을 NASA의 컴플라이언스에 맞춰 개발했다. 또한 연방정보보안관리법과 NIST의 가이드라인에도 부합할 수 있도록 고민했다. 감사법도 당연히 고려해야 했다. 클라우드를 고르고 사용하기 시작하는 모든 과정이 결코 간단하지 않았던 것이다.
하지만 일단 거버넌스 모델을 확립하고 나니 굉장히 유용했다. 클라우드를 사용하고 얼마 지나지 않아 곧바로 계정 정보 문제가 터졌기 때문이다. 처음 클라우드를 도입할 때 실험실에서는 내부 개발자들과 프로젝트 관리자들에게 계정을 몇 개 제공했다. 하지만 이 방법에는 심각한 오류가 있었다. 클라우드 사용에 대한 전반적인 거버넌스는 정립되어 있어도 각 계정에 대한 보안 정책이나 감사 계획이 별도로 마련되지 않았던 것이다. 그래서 60개로 시작한 계정은 250개의 하위 계정으로 늘어났고, 누가 만들고 주로 사용하는지 추적하는 게 불가능했다.
“조사해보니 하위 계정은 최초의 60개 계정의 주인들이 각각 필요한 대로 동료들에게 계정 권한을 넘겨주는 과정에서 생성되었더군요.” 치앙의 설명이다. “게다가 이 계정 하나하나가 전부 유료라 무시 못 할 액수가 되더군요.” 더 이상의 생성을 막기 위해 실험실의 IT 담당자들은 최초 계정 60개의 주인들을 일일이 찾아다녔다. 그리고 계정 접근 권한을 모두 얻어냈다.
그러고 나서는 계정 관리를 위한 거버넌스 모델을 새로 정립했다. 그리고 이를 기존의 네트워크 인프라구조와 클라우드 도입에 적용했다. 다행히 아마존 웹 서비스가 자동화 기능을 충분히 갖추고 있었기 때문에 이 계정 문제를 빠르게 해결할 수 있었다고 사이버 보안 엔지니어인 맷 데렌스키(Matt Derenski)가 설명한다.
또한 이전에는 실험실 내부 네트워크에서 누가 데이터를 어디서 어떻게 사용했는지를 추적하는 게 어려울 때가 종종 있었는데 아마존 클라우드를 활용하면서부터는 계정에 대한 완벽한 추적이 가능해졌기 때문에 보안성을 강화하기가 훨씬 쉬워졌다고 치앙은 설명한다.
실험실에는 IT 보안 데이터베이스라는 것이 있다. 이 데이터베이스는 물리 및 가상 서버에서 돌아다니고 있는 모든 인스턴스들을 추적한다. 이전에는 직원들이 일일이 CPU 메이커, 모델, 메모리 통계 수치를 직접 기입해야 했다. 하지만 이제는 이 모든 것을 클라우드로 해결하고 있다. 게다가 클라우드에서 IT 보안 데이터베이스로 이 값들을 자동 전송한다.
“결국 클라우드의 도입은 양날의 검과 같은 결정이었습니다. 처음엔 저희 손을 베는 가 싶더니 이제는 든든한 무기가 되고 있죠.”
제트 추진 실험실 클라우드
앞서 ‘유연성’을 높이기 위해 클라우드를 사용하기 시작했다고 말했다. 그 외에도 클라우드를 사용하기 시작한 이유가 또 있는데 바로 개발자들이 자신들만의 인프라를 구축할 공간이 생긴다는 것이었다. NASA라는 기관 특성상 여기에 근무하는 개발자들은 소프트웨어를 굉장히 빨리 만들고 사용하는데, 이런 강점이 클라우드와 맞물리면 효율성이 높아진다는 것이다. “빨리 만들어 빨리 퍼트리고 빨리 사용하라는 장을 마련해준 것이죠.”
클라우드를 사용할 각 개발자들에게는 하위 계정을 공급했다. 그래야 알 수 없는 계정을 각자가 계속 생성해내는 문제가 해결되기 때문이다. 또 차지백 기능이라는 것을 도입해 사용자가 프로젝트 내 업무들을 수행할 때 발생하는 비용이 잘 정리될 수 있도록 했다. 현재는 이런 계정이 100개가 넘어가고 있으며 계속해서 이런 유용한 데이터들이 누수 없이 오가고 있다.
이렇게 계정의 기능을 조정하고 한정하는 것 외에도 IT 팀은 VPN을 사용하여 보안 수준을 설정하기도 한다. 현재 모든 계정에는 침입 감지 기능과 패킷 캡처 시스템이 갖춰져 있다. 이는 아마존 웹 서비스 뿐만 아니라 NASA의 클라우드 환경 모두에 적용되는 기능이다.
제트 추진 실험실의 IT 팀은 NIST 800-53의 보호 방책에 맞춰 환경설정 스크립트도 만들었다. 보안과 프라이버시에 관한 내용이 주를 이루고 있으며 개발자의 환경설정 관리 툴에 적용이 가능하다. 이렇게 함으로써 제트 추진 실험실은 상황에 필요한 다양한 스크립트를 보유할 수 있게 되었고, 이 스크립트로 사무실 전체의 환경설정을 쉽게 바꿀 수 있게 되었다. “개발자와 사무실 전체가 훨씬 민첩하게 움직일 수 있게 되었습니다. 보안도 당연히 철저히 하면서요.”
가상화, NASA에 날개를 달다
앞서 말했듯이 NASA는 최첨단 과학 기술을 연구하는 기관이고, 그렇기 때문에 방대한 양의 민감한 정보를 다루고 있다. 매일 몇 킬로미터에 달하는 위성접시에서 들어오는 정보는 페타 바이트 단위이다. 우주선의 궤적, 별들의 움직임을 계산하려면 이런 데이터가 빠짐없이 필요해 함부로 지우거나 옮길 수도 없다. 그렇기 때문에 데이터 저장소는 클 뿐만 아니라 유연해야 한다. “확장성과 유연성, NASA 데이터베이스의 가장 절실한 필수덕목입니다.”
그렇기에 이런 기능만 갖춘다면 NASA의 연구는 날개를 달게 된다. 화성 프로젝트의 경우만 보더라도 한 개의 지역에 대한 지질 조사 및 가상 실험을 진행하는 데에도 200개의 워크스테이션이 필요하다. 클라우드를 사용하기 전 NASA는 실험을 한 번 하기 위해 200개의 워크스테이션을 물리적으로 옮겨 한 곳에 모아야 했다.
하지만 가상화를 도입함으로써 물리적인 ‘이사’가 불필요하게 되었다. 오라클 선 레이(Oracle Sun Ray)를 활용해 데이터 채널을 전부 한 곳에 모을 수 있게 된 것이다. “시간과 비용을 모두 절약하면서 효율성도 높일 수 있는 신의 한 수 였습니다.”
리스크 관리
사실 처음 클라우드를 도입한다고 했을 때 NASA 내부에서는 거버넌스니 하는 개념이 제대로 있는 것도 아니었다. 그래서 외부의 규정을 참고하는 게 필수였다. 그래서 보안팀이 공부하기 시작한 것이 NIST의 보안 프레임워크였다. “NIST가 지향하는 바 - 지속적인 모니터링, 보안 설정의 자동화 등 - 를 실제로 구현하고 자동화 시키려니 이래저래 아마존 웹 서비스를 활용할 수밖에 없더군요. 정말 보안에 관해서 뭐하나 결정하려면 공부해야 할 것이 한두 가지가 아닙니다.”
NIST의 보얀 프레임워크를 적용하다보니 자연스레 리스크도 낮춰졌다. 민감한 정보가 사고로 대중에게 노출되는 일도 없었고 가볍게 만든 소프트웨어가 외부 바이러스에 감염되는 일도 없었다. “고를 땐 어려웠는데, 한번 제대로 고르고 나니 정말 많은 리스크를 없앨 수 있었습니다. 지금은 그렇게 한 것에 후회가 없습니다.”
또한 계정을 하나 만들 때마다 그 계정에 대한 감사 및 포렌식에 대한 권한을 보안 부서에 같이 위임하는 정책을 만들었다. 그렇기 때문에 무슨 일이 발생할 때마다 포렌식 팀에서 계정 주인의 동의를 얻을 필요 없이 계정을 막거나 일시 정지시킬 수 있게 했다. 리스크에 대한 재빠른 대처를 가능하게 한 것이다. “결국 모든 계정을 보안 팀에서도 접근할 수 있도록 했습니다.”
그런 권한을 가진 감사부에서는 네 시간마다 실험실 내부의 정보를 수집해 기록한다. 그 정보를 통해 보안담당자들은 현재 네트워크 내 정보 흐름에 대한 큰 그림을 머릿속에 가질 수 있게 된다. 여기에는 사용되고 있는 리소스, 사용 가능한 저장 공간, 사용이 중단된 리소스, 연락처, 리소스 사용과 보안 정책의 비교 등이 포함된다.
데렌스키가 한 마디로 이 모든 것을 정리했다. “결국 신중하고 꼼꼼한 준비를 통해 외부 클라우드 서비스를 그저 NSAS의 원격 데이터센터로 변환시켜버린 것이나 다름없습니다. 외부 서비스가 제공하는 기능을 그냥 그대로 사용한 것이 아니라요.”
ⓒDARKReading
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>