복잡해진 시스템 환경, '통합'으로 돌파하라
분야별 통합 키워드 5 | 통합 보안 “완벽한 보안은 없다. 그러나 ‘보안’은 있다”
정용식 | 시큐아이닷컴에서 보안 컨설턴트
주변을 한 번 들러보자. 보안을 위해서 도입된 보안 솔루션들이 어떤 것이 있을까? 바이러스 백신, 방화벽, IDS, 보안OS, 패스워드, 전자서명, 데이터 암호화 등 다양한 종류의 보안 솔루션들이 있다. 그러나 “다양한 보안 솔루션이 도입된 후에는 보안성이 높아져서 더이상 보안 사고가 발생하지 않는가”라는 질문에 대해 어느 누구도 자신 있게 긍정적인 답변을 하기는 쉽지 않다. 그러면 무엇이 문제일까? 이 글에서는 이러한 문제에 대한 해결책이며 보안의 이슈로 떠오르는 통합 보안에 대해 다루고자 한다.
우리의 정보시스템은 안전한가?
그렇다면 정보를 보호하기 위해서는 무엇이 필요한가? 정보보호의 목적인 기밀성, 무결성, 가용성을 확보하기 위한 여러 보안 솔루션들이 있다. 초기에 암호화 프로그램, 바이러스 백신 등으로 시작해서 네트워크의 발달과 더불어 방화벽(firewall), 침입탐지시스템(IDS), 가상사설망(VPN) 등 네트워크 보안 도구들로 발전되기 시작했고, 현재는 인터넷을 통한 전자상거래의 발달로 사이버 거래에서의 신뢰성을 부여하기 위한 인증 및 전자서명 등으로 발전하고 있다. 이러한 많은 보안솔루션들이 도입되고 있기 때문에 지금 우리의 정보시스템은 안전하다고 말할 수 있을까? 이 질문에 자신 있게 대답할 수 있는 사람은 아마도 없을 것이다. 물론 새로운 해킹 기법이나 바이러스가 계속 등장할 것이라는 예측이 그 이유 중의 하나일 수 있으나, 보안 도구의 설치로 보안은 이제 신경을 쓰지 않아도 된다고 생각하는 인식의 문제, 보안 도구들이 많아짐에 따라서 나타나는 관리 소홀의 문제, 정보보호를 기술적인 통제만으로 해결하려고 하는 문제 등 조직 내부의 문제 역시 존재하고 있기 때문이다. 이러한 문제들을 해결하는 방안으로 제시되고 있는 것이 바로 ‘통합 보안’이다. 그러나 이 ‘통합’이라고 하는 용어는 어디에나 다 통용되는 것과 같이 통합 보안에 대해서도 많은 사용자들이 서로 다르게 생각하고 있고 또 자신의 담당 업무의 성격에 따라서 서로 다르게 인식되고 있는 것이 사실이다. 그러면 통합 보안이란 용어를 먼저 정의해 보도록 하자.
통합 보안은 통합 보안 관리? 통합 보안 제품?
통합 보안이란 좀 더 정확하게 표현하면 통합 보안 관리를 의미한다. 물론 방화벽, IDS, VPN 등 여러 보안 제품을 하나의 장비로 구현하고서 통합 보안 제품이란 이름을 사용하기도 한다. 이러한 통합 보안 제품은 통합 보안 관리와는 무관한 것일까? 그렇지 않다. 통합 보안 제품에 대해서 한 번 생각해 보자. 방화벽, IDS, VPN 등 각각의 제품을 따로 구매할 필요 없이 하나의 제품으로 해결이 가능하기 때문에 비용 절감의 효과가 있다는 것, 각각의 기능을 수행하는 제품들을 따로 설치할 필요 없이 하나의 제품만 도입하면 된다는 편리성과 여러 가지 제품이 하나의 장비로 구현되어서 인터페이스가 통합됐기 때문에 운영 및 관리가 간편하다는 점이 먼저 떠오른다. 여기서 우리가 먼저 생각할 부분은 보안 제품의 성능과 안정성이다. 대형 사이트에서는 보안 장비의 처리 용량에서 병목현상이 발생하지 않도록, 또는 갑작스러운 장애로 네트워크 전체가 마비되지 않도록 HA(High Availability)나 LB(Load Balncing) 구성을 사용한다. 그렇다면 일정 규모 이상의 사이트에서 이렇게 보안 기능을 통합한 제품은 성능면에서 오히려 장점이 아닌 단점이 될 수도 있을 것이다. 즉 통합 보안 제품의 특징 중 하나인 저렴한 가격은 소규모의 사이트들에는 적합하지만 대형 사이트에는 적합하지 않을 수도 있어 통합 보안 제품의 대표적인 특징으로 언급하기는 일부 부족한 면이 있다. 그렇다면 통합 보안 제품의 다른 특징인 한번만 도입하기 때문에 편리하다는 점과 운영 및 관리가 간편하다는 점은 결국 시스템 운영자의 입장에서 관리 부담이 적다는 의미로, 이는 관리에 대한 인터페이스가 통합되어서 나타나는 현상이며 통합 보안 제품의 대표적인 특징으로 볼 수 있다. 결국 통합 보안 제품이라고 하는 것도 그 특성상 통합 보안 관리의 장점을 살린 제품인 것이다.
통합 보안 = ESM? EAM?
그러나 통합 보안 관리에 대해서도 다른 관점이 존재하고 있다. 통합 보안 관리를 들었을 때 여러분은 어떤 그림이 떠오르는가? 여러분이 서버나 네트워크를 운영하는 담당자라면 보안 관련 이벤트를 하나로 모아서 모니터링 하고 관제하는 ESM(Enterprise Security Management)이 먼저 떠오를 것이고, 애플리케이션 개발자나 운영자라면 사용자 인증 및 권한관리를 통합하는 SSO(Single Sign-On, 통합 인증)나 EAM(Extranet Access Management, 통합 접근 관리)이 떠오를 것이다. 물론 시장에서는 일반적으로 ESM을 통합 보안 관리시스템 또는 통합 보안 관제시스템으로 부르고 있고, EAM은 통합 인증 관리 또는 통합 접근 관리 등으로 구분해 부르고 있다. 하지만 지금까지 이야기한 통합 보안 관리의 관점에서 보면 ESM과 EAM 모두 통합 보안을 구현하는 솔루션인 것이다. 다만 시스템 운영 부서에서는 그 특성상 시스템 운영 및 관리를 통합하는 ESM을 위주로 생각하게 되고, 개발 및 애플리케이션 운영 부서에서는 사용자 계정 및 권한 관리 업무를 통합하는 EAM을 먼저 생각하게 되는 것이다.
가상 업체 A사의 통합 보안 사례
그러면 통합 보안이 어떻게 진행되어야 하는지 이해를 돕기 위해서 가상의 인터넷 쇼핑몰 업체인 A사의 통합 보안 적용 시나리오 예제를 통해서 EAM과 ESM이 어떻게 구축되는지 살펴보도록 하자. 인터넷 쇼핑몰 업체인 A사는 올해 들어 여러 건의 보안 사고가 발생했다. 다행히 신속한 조치를 통해 외부에 공개되지는 않았지만 이러한 보안 사고가 계속 발생한다면 인터넷 쇼핑몰 업체인 A사의 신용에 큰 타격을 입을 것이라는 것은 명확한 사실이었다. 그래서 A사는 내부에 T/F 조직을 결성하고 이에 대한 문제 해결을 시도했다. T/F 팀장을 맡게 된 K과장은 먼저 어떤 유형의 보안 사고들이 발생했는지 살펴봤다. 그랬더니 크게 두 가지로 분류할 수 있었다. 하나는 기반 구조(infrastructure)에 대한 보안 사고였고, 또 하나는 애플리케이션(application)에 대한 보안 사고였다. 기반 구조에 대한 보안 사고란 네트워크, 서버 등 정보시스템의 기반 구조들에 대한 비인가 접근, 서비스 거부 공격 등 기반 구조의 기밀성, 무결성, 가용성에 대한 침해 사고들이었다. 애플리케이션에 대한 보안 사고란 회사의 업무 프로그램에 대해서 사용자 계정의 도용, 승인 받은 권한 이외의 데이터에 대한 접근 시도 등 사용자의 인증 및 권한에 관한 침해 사고들이었다. K과장이 이렇게 두 가지로 분류한 이유는 기반 구조와 애플리케이션이 회사 내의 서로 다른 부서가 운영 및 관리를 하며 각각 책임 소재도 다르기 때문이었다. 기반 구조로 분류한 네트워크, 서버, 방화벽, IDS, VPN 등은 시스템 운영팀에서 관리하고 있고, 애플리케이션은 개발팀에서 개발하고 각 애플리케이션 담당자들이 운영 및 관리를 하기 때문에 K과장은 두 가지로 분류해 각각 접근하는 게 오히려 문제점을 정확하게 파악하고 그 해결책도 손쉽게 찾을 것이라고 생각한 것이었다.
기반 구조의 보안
K과장은 먼저 회사 내의 기반 구조들에 대한 보안 솔루션들이 어떤 것이 있는지 살펴봤다. 기반 구조인 네트워크, 서버 등을 보호하기 위한 A사의 보안 솔루션은 외부에서의 접근을 차단하고 통제하는 방화벽, 방화벽을 우회하는 공격 징후 등을 탐지해주는 IDS, 외부에서 회사 내의 정보시스템에 접근이 필요한 경우에 사용하는 VPN, 최근에 많이 발생하는 웜이나 바이러스 등이 유입되지 않도록 동작되는 바이러스 월 등이 있었다. 이런 보안 솔루션이 어느 정도 갖춰져 있는데도 보안사고가 계속 발생하는 이유는 무엇일까? K과장은 직접 운영자들에게 그 이유를 물어봤다. 그랬더니 보안 솔루션을 운영하기 위한 인력과 시간이 부족하다는 것이었다. 물론 인력과 시간이 많다고 100% 완벽한 보안이 이뤄지는 것은 아니지만 관리 인력이 부족하다 보니 충분히 예방할 수 있는 보안 사고도 종종 발생한다는 것이다. 대부분의 사람들은 보안 솔루션이 설치되면 이제 보안은 끝이라고 생각하고 더 이상 신경 쓰지 않아도 된다고 생각을 하는데 이는 크게 잘못 생각하고 있는 것이다. 개인 PC의 경우를 보더라도 백신 프로그램이 설치됐다고 안심할 수 있는가? 백신 프로그램을 설치하고서 항상 최신 백신 업데이트를 해줘야 하는 것이다. 바이러스에 감염되는 많은 PC들이 백신 프로그램은 설치되어 있는데, 백신 엔진은 몇 달 전 심지어는 PC 구입 이후 한 번도 백신 업데이트를 안 한 경우도 종종 볼 수 있다. 회사에 적용되는 보안 솔루션도 크게 다르지 않다. 회사의 정보시스템 환경은 주변 상황에 따라서 계속해서 변하게 된다. 그렇다면 그에 따라서 보안 솔루션의 설정도 같이 변경해줘야 하는 경우가 많다. 그리고 정상적으로 동작하는지 이상 징후는 없는지 계속 모니터링을 할 필요가 있는데 관리해야 할 네트워크 장비나 서버들은 계속 늘어나고, 보안 솔루션도 방화벽, IDS, VPN, 바이러스 월 등 다양하게 늘어나는데 여기에 투입될 인력과 시간이 부족하다는 것이다. 초기에는 보안 업무에 대한 시간이나 비용을 고려하지 않아도 상관없었다. 그러나 지금처럼 각종 보안 솔루션들이 네트워크 장비와 서버들과 함께 효율적으로 운영되고 관리되기 위해서는 보안 솔루션에 대한 관리 업무가 별도로 필요하게 된 것이다. 이러한 보안 솔루션의 증가에 따라서 보안 솔루션을 운영하고 관리하기 위한 인력과 비용의 증가는 어떻게 보면 당연한 것인데, 지금까지 기존의 인력들로 업무를 하다 보니 운영 및 관리 소홀로 예방할 수도 있었던 사소한 보안 사고가 발생했던 것이다.
보안 해결 방안으로 등장한 ‘ESM’
그러면 이러한 문제를 해결하기 위한 방안으로 어떤 것이 필요한가? 단순하게 인력만 충원해주면 해결될 문제인가? K과장은 주변에 있는 보안 전문가들에게 자문을 구했다. 그랬더니 ESM이라고 하는 통합 보안 관리시스템을 추천해주는 것이었다. 이전에 전산시스템이나 네트워크가 방대해지면서 관리 효율을 높이기 위한 목적으로 SMS(Server Management System)나 NMS(Network Manage ment System) 등 관리용 도구가 등장한 것과 마찬가지로 이제 보안시스템에도 같은 개념의 도입이 필요하다는 것이다. 대부분의 보안장비가 독자적 기술을 적용해 개발되어 제품 간 연동이 어려워지고 이를 운용하는 관리자는 기능 파악에만도 엄청난 노력을 들여야 하기 때문에 조직ㆍ장비ㆍ인력 소요가 증대되고 이는 결국 비용 문제로 연결된다. 그렇기 때문에 이와 같은 보안시스템에 대한 비효율적인 문제를 해결하기 위해서 ‘통합 보안 관리’가 필요하다는 것이 대체적인 의견이었다. 그러나 ESM에 대한 보안 전문가들의 의견은 서로 달랐다. 어떤 전문가는 ESM은 단순하게 보안 솔루션이 제공하는 이벤트들을 실시간으로 확인하기 위한 통합 모니터링이라고 이야기하는 반면, 통합 모니터링에서 끝나는 게 아니라 각종 보안 솔루션의 정책 설정 및 관리까지 통합하는 시스템이 ESM이라고 이야기하는 경우도 있었다. 또 다른 전문가는 ESM은 수집되는 이벤트들을 통합해서 보안 사고에 대한 예보 및 경보를 통보하고 자동적으로 대응할 수 있는 프로세스를 갖춰야 한다고 이야기하는 것이었다. 이러한 ESM에 대한 시각 차이는 ESM이라고 하는 개념이 등장한지 아직 오래되지 않아서 계속 발전하고 있는 시점에, 초창기 ESM이 갖췄던 기본적인 통합 모니터링의 기능에다가 통합 정책의 반영, 보안 사고의 예고 및 경보, 자동 대응 프로세스, 위험관리 등 사용자들이 원하는 각종 요구사항과 앞으로 ESM이 지향해야 할 발전방향을 함께 고려해 이야기한 것으로 이해하면 될 것이다.
<그림 1> ESM 제품 동향
ESM의 일반적인 기능
현재 국내 주요 ESM 개발 업체들이 선보인 제품 위주로 ESM이 갖춰야 할 일반적인 기능들은 살펴보자.
① 통합 모니터링 : ESM의 가장 기본적인 기능으로 보안 장비, 네트워크 장비 및 주요 서버들에 대한 로그 및 각종 이벤트에 대한 통합 모니터링을 제공한다. 더 나아가 운영 현황에 대한 통합 뷰도 제공한다.
② 보안사고 분석 : 통합 보안 이벤트를 기반으로 한 상관관계(correlation) 분석 기능으로 ESM의 가장 중요한 기능이라고 이야기할 수 있다. 수많은 이벤트 중에서 보안사고로 이어질 수 있는 침입의 가능성이 높은 이벤트가 어떤 것인지 파악해서 의심스러운 이벤트를 선별할 수 있는 기능이며, 나아가서는 트래픽 분석을 통한 웜 공격 등의 유해 트래픽에 대한 분석도 제공한다.
③ 보안사고 대응 및 처리 : 의심스러운 이벤트에 대해서는 알람, SMS, 이메일 등을 통해서 예보 및 경보를 제공하고 지정된 프로세스에 의해서 자동 또는 수동으로 대응 기능을 제공하며, 어떻게 처리했는지 사후 결과에 대한 피드백 기능까지 제공한다.
④ 보안 정책 수립 및 통제 : 보안에 관련된 전사 차원의 일관된 정책을 수립하고 수립된 보안 정책을 ESM을 통해서 보안 솔루션에 반영시킬 수 있도록 통제하는 기능을 제공한다.
⑤ 위험관리 : ESM을 전사적인 위험관리 도구로 사용하기 위한 기능으로 전사의 정보자산을 ESM에 등록해 관리하면서 취약점 분석 및 이벤트 발생에 따른 위험 분석을 실시하고, 위험 분석에 따른 향후 예측까지 수행하는 기능이다.
⑥ 보고서 기능 : ESM의 성격상 회사의 요구사항에 맞는 보고서를 출력하는 기능 또한 무시할 수 없는 주요한 기능이다.
ESM 구축시 고려사항
보안 솔루션 도입에 있어서의 가장 기본적인 사항 중의 하나는 바로 비용 대비 효과이다. 보호하고자 하는 정보자산의 가치보다 더 큰 비용을 투자할 수는 없는 것이다. 물론 여기에서 정보자산의 가치에는 보안 사고로 인한 경제적인 손실과 복구 및 보상 비용, 이미지의 손상에 따른 비용 등도 포함되는 것이다. 그렇게 때문에 ESM을 구축하고자 한다면 먼저 회사 내에 위험 평가를 수행하고 그에 따른 보안 요구사항을 명확하게 정의할 필요가 있다. 먼저 ESM의 구축 범위를 명확하게 설정해야 한다. 외부와의 접속이 많은 사이버 사업장 위주로 할 것인지, 내부 업무 시스템을 대상으로 할 것인지, 개인 PC까지 구축 범위에 포함시킬 것인지를 결정해야 한다. 물론 전사적으로 회사 내의 전체 정보시스템을 대상으로 시행할 수도 있겠지만 초기 구축에서 바람직한 방향은 아니다. 구축 범위가 선정되면 그에 따른 ESM의 필요한 기능을 구체적으로 정의해야 한다. 일반적으로 ESM에 대해서 언급하는 모든 기능들을 다 포함하면 좋겠지만 앞에서 언급한 바와 같이 아직 ESM의 기능에 대해서는 표준도 없고 각 회사의 구현 제품마다 기능들이 차이가 있는 상황이다. 이런 상황에서 모든 ESM 제품이 갖고 있는 기능들을 다 나열한다면 비용 대비 효과 측면에서 바람직하지 못하다. 왜냐하면 ESM이 솔루션이라고는 하나 아직까지는 SI에 가까운 커스터마이징이 필요하기 때문이다. 그렇기 때문에 업체들이 제공하는 기능들을 100% 그대로 믿을 게 아니라 우리 회사에서 필요한 보안 요구사항이 어떤 것인지 먼저 정의하고 그에 따른 필요한 기능들을 정의할 필요가 있다. 이러한 기능들은 통합 대상 장비의 특성에 따라서 또는 개발 업체의 기술적인 제한사항 등으로 변경될 수도 있으나 회사의 보안 요구사항에 따른 ESM의 필요 기능이 무엇인지 사전에 정의하는 것은 반드시 필요하다. 구축 범위와 기능이 정의됐으면 ESM과 통합 대상을 어떻게 연동할 것인지 고려해야 한다. 보안 솔루션이 제조업체도 다르고 그 성격과 기능들이 다양함에 따라 ESM을 통해서 통합 관리를 한다는 것이 손쉬운 일은 아니다. 이러한 이기종 보안 제품을 연동하는 방식으로는 syslog, SNMP Trap, API 등의 방식이 있으며, 좀 더 적극적인 방식으로 agent를 이용하는 방식도 있다. 이 경우 통합 대상의 장비의 특성에 따라서 어떤 방식으로 연동이 가능한지, 각종 장비나 서버에 agent를 설치할 수 있는 환경이 제공되는지에 대한 검토가 필요하다. 이런 검토 끝에 특정 장비의 특성 및 기술적인 제한 사항으로 전 단계에서 정의한 기능의 구현이 어려운 경우에는 기능을 수정할 것인지 아니면 추가 개발 등을 통해서 문제를 해결할 것인지 결정해야 한다. 마지막 고려사항으로는 이렇게 구축된 ESM을 어떻게 활용할 것인지에 대한 고민이 필요하다. 통합 모니터링을 통한 인력 및 비용의 절감으로 만족할 것인지, 통합 이벤트 분석을 통한 예보 및 경보 시스템으로 활용할 것인지, 전사적인 위험관리 시스템으로 활용할 것인지 등에 대한 활용 방안을 모색해야 할 것이다. 물론 두 번째 고려사항인 기능을 정의하면서 활용방안을 어느 정도 생각하고 있었겠지만 ESM을 어떻게 활용할 것인가를 명확하게 정의하지 않으면 ESM에 대한 서로 다른 생각들과 기대치로 인해서 구축 후에 여러 가지 문제점들이 발생하게 된다. 앞에 언급한 고려사항에 따라 K과장은 다음과 같이 기반구조에 대한 통합 보안 관리 방안으로 ESM을 제안하기로 마음먹고 다음과 같이 보고서 초안을 잡았다.
◆ A사의 통합 보안 관리를 위한 ESM 제안서
① 보안 솔루션의 지속적인 도입으로 보안 관리업무에 대한 비용과 시간이 계속 증가하고 있으나 이에 대해 회사에서는 적정한 조치를 취하지 않아 잦은 보안사고의 원인이 되고 있음
② 이에 대한 대응책으로 다음과 같이 통합 보안 관리시스템(ESM)을 제안함
③ ESM의 적용 범위는 인터넷 서비스 구간으로 한정한다. 현재의 문제점에 대한 신속한 대응이 필요하기 때문에 초기 구축 범위를 인터넷 쇼핑몰이라는 회사의 특성상 가장 민감하고 중요한 부분에 집중하여 조기에 시스템을 가동시키는 게 중요하고, 인터넷 구간에 대한 ESM이 성공적으로 적용되고 평가가 좋으면 차후에 회사 내부의 업무 시스템까지 확장하는 것을 고려함
④ ESM의 주요 기능은 통합 모니터링, 보안 사고 분석 기능, 보안 사고 대응 및 처리의 기능이다. 전사적 정책의 수립과 일괄 적용에 대한 기능은 현재 회사에 도입되어 있는 보안 솔루션들이 각기 다른 회사의 제품으로 구성되어 있어서 구현하기도 어려울 뿐 아니라 보안 제품의 정책 설정은 자동화하는 것 보다는 사람이 직접 설정하는 게 더 좋다고 판단됨
⑤ 회사 내의 이기종 보안 솔루션들에 대한 구체적인 통합 방식은 ESM 개발 업체와의 사전 기술 미팅을 통해서 차후에 구체적으로 접근이 필요함
⑥ ESM 구축 이후 관제 인력을 충원해 보안 관제가 필요하다. ESM으로 이벤트의 통합 모니터링과 보안 사고에 대한 예보 및 경보가 가동된다고 해도 24시간 관제 업무를 수행하는 전임 담당자가 필요하고, 또 예보 및 경보에 대해서도 신속하게 파악하고 실제 보안 사고인지 아니면 단순한 가능성 또는 잘못된 경보인지를 파악할 전문 보안 인력이 필요함
애플리케이션 보안
기반 구조에 대한 보안 대책으로 이와 같이 ESM을 제안한 K과장은 이제 회사 내의 애플리케이션에 대해서 살펴 봤다. 기반 구조의 보안 솔루션과는 다르게 애플리케이션 보안을 위해서 도입된 보안 솔루션은 따로 없었다. 애플리케이션에 대한 주요 보안 사고들로 회사의 업무 프로그램에 대해서 사용자 계정의 도용, 승인 받은 권한 이외의 데이터에 대한 접근 시도 등 사용자의 인증 및 권한에 관한 침해 사고들이 있었음을 확인한 K과장은 이제 애플리케이션 운영자들에 대한 면담을 시작해서 문제점을 찾기 시작했다. 애플리케이션 운영자들과 면담을 해보니 애플리케이션에 대한 문제는 사용자 계정과 권한 관리가 제대로 이뤄지지 못하고 있다는 것이었다. 인터넷 쇼핑몰 업체인 A사가 업무에 사용하는 애플리케이션은 가장 기본적인 인사/총무 시스템, 그룹웨어 시스템, 재무관리 시스템과 쇼핑몰 업무에 사용되는 쇼핑몰 관리 시스템, 재고 관리 시스템, 협력업체 관리 시스템 등이 있고, 최근에는 DW의 구축을 통한 고객관리시스템(CRM)까지 오픈한 상태였다. 그러나 각각의 애플리케이션들이 사용자 DB를 별도로 구축해 자체적으로 사용자 계정을 발급해서 인증 및 권한을 부여해주고 있는 실정이었다. 그러다보니 직원들의 업무가 변경되거나 퇴직자가 발생하더라도 모든 시스템에서 기존에 사용하던 계정이나 권한의 변경이 제대로 이뤄지지 못하는 경우가 발생했고, 그런 사용자 계정을 통해서 몇 건의 보안사고가 발생했던 것이다. 또한 여러 애플리케이션마다 별도로 사용자 인증을 받아야 하니까 대부분의 직원이 비밀번호를 아주 손쉽게, 예를 들어 사용자 계정과 비밀번호를 똑같이 사용한다던가 아니면 1111, aaa와 같이 연속된 영문자나 숫자를 이용한 단순 비밀번호를 사용하는 경우도 문제가 되고 있었다. 그러면 이러한 문제를 해결하기 위한 방안으로 어떤 것이 필요한가? K과장은 주변에 있는 보안 전문가들에게 자문을 구했다. 그랬더니 이번에는 SSO나 ESM을 도입하는 것이 좋겠다는 답변을 들었다.
SSO 도입을 고려
SSO, 말 그대로 한번만 Sign-on을 한다는 이야기이다. 정보시스템의 발달로 인해서 여러 업무들이 전산화가 됐는데 초기에는 해당 애플리케이션마다 사용자 계정과 비밀번호를 다 따로 따로 만들고 관리했던 것이다. 그러다보니 인사 시스템에 접속할 때에는 사용자 계정을 사번으로 사용하고, 총무 시스템에 접속 할 때에는 주민번호가 사용자 계정이고, 그룹웨어에 접속할 때에는 이메일 아이디가 사용자 계정으로 사용되곤 했다. 업무의 전산화는 계속 진행되어 지식 관리 시스템, ERP 시스템, CRM 시스템 등 애플리케이션은 계속 늘어만 가고 따라서 사용자 계정 관리는 점점 더 복잡해져 가게 됐다. 서로 다른 사용자 계정과 비밀번호를 사용하지 않는다고 해도 사용자들은 업무를 처리하기 위해서 서로 다른 애플리케이션에서 따로 인증을 받아야 하는 불편함 역시 커져가게 된 것이다. 이러한 문제점에 대한 해결책으로 나온 솔루션이 SSO이었다. SSO는 한 번의 로그인으로 모든 애플리케이션의 다양한 서비스들을 손쉽게 이용할 수 있게 해주는 통합 인증을 제공하는 솔루션이다. SSO 도입을 통한 장점을 생각해 보자. 첫째, 사용자의 편리성이다. 애플리케이션 마다 각기 달랐던 사용자 계정과 비밀번호가 하나로 통일됐으니 외우기 쉽고, 매 번 따로 로그인하지 않고 한 번의 로그인으로 모든 애플리케이션을 이용할 수 있는 통합 환경이 제공된다. 두 번째는 IT 부서의 편리성이다. 비밀번호 분실 처리 등 관리 부담이 줄고, 사용자 인증 정보를 통합 관리하게 되어 정확하고 신속한 관리가 가능해지는 것이다. 세 번째는 보안성 향상이다. 사용자 인증 정보가 통합되어 있기 때문에 퇴직자가 발생하거나 혹은 누군가의 계정 및 비밀번호가 유출되어도 손쉽게 대처가 가능하고, 각 애플리케이션에 분산되어 있을 때보다 더 강력한 보안 정책의 적용이 가능하기 때문이다.
SSO에서 EAM으로
그러나 이렇게 SSO를 도입했으나 해결되지 않는 부분이 여전히 존재했다. 사용자 인증 정보는 통합되어 사용자 계정 및 비밀번호 관리 등은 함께 운영되나 각 애플리케이션별로 사용자 권한은 다르기 때문에 해당 애플리케이션에 사용자의 권한 정보가 따로 저장되고 관리되는 등 문제점이 여전히 남아 있었다. 이는 완전한 통합이라고 할 수 없다. 이런 요구사항에 부응해 발전한 것이 EAM이다. EAM은 SSO로 사용자 인증을 관리하고 애플리케이션에 대한 사용자의 접근 권한을 결정하는 조직의 정책을 제공하는 단일화된 매커니즘을 제공하는 솔루션을 의미한다.
EAM의 기능 및 장점
EAM에 대한 일반적인 기능은 다음과 같다.
① SSO 기능 : EAM을 이용해 사용자가 일단 웹 사이트에 로그인을 하면 사용자 권한에 따라 정의된 관련 정보를 접근할 수 있다. SSO 기능은 여러 서버들과 플랫폼, 그리고 인터넷 도메인에서 동작하는 수많은 애플리케이션에 존재하는 컨텐츠를 개별화된 화면으로 제공할 수 있다.
② 사용자 권한 관리 기능 : 리소스에 대한 접근 권한을 설정함으로서 권한에 적합한 리소스만을 접근할 수 있다. 이는 SSO를 통한 인증을 사용해 여러 시스템에 걸친 정책에 따라 효율적으로 이뤄질 수 있다. 또한 사용자는 자신의 접근 리소스에 대한 지식 없이도 허용되는 리소스만 접근할 수 있기 때문에 복잡한 접근 체계를 제거할 수 있다.
③ 관리 위임 기능 : EAM은 보안 정책에 대한 정책 기반의 관리를 제공해 개별적인 업무 단위, 외부의 상거래 파트너, 또는 다른 관리자에게 쉽게 권한을 위임할 수 있다. 위임받은 관리자는 관리가 명확하게 허용된 사용자와 정책만을 관리할 수 있다. EAM은 전반적인 보안은 유지하면서 필요한 곳에 관리 책임을 쉽게 위임할 수 있는 기능을 지원한다.
④ 인증 방법의 다양성 : 기존의 ID, 패스워드만의 일률적인 인증 절차를 벗어난 다양한 인증 방법을 취할 수 있다. ID에 의한 방법은 물론이며 CA와의 연동을 전제로 한 X.509 인증서 기반의 안전한 인증 절차를 수행할 수 있고, 기업 고유의 토큰(token) 방식의 인증을 사용할 수도 있다. 인증서 기반의 인증은 디지털 서명과 인증기관이 사용되는 장점으로 이를 사용하는 기업 간의 확장성에 큰 장점이 있다.
⑤ 자원 접근 관리 : 기존의 기업 시스템에 접근하기 위해 리소스가 존재하는 영역에 모두 인증을 거쳐야만 한다. 사용자 인증을 통한 권한의 획득 따른 미세한 자원 통제를 지원하여 사용자별로 개별화된 자원 접근 관리를 할 수 있다. 그러나 트러스트 시스템의 통합적 관리로 각 시스템의 개별적인 관리가 아닌 통합 관리와 확장이 가능하다.
EAM을 넘어서 IAM으로
EAM의 발전된 형태로 언급되는 솔루션으로 IAM(Identity Access Management), 즉 통합 계정 관리 솔루션이다. EAM 솔루션의 차등적 접근 제어를 구현하기 위해서는 시스템 관리자가 직원들의 접근 권한을 일일이 입력해야 됨으로 시스템 관리에 드는 시간, 비용 손실이 크기 때문에 이를 해결하기 위해 기존 EAM에 자동적 권한 부여 및 관리 기능이 추가된 것이 IAM, 통합 계정 관리 솔루션이다. 좀 더 정확하게 표현하자면 사용자 계정과 권한 관리를 위한 기술로 유저 프로비저닝(User Provisioning), 전사적 접근 관리, 분산 관리, 패스워드 관리, SSO 등을 포함한 통합 보안 기술을 지칭하는 것이다.
A사를 위한 통합 접근 관리, EAM
SSO와 EAM에 대한 공부를 한 K과장은 다음과 같이 애플리케이션에 대한 통합 보안 관리 방안으로 EAM을 제안하기로 마음먹고 다음과 같이 보고서 초안을 잡았다.
① 사내 업무 시스템의 계속적인 전산화 작업으로 현재 애플리케이션이 계속 늘어나고 있으나 사용자 계정 및 인증에 대해서는 각 애플리케이션이 자체적으로 구축, 적용하고 있기에 사용자 계정 관리가 어려우며 잦은 보안 사고의 원인이 되고 있음
② 이에 대한 대응책으로 사용자 계정의 발급 및 삭제에 대한 통합관리가 시급하며, 사용자 인증과 권한 문제를 모두 해결할 수 있는 통합 접근 관리시스템(EAM)을 제안함
③ 그러나 사용자의 권한에 대한 문제는 각 업무 부서의 사용자 권한 정책이 선행되어야 하고, 그에 따른 각 애플리케이션의 모든 화면에 적용되어야 하기 때문에 구축 완료까지 많은 시간이 예상됨
④ 이에 EAM의 일부 기능으로 사용자 통합 인증(SSO)을 1차적으로 구축하여야 함
⑤ 향후 EAM의 적용 범위는 사내 모든 애플리케이션으로 하며, 통합 인증의 선 구축과 차후 통합 접근 관리(EAM)의 도입을 위해서 각 애플리케이션 담당자들로 구성된 T/F를 구축해 진행해야 함
<그림 2> 국내 EAM 솔루션 시장 영역의 변화
Security is a process, not a product
“보안은 제품이 아니라 과정이다” 대학가에서 암호학 과목의 교재로 널리 사랑받고 있는 『Applied Cryptography』라는 책의 저자인 브루스 슈나이어(Bruce Schneier)가 나중에 그의 다른 저서 『디지털 보안의 비밀과 거짓말』에서 이야기한 말이다. 통합 보안, 좀 더 자세하게 통합 보안 관리가 바로 여기에 해당되는 말이다. 보안 솔루션을 갖다 놓기만 했다고 보안이 이루어지는 것은 아니다. 보안 솔루션은 계속해서 변화하는 조직과 정보시스템 환경속에서 지속적으로 관리되어야 하는 것이다, 그러나 보안 솔루션이 계속 늘어남에 따라서 이제 담당자 한 사람이 모든 보안 솔루션을 제대로 관리한다는 것은 현실적으로 불가능해졌기에 통합 보안이 필요하게 되었고, 그 대상에 따라서 기반구조 정보보호를 위한 통합 보안 관리(ESM, Enterprise Security management)와 애플리케이션을 위한 통합 접근 관리(EAM, Enterprise Access Management)로 나눠서 관리하는 것이다. “보안은 사슬과 같아서 가장 약한 고리만큼 안전하다. 공격자가 가장 약한 고리를 찾아 공격하듯이 방어자는 가장 약한 고리부터 보완해야 한다”라는 말이 있다. 회사의 중요한 업무 시스템은 철저하게 보호를 하면서도 정작 개발자들이 사용하는 개발 서버는 허술하게 관리되는 경우가 종종 있는데, 이런 경우 개발 서버에 접속하는 것은 별로 어려운 일이 아니고, 개발 서버에 일단 접속하면 개발 서버를 신뢰하는 다른 모든 정보 시스템이 위험해지게 되는 것이다. 완벽한 보안은 없다. 그러나 통합 보안을 통해서 보안성을 향상시키려는 노력들이 계속 되고 있다. 통합 보안에 관한 지금까지의 글에서 단순하게 ESM과 EAM의 기능에 대해서만 생각하는 것이 아니라 ESM과 EAM이 왜 나올 수밖에 없었는지, 보안에 있어서 중요한 사상은 과연 무엇인지에 대해서도 한번쯤 생각하는 시간을 가져보기 바란다.
[ 정보보호의 목적 ]
정보를 보호한다고 하는 것은 무엇을 이야기 하는가? 무엇을 보호한다는 의미일까? 일반적으로 정보보호란 정보의 세 가지 속성, 기밀성, 무결성, 가용성 등을 보호하는 것이다.
① 기밀성(confidentiality) : 정보를 승인받지 않은 접근으로부터 노출되지 않도록 보호하는 것으로 승인받지 않은 자에게 노출되지 않도록 정보의 읽기 권한을 허용하지 않거나 정보가 노출된다고 하더라도 그 내용을 알 수 없도록 정보를 암호화하는 방안이 일반적으로 사용된다. ② 무결성(integrity) : 승인받지 않은 접근으로부터 정보가 변조되지 않도록 보호하는 것으로 승인 받지 않은 자에 의해 변조되지 않도록 정보의 쓰기 권한을 제한하거나 변조 여부를 확인할 수 있도록 정보의 해시 값을 저장하고 확인하는 방안 등을 예로 들 수 있다. ③ 가용성(availability) : 승인받은 사용자에게 적시에 정보를 제공할 수 있도록 보장하는 것을 의미한다. 가용성의 확보를 위해서 백업, 이중화 등의 솔루션이 사용되기도 한다.
[ HA와 LB ]
HA(High Availability)는 고가용성을 확보하기 위한 기술이다. 특정 장비에 장애가 발생하였을 경우에도 정상적인 서비스에는 지장을 주지 않고서 계속적으로 업무를 수행하도록 하기 위해서 사용하는 기술로 일반적으로 메인 장비와 백업 장비를 이중으로 구성하게 된다. 그리고 평소에는 메인 장비가 정상적인 서비스를 수행하게 되는데, 이 때 메인 장비에 장애가 발생해서 정상적인 서비스를 수행하지 못하게 되면 백업 장비가 자동으로 서비스를 개시해서 정상적인 업무 수행이 가능하도록 해준다. LB(Load Balancing)는 부하분산, 또는 로드밸런싱이라고 이야기하며 처리 용량이 일반적인 장비 한 대의 성능을 넘게 되더라도 정상적인 서비스를 수행하기 위한 기술로서 여러 대의 장비를 병렬로 설치하고서 처리용량을 각 장비에게 분산시키는 방식이다, 일반적으로 로드밸런싱을 구현하기 위해서는 스위치와 같은 별도의 장비가 필요하기도 하며, 장비에 따라서는 자체적으로 구현이 가능한 경우도 있다.
[ 위험 관리 ]
위험 관리(Risk Management)는 경영 목적을 달성하기 위해 조직에서 사용되는 정보자원에 대한 취약성과 위협을 식별하고, 정보자원의 가치를 기반으로 위험을 수용 가능한 수준으로 감소시키기 위해서 취해야 할 대응방안을 결정하는 프로세스를 의미한다. 기밀성, 무결성, 가용성 등이 침해 받아서 정보가 노출되거나 혹은 변조되거나 혹은 파손되어 이용할 수 없는 상황을 유발시킬 수 있는 환경이나 사건 등의 잠재 요인을 위협(threat)이라고 한다. 그리고 이런 위협이 발생하는데 활용될 수 있는 정보의 속성을 취약성(vulnerability)이라고 한다. 이러한 정보자산의 취약성이 위협에 의해 침해되어 발생하는 손실을 위험(risk)이라고 정의하며 다음과 같은 공식으로 나타낸다.
총 위험 = 위협 × 취약성 × (정보 자산의 가치)
일반적으로 위험에 대한 대응방안으로는 전가(transfer), 감소(reduce), 수용(accept), 거부(reject) 등이 있다. 위험에 대한 전가는 보안 사고를 대비하여 보험에 가입하는 것과 같이 위험 부담을 다른 조직으로 전가시키는 것이다. 감소는 네트워크 보안을 위해서 방화벽을 설치하는 것처럼 보안 통제를 구현하여 위험 자체를 줄이는 것이고, 통제 구현에 관련된 비용과 효과를 고려하여 통제 비용이 효과보다 크다면 조직은 위험을 수용하게 될 것이다. 인증서를 활용한 전자서명이 사이버상에서의 안전성을 보장해주지만 그렇다고 해서 인터넷뱅킹, 전자상거래 등 주요 거래 이외의 모든 인터넷 사이트의 접속에 활용지 않는다는 점을 생각하면 될 것이다. 거부는 수용과는 다른 개념으로 아예 위험 자체를 무시하는 것으로 이는 매우 심각한 결과를 가져올 수 있게 된다.
[ Authentication vs. Authorization ]
인증(Authentication)이란 시스템에서 사용자를 확인하는 과정이다. 정당한 사용자인지 아닌지를 확인하는 것이다. 우리는 시스템에 접속할 때 일반 사용자로 접속할 수도 있고, 관리자로 접속할 수도 있고, 방문자로 접속할 수도 있는 것이다. 인증을 위한 방법은 보통 다음의 세 가지를 이야기한다.
- 알고 있는 것 : 사용자가 알고 있는 지식을 이용한다. 가장 많이 사용되는 인증 방식으로 비밀번호가 여기에 해당된다. - 가지고 있는 것 : 사용자가 가지고 있는 것을 이용한다, 은행에서 폰뱅킹이나 인터넷뱅킹에 사용하는 보안카드나 토큰 생성장치를 이용한 OTP(One-Time Password) 등이 해당된다. - 신체적인 것 : 최근에 많이 사용되는 생체인식을 이용한 방식이다. 인간의 생체적인 특성 중 중복이 거의 없는 유일성의 특성을 이용한 것으로 지문인식, 홍채인식 등이 여기에 해당된다.
Authorization은 ‘인가’ 또는 ‘권한부여’라고 번역되는데 인가는 자신이 할 수 있는 권한이 무엇인지 권한에 대한 허용 여부이다. 유닉스 서버에 로그인 할 때, 관리자 계정인 root로 로그인할 수도 있고, 개발자 계정인 develop01로 로그인할 수도 있다. 이것이 인증이다. 그러나 똑같은 인증 절차를 거치고 서버에 로그인했으나 root에게 부여된 권한과 develop01에게 부여된 권한은 큰 차이가 있다. 인가란 이렇게 사용자 계정에 따라서 다른 권한을 부여하는 것이다.
제공 : DB포탈사이트 DBguide.net |
댓글 없음:
댓글 쓰기