Windows Server 2012, Windows 8의 새로운 사용 권한 부여 기술, 동적 액세스 제어(Dynamic Access Control)
지금까지 특정인에게 사용 권한(Permission)을 부여하는 방법은 사용자의 계정 혹은 소속된 그룹에 직접 권한을 부여하는 형태가 일반적이었습니다. 이러한 이유로 특정인에게 권한을 부여해줘야 할 일이 생길 경우, 대표적으로 인사 이동이 발생했을 경우나, 부서원이 옮겨왔을 경우도 IT 엔지니어가 기본적인 작업을 해주어야 합니다.
이러한 형태의 정적인 보안 구조는 IT 엔지니어의 실수나, 작업을 놓혔을 경우, 보안 정책이 제대로 적용되지 않아, 실제로 필요한 분에게 권한이 부여되지 않는 작은 형태에서 보안 사고로 이어질 수 있는 큰 형태까지의 문제로 발전하게 되죠. Windows Server 2012에서는 동적 액세스 제어(Dynamic Access Control, DAC)라는 속성 기반의 보안 적용 방법론을 새롭게 소개하였습니다.
클라우드 시대에 맞게 공용 클라우드에 대한 ID를 중앙 관리하기 위해, 페더레이션(Federation) 기술을 사용해본 경험이 있을 수 있습니다.
Windows Server 2003 R2에서부터 기본 기술로 탑재되어져 있는 ADFS(Active Directory Federation Service)를 이용하여, 공용 클라우드의 인증을 사내에서 관리할 수 있는 형태로 만들 수 있습니다. 그렇다면, 사용자의 인증은 사내의 액티브 디렉터리를 통해 한다고 하지만, 이 사용자가 실제로 사용할 수 있는 권한이 있는 사용자인지는 어떻게 판단했을까요? 보안적인 관점의 기본 2단계, 인증과 허가적인 측면에서 생각이 필요하게 됩니다.
이 경우, ADFS에서는 클레임 기반(Claim Based)라는 단어를 사용해왔습니다. 클레임이란 단어는 공항에서 많이 보셨을 단어입니다. 그렇지만 IT에서 클레임은 속성(Attribute)를 의미하는 것으로 인증을 처리하는 조직과 리소스를 제공하는(대표적으로 Office 365, Windows Azure등의 공용 클라우드) 조직 사이에 약속을 하는 셈입니다. 특정 속성에 특정 값이 들어있다면, 허가 가능한 사용자라고 보는 것이죠. 예를 들어, 액티브 디렉터리내 사용자 속성 중 국가가 대한민국으로 되어져 있는 사람만 통과시키겠다는 것입니다. 일상의 예로 생각해보면, 여권은 우리나라에서 받고, 허가는 해당 여권을 확인한 후, 문제가 없는 사용자라면, 입국을 해당 국가에서 허가하는 모습과 동일한 형태이죠.
속성을 이용한다는 것이 매우 중요합니다. 이번 포스팅에서 소개할 Windows Server 2012내 DAC라는 보안 제어 기술도 사용자나 소속된 그룹의 속성을 가지고 보안 권한을 부여, 혹은 금지할 수 있게 되어져 있습니다.
Windows Server 2012내 액티브 디렉터리 관리 센터를 열어보면, 동적 액세스 제어라는 새로운 메뉴가 보이고, 그안에 어떠한 속성을 액세스 제어에 사용할지를 선언할 수 있는 Global Resouce Property List가 존재합니다. 여기서 액티브 디렉터리의 속성을 사용하도록 선언한 후, 이에 대한 사용 규칙을 만들게 됩니다. 아래의 그림은 사용자의 속성 중, 부서와 국가를 사용하겠다는 의미입니다.
이렇게 만들어진 규칙은 회사의 서버들에 부여할 수 있는 형태의 정책으로 선언되게 됩니다.
이를 부여받은 서버나 클라이언트에서는 해당 정책을 반영한 후, 원하는 속성을 지정해주면, 해당 속성이 없을 경우엔 금지 처리, 거꾸로 있을 경우에만 허가 처리를 할 수 있게 됩니다.
아래 그림은 한국내 Sales 속성이 있는 사람만 권한을 처리하겠다는 것입니다.
사용자에게 권한을 부여하는 대상은 최초 로그온시 부여된 보안 토큰을 기반으로 하게 됩니다. 액티브 디렉터리는 보안 인증 프로토콜로 커베로스(Kerberos)를 사용하고 있고, 커베로스 프로토콜의 예전 버전은 사용자의 인증 기반에 속성을 가질 수 없는 구조였습니다. 이에 커베로스 프로토콜을 확장해주는 설정이 하나 필요합니다. 이러한 속성을 가진 것을 칭하는 단어가 아머링(Armoring)이라 부릅니다.
이는 사용자 로그온시, 명령어 프롬프트에서 whoami /claims로 확인 가능합니다.
새로운 개념의 보안 방식이기에, 그림도 많고, 설명도 길었던 포스팅이었습니다. 분명한 것은 액티브 디렉터리와 HR 데이터베이스가 연동되어져 있을 경우, 이러한 업데이트를 IT 관리자가 수동으로 해주지 않더라도, 보안 구조는 자동적으로 변화되는 편리성도 같이 가져갈 수도 있으면서, 조직 및 비즈니스 변화에 빠르게 대응할 수 있을 것으로 보입니다.
관련된 가이드 문서는 Understand and Troubleshoot Dynamic Access Control in Windows Server 2012와 TechNet : 동적 액세스 제어 (한글판이네요 ) 에서 살펴보실 수 있습니다.