[SaaS 보안 04] 클라우드 보안의 근간, 계정 및 권한 관리

출처: pexels.com
보안 분야를 조금이라도 접한 분들이 가장 많이 듣는 용어 중 하나가 사용자 인증(Authentication)이다. 포털이나 금융, 공공 등 온갖 서비스에서 로그인, 간편 인증, 2단계 인증(2FA) 등 사용자 인증 관련 용어가 많이 쓰이고, 소프트웨어 개발을 좀 하다 보면 소셜 로그인, OAuth2, JWT(JSON Web Token) 기반 인증 등을 구현하곤 한다.
오프라인에서의 인증은 예를 들어, 신분증을 제시한 사람의 얼굴과 신분증에 부착된 얼굴 사진을 비교함으로써 이뤄지지만, 온라인에서의 인증은 보통 식별자(IDentifier)를 갖고 한다. 인증의 근간이 ‘계정 관리’(Identity Management, IM)가 되는 이유다. 세계적으로는IT 보안 초기부터 계정 관리가 강조되어 IM, SSO(Single Sign On), IAM(Identity & Access Management) 등 관련 표준과 솔루션이 개발됐으나, 국내에서는 인증 기술이 유난히 강조되는 분위기다.
규제 측면에서도 마찬가지다. 개인정보보호법의 하위 고시인 ‘개인정보의 기술적·관리적 보호조치 기준’ 고시에서는 ‘개인정보의 안전성 확보조치’ 고시와는 달리 별도 조항이 아니라, 계정 및 권한 관리를 제5조(접근통제)에 포함했고, 정보보호 및 개인정보보호 관리체계(ISMS-P) 인증 기준 중 계정, 인증, 권한을 다룬 2.5(인증 및 권한 관리)의 제목에는 ‘계정’이 포함되어 있지 않다. 우리나라의 기존 보안 정책에서 무엇을 강조해 왔는지 알 수 있는 대목이다.
로그인 과정에서 계정의 식별(Identification), 인증(Authentication), 권한 부여(Authorization)의 일련의 행위가 이뤄지는데, 계정 관리와 권한 부여는 직접 연계하여 관리해야 하는 요소인 한편 인증은 별도로 적용하는 기술이라고 볼 수 있다. 권한 부여는 계정에 대해 이뤄지는 행위여서 계정 관리를 강조하지 않으면서 권한 관리만 강조한다면 그것의 구체성이 훨씬 떨어진다. 한 마디로 계정 관리가 제대로 되지 않는 시스템과 기업의 보안은 ‘모래 위에 지은 집’이라고 해도 지나치지 않다.

그림 1. 전사 IT시스템의 IAM 연계
계정 및 권한 관리(IAM)가 보안 솔루션의 한 분류로 인식되어 와서 계정 관리를 하려면 솔루션을 도입해야 하는 것으로 이해하는 분들도 적지 않다. 솔루션을 구매하기 어려운 스타트업이나 중소기업들은 아예 생각하지 않기도 한다. 하지만 계정 및 권한 관리는 수동으로도 할 수 있다.
예를 들어 퇴사자가 생기면, 인사 담당자가 그룹웨어 담당자, ERP 담당자, 개인정보처리시스템 담당자, DB관리자 등 각 시스템 담당자에게 공유하고 그들이 해당 시스템에서 삭제하는 것이다. 사내 이메일로 보내도 되고, 게시판에서 공유해도 된다. 물론 수동으로 하다 보면 실수가 발생할 수 있고, 동기화의 시간차가 생길 수도 있지만, 할 방법이 있다는 것은 중요하다. 중요성을 인식한다면 얼마든지 수행할 수 있다. 입사자나 부서 이동이 발생할 때도 마찬가지다.
필자 역시 스타트업에서 상당 기간 근무하면서 이러한 방식으로 관리하기도 했다. ‘개인정보의 안전성 확보조치 기준’ 고시 제5조(접근권한 관리)의 조문도 비슷하게 대응할 수 있다.
특히 관리자(admin, root), 애플리케이션, 시스템, 개인정보취급자, 네트워크관리자, 보안장비관리자 특수 권한을 가진 계정이나, 회사 대표 공용계정은 담당자와 계정, 그에 따른 권한을 잘 관리하여야 한다. 종종 이러한 계정의 유출이나 악용으로 보안 사고가 발생한다.
시야를 클라우드로 넓히면 IAM은 10배 정도 중요해진다. 어쩌면 클라우드 보안의 시작과 끝이 IAM이라고 해도 과언이 아니다. 온프레미스에서 물리적인 IT 자원을 구매, 설치, 추가 도입, 폐기와 같은 행위를 클라우드에서는 몇 번의 클릭으로 IT 가상자원을 구매, 설치, 추가 도입, 폐기를 할 수 있기 때문이다. 계정에 사내 여러 부서의 권한이 부여된 셈이다.
AWS에서 제공하는 서비스는 계정과 연결된다. 암호화 서비스를 이용하는 것 역시 그것을 수행할 애플리케이션 계정을 생성하고 그것과 암호화 서비스를 연동하는 방식으로 구현한다. 로깅 역시 마찬가지다. 따라서 각 가상자원에 대한 개별 계정의 활동을 로깅하고 모니터링하기가 쉽다. 문제가 되는 계정을 찾아내기도 쉽다. (클라우드의 주요 단점의 하나는 필요한 만큼 클라우드의 서비스를 쓰다 보면 예상하지 못하게 비용이 늘어난다는 것이다. 늘 비용을 염두에 둬야 한다.)

그림 2. AWS IAM (출처: AWS)
클라우드 서비스는 가상자원을 사용하기 편리하고 자원을 유연하게 줄이거나 늘릴 수 있으며, 사용한 만큼 비용을 지급한다는 장점이 있지만, 회사 전체의 가상자원이나 서비스, 인프라를 한 번에 날릴 수도 있다는 치명적인 단점이 있다. IAM이 특히 중요한 이유다. 그래서 클라우드 서비스를 이용하는 기업은 클라우드 서비스가 제공하는 자원과 그에 대한 권한에 대해 세밀하게 분석하고 계정 및 권한 관리를 해야 한다. 아무리 강조해도 절대 지나치지 않은 일이다.