AD 운영효율화, 보안강화 세미나 후기, AD 진짜 좋은데... 어렵다 어려워...

AD 운영효율화, 보안강화 세미나 후기, AD 진짜 좋은데... 어렵다 어려워...
지난 4월2일(화) 오후 2시부터 5시까지 퀘스트소프트웨어 교육장에서 AD(Active Directory) 운영효율화, 보안강화 세미나가 진행 되었습니다. Class만드느라 후기가 상당히 늦었네요.(더 늦어질 뻔 했는데 모 회원님께서 언제 올라오냐고 댓글 남겨 주셔서 오늘 하루 다 투자해서 정리했어요. ㅠ_ㅠ) 



AD라는 IT관리자 입장에서 나름 핫한 주제이니만큼 참석 등록을 해 주신 분들이 초반부터 상당히 많았습니다. 좌석이 한정되어있어 조기 마감할 수 밖에 없었고, 실제 참석도 29명이나 하셔서 교육장이 가득 찼었네요. 3월에 이어 4월에도 많은 분들이 참석 해 주셔서 준비하는 입장에서 기분이 좋았습니다. ㅎㅎㅎ

각설하고, 이번 세미나에는 아래와 같이 3가지 세션이 진행 되었는데요. 아젠다 먼저 보시죠.
 

먼저 AD의 필요성에 대한 세션이 진행됐고, 그 이후 운영효율화, 보안강화 방안에 대한 퀘스트소프트웨어의 설명이 이어졌습니다. 이번 세미나를 통해 저도 왜 AD가 기업IT환경에서 중요하고, 이 중요한 AD를 어떻게 활용해야 하는지에 대해 조금이나마 알 수 있었습니다. 그리고 이번 세미나의 기념품으로 손목받침대 세트를 드렸는데 저도 전 직장에서 진짜 만족하게 사용했던 터라 아마 받으신 분들 잘 쓰고 계시지 않을까 싶습니다. ㅎㅎㅎ

그럼 이번 세미나의 세션 내용을 정리 해 보겠습니다.
 
1. Active Directory, 그 중요성과 필요성

첫 번째 세션은 Microsoft 자산관리 컨설팅 전문가이신 트랜스코스모스코리아 강일선 이사님의 AD 중요성과 필요성에 대한 세션이었습니다. 국내 기업들의 IT자산관리 실태와 AD가 어떻게 도와줄 수 있는지, 나아가 기업IT관리자 입장에서 AD가 왜 필요하고 중요한 지에 대해 설명 해 주셨는데요. 기업IT 관리자의 가장 중요한 업무 중 하나인 자산관리를 AD로 간편하게 할 수 있는 방법과 보안강화 방안, 그리고 Azure AD로의 가게 됐을 때 어떤 이점이 있는지에 대한 자세한 내용을 보시려면 아래 '자세히 보기'를 클릭 해 주세요.
 
 1. Active Directory, 그 중요성과 필요성 자세히 보기



작년부터 IT세미나에서 참 많이 나왔던 단어가 바로 이 디지털 트랜스포메이션 입니다. 많은 IT기업들이 이야기 하고 있는 주제인데 Microsoft 역시 마찬가지로 디지털 트랜스포메이션을 강조해 왔는데요. IT관리자 입장에서 디지털 트랜스포메이션 시대에 중요하게 생각해야 하는 것은 위와 같이 관리와 보호 대상이 변화했다는 내용입니다. 디바이스 중심에서 사용자 중심으로, 규정준수 관점에서 정보보호 관점으로, 그리고 보유한 라이선스를 보다 효과적으로 활용하는 것이 중요한데요. 이를 위해 우선적으로 고려해야 하는 것은 바로 현재 기업이 가지고 있는 디지털 자산을 어떻게 효과적으로 관리하느냐 입니다.



이를 위해 필요한 것이 바로 AD인데요. AD를 이용하면 기업의 IT자산 즉 기업에서 사용자들에게 지급한 각종 하드웨어와 소프트웨어에 대한 정보를 간편하게 수집하여 분석할 수 있게 도와줍니다. 기존에 많은 기업의 IT담당자들이 직접 눈으로 보고 Excel로 일일이 하나씩 입력하여 파일로 관리하던 것을 AD를 이용하여 연결된 모든 사용자의 자산을 한번에 수집하여 분석하고 그 결과를 보고서 형식으로 볼 수 있습니다.



그것을 가능하게 해 주는 것이 바로 MAP(Microsoft Asset Planning) 도구 입니다. 이 도구는 AD의 Domain Service, Windows Networking protocol 등 7가지 방법으로 사용자들이 이용하고 있는 기기정보와 소프트웨어 정보를 수집할 수 있습니다.(위 7가지 중 가능한 방법 1가지로 수집한다고 보시면 됩니다.)

프리웨어이며 에이전트리스로 동작하는데요. AD의 도메인 계정 권한을 제공받아 연결된 모든 디바이스에 접근하여 정보를 취합합니다. WMI 형태로 요청하여 데이터를 가져오며 현재의 IT자산 정보를 수집하여 이 MAP이 가상화 또는 클라우드로의 전환을 하는 데에 필요한 가이드를 제공합니다. 현재 사용중인 물리적 서버를 가상화로 전환할 시, 어느 정도의 가상화 서버 용량이 필요한 지를 분석해서 가이드를 준다는 이야기 입니다.(물론 1개월 정도의 현황 분석이 필요하긴 합니다.)
 



이것이 가능한 이유는 바로 AD 덕분인데요. 왼쪽과 같이 AD환경이 아닐 경우 직원들의 PC, 기기는 나의 PC이며 내가 직접 관리합니다. 즉, 다른 사람이 내 PC에 접근할 수 없다는 것이죠. 사용자 입장에서는 모든 권한을 제어할 수 있기 때문에 편할 수 있겠지만 관리자 입장에서는 매우 불편합니다. 뭐 하나 제어할 수가 없으니까요.

AD를 사용하게 되면 모든 사용자의 기기는 AD에 연결되어 관리자의 통제가 가능해 집니다. 이 통제로 인해 보안을 강화시킬 수 있다는 거죠. 이를 위해 AD에서는 사용자(네트워크 상의 사용자)로 구분하여, 이 사용자들을 개개인별로 관리하는 것이 아닌 보안그룹으로 묶어서 관리합니다. 이 그룹에 개별적인 정책을 할당하여 그룹별로 관리할 수 있습니다.

즉, AD로 간다는 것은 사용자 기기를 관리 하겠다는 것이라고 할 수 있겠습니다.



위 A사의 경우 500명 정도의 임직원이 근무하며 AD환경이 아니었고 모든 기기가 로컬/사용자 계정으로 사용하고 있었습니다. 뭔가 사내에 소프트웨어 배포 혹은 보안패치를 실행할 때 전사 공지를 통해 개별적으로 수행하게끔 유도할 수 밖에 없는 환경이기 때문에 관리가 잘 될 수가 없겠죠. A사의 경우 전체 기기의 자산을 수집하고 정리하는 데에만 1개월이 소요되었다고 합니다.

 

이번에는 교육쪽 사례 입니다. 위 B 대학교 역시 모든 기기를 로컬/사용자 계정으로 사용하고 있었습니다. 이런 학교의 경우 마이크로소프트와의 협력 덕분에 교직원과 학생들은 Office 365를 무료로 사용할 수 있습니다. Office 365를 사용하게 되면 자동으로 Azure AD계정이 생성되기 때문에 Office 365를 사용하는 모든 기기는 AD로 관리할 수 있게 됩니다만, 교직원과 학생들이 무료로 사용할 수 있다는 것을 인지하지 못하셔서 여전히 그냥 로컬/사용자 계정으로 PC를 사용하고 있다고 합니다.



C사의 경우 AD가 구축되었고 10년간 사용해 왔습니다. 그런데 이 AD를 사용자 계정 관리로 사용한 것이 아닌 Exchange Server와 Sharepoint Server 사용 목적으로 AD를 설치하여 사용해 왔다고 합니다. 이 때문에 전체 사용자 기기의 정보가 제대로 수집되지 못하고 있었습니다. 위와 같이 기기의 경우 60% 넘게, 사용자는 50% 넘게 관리가 되고 있지 않은 것을 보실 수 있습니다.



그럼에도 불구하고 일단 AD에 연결 된 사용자들의 기기 및 자산 정보는 위와 같이 상세하게 취합하고 정리할 수 있습니다. 1,000 user 기준으로 모든 정보를 수집하고 정리 하는 데 1시간이면 충분하다고 하네요.(위 정보는 2시간 걸렸다고 합니다.) 만약 이것을 담당자들이 개별적으로 사용자의 기기정보를 파악하고 Excel에 입력하고 나중에 보고서 형태로 정리하게 된다면 얼마나 많은 시간이 필요할까요? 위 고객의 경우 과거 1개월 넘게 걸렸다고 합니다. 이렇게 AD로 연결되어 있으면 임직원들의 기기 정보 및 소프트웨어 자산 정보를 손쉽게 수집하여 파악하실 수 있습니다.



그래서, AD를 도입하게 되면 사용자 그룹 별 계정관리가 가능해 지기 때문에 수 많은 사용자들의 계정 정보를 관리자가 Excel로 수동으로 관리하실 필요가 없게 됩니다. AD에서 그룹 별로 정책을 설정하여 사용자들을 그룹으로 묶고, 관리는 정책으로 하게 되니 진정한 중앙관리(통제)가 가능해 지는 것이고, 이 덕분에 사내 보안을 한층 더 강화시킬 수 있는 것입니다.


AD는 인사DB와 연동되어 운영해야 합니다. AD의 사용자 계정 정보와 인사DB를 어떻게 연동 시킬 것이냐에 대해 많은 고민을 하고 나아가 프로젝트로까지 발전시키는 경우도 있는데 중요한 것은 AD계정이고, 이 AD계정 정보를 인사DB에 추가하여 관리하면 된다는 것입니다. 하지만 원칙은 없기 때문에 회사 사정에 맞게 적용하셔야 겠죠. 마이크로소프트에서는 먼저 AD계정을 생성하고 이미 관리하고 있는 인사DB에 이 AD계정 정보를 넣는 방법을 추천하고 있습니다.



AD의 가장 핵심적인 부분은 바로 그룹정책(GPO, Group Policy Object) 입니다. 이 그룹정책을 어떻게 설정하느냐가 AD관리의 전부라고 봐도 될 것 같은데요. 개별관리를 위와 같은 정책을 통해 그룹별로 관리해야 합니다.



그리고 AD환경에서는 권한도 관리할 수 있습니다. 사용자들이 DB, 네트워크에 접근할 수 있는 권한을 차등부여 함으로써 관리할 수 있고, 이를 통해 불필요한 사용자가 내부 중요 시스템에 접근하는 것을 원천적으로 차단하여 보안을 강화시킬 수 있습니다.



사용자를 그룹별로, 정책별로, 권한별로 관리한다는 것은 결국 보안을 강화하겠다는 것으로 귀결 됩니다. 하지만 이렇게 관리자 쪽에서 중앙관리를 하더라도 사용자 개개인별 기기보안이 허술하면 말짱 꽝이겠죠. 그래서 위와 같은 권고 내용을 참고로 해서 사용자 기기부터 보안을 확실히 할 수 있도록 안내하고 외부 공격이 있었을 때 계정을 잠금으로써 외부 공격으로부터 계정을 보호할 수 있습니다.



그런데 말입니다. 이렇게 AD로 사용자 계정을 관리하면 딱히 걱정할 것이 없어야 하는데 위와 같이 AD로 관리되는 계정이 탈취되어 랜섬웨어가 유포되는 사례가 있었습니다. 위 A제조업의 경우 메일 서버의 어드민 계정이 탈취되었고, 이 메일 서버의 어드민 계정은 곧 AD계정의 어드민 계정과 권한이 동일했었기 때문에 사내에 랜섬웨어가 유포된 것입니다.

이를 막기 위해서는 가장 최상위에 AD가 있고 그 아래에 Exchange나 DB같은 애플리케이션을 개별적인 그룹으로 두고 관리해야 합니다. 이런 그룹에서 AD 어드민으로 접근 자체가 불가능하게끔 권한 설정을 해야 하는 것이죠. 결국 AD는 관리자에게 관리 편의성을 가져다 주는 강력한 툴이지만 모든 것이 정책별로 관리되기 때문에 이 정책을 어떻게 설정하느냐에 따라 보안에 취약할 수도 있고 안전할 수도 있는 것입니다. 



프라이빗 환경에서 AD를 잘 활용해 오셨다면 클라우드로 전환하게 되더라도 크게 고민할 것은 없습니다. Azure AD로 자연스럽게 전환하면 되니까요. 현재 Azure AD는 로컬 AD 기능의 80% 정도 커버하고 있다고 하는데 계속 발전하고 기능이 추가되고 있는 중이라 조만간 따라잡는 것을 넘어 로컬 AD를 훨씬 뛰어넘는 강력한 기능을 제공 할 것으로 예상됩니다.

하지만 앞서 말씀 드렸듯이 AD는 사용자와 기기를 중앙에서 통제하고 관리하여 보안을 강화시킬 수 있는 강력한 툴 이지만 관리 정책을 어떻게 정하느냐에 따라 아주 강력한 툴이 될 수도 있고 보안취약점이 노출될 수도 있습니다. AD가 제공하는 다양한 관리 편의성을 누리기 위해서는 먼저 내부적으로 사용자 관리를 위한 엄격하고 촘촘한 관리 정책을 먼저 세우고 사용자들의 불편을 최소화 할 수 있는(어쨌든 AD를 도입하는 순간 사용자 입장에서는 불편이 생길 수 밖에 없겠죠.) 공감대 형성이 중요할 것 같네요.


 
 
2. Active Directory 운영효율화

퀘스트는 AD의 운영 최적화 관점, 보안 강화 관점에서 솔루션을 제공하고 있습니다. 이번 세션에서는 운영 최적화(효율화) 관점에서 설명해 주셨는데요. AD에서 제공하는 기능 외에도 운영을 좀 더 효율적으로 할 수 있도록 도와주는 퀘스트 솔루션의 여러가지 기능에 대해 살펴봅니다. 자세한 내용을 보시려면 아래 '자세히 보기'를 클릭 해 주세요.
 
2. Active Directory 운영효율화



AD를 사용한다는 것은 사용자의 기기를 AD에 최대한 많이 연결시킨다는 의미입니다. 개인 기기뿐만 아니라 서버, 네트워크 장비까지 최대한 많이 AD에 연결시켜서 즉, 관리 영역으로 가져오겠다는 것으로 볼 수 있는데요. 결국 이렇게 연결하기 위해서는 각 기기별로의 인증을 어떻게 통합시킬 수 있느냐가 관건입니다.

Azure의 경우 Azure 위에서 관리되는 70%가 리눅스 환경입니다. 즉, 이 다양한 Non-Windows 기기들을 어떻게 AD에 연결시켜 관리할 것인가에 대한 정책도 매우 중요해 졌습니다. 그리고 계정 별 패스워드 역시 이제는 사용자들에게만 관리를 맡기는 것이 아닌 관리자가 중앙에서 관리할 수 있도록 해야 합니다.

그리고 계정 별로 발생되는 다양한 다수의 이벤트를 어떻게 통합적으로 관리할 수 있느냐도 매우 중요합니다. 금융권의 경우 이 이벤트가 감사 목적으로도 사용되고 금융권이 아니더라도 사용자가 어떤 행동을 하고 있는지에 대한 분석이 필요할 때 활용할 수 있습니다. 마지막으로, AD를 잘 운영 해 오다가 장애가 발생했을 때 어떻게 복구 할 것인가에 대한 고민 역시 필요합니다.

따라서, 먼저 AD운영에 있어서 관리를 잘 할 수 있도록 안정화 시킨 다음 보안을 강화시킬 수 있는 방안을 하나 씩 추가 해 가는 방식을 퀘스트에서는 권고하고 있습니다.


 
앞서 말씀드렸듯이 AD 운영효율화의 주요 포인트는 위와 같이 세 가지로 정리할 수 있습니다. 다수의 사용자계정 및 서버자원들을 효과적으로 관리하기 위해 어떻게 연결시키고 관리를 일원화 시킬 것인가에 대한 고민 즉, 관리영역 확대가 그 첫번째 입니다.

그리고 두 번째는 연결 시킨 다수의 사용자 기기와 서버자원에 대한 정책을 어떻게 가져가며, 사용자 단에서 발생하는 각종 이벤트, 보안을 위한 계정 관리 편의성을 향상시킬 수 있는가에 대한 방안 입니다.

세번째는 휴먼 에러 혹은 피치못할 장애 발생 시 데이터를 어떻게 빠르게 복구할 수 있는지, 그리고 Windows Server가 업데이트 됐을 때 함께 업데이트 되는 AD 환경에 기존 데이터를 어떻게 안정적으로 마이그레이션 시킬 것인가, Azure로 전환했을 때 데이터 이관 시 기존 환경과 데이터 정합성을 어떻게 맞출 것인가에 대한 방안입니다.



AD에 연결시킨다는 것은 관리하겠다는 의미라고 말씀 드렸는데요. 외국의 경우 사용자 통합 인증은 AD로 대동단결! 이라고 보셔도 될 정도라고 합니다. 퀘스트 솔루션을 통해 Windows 기기 뿐만 아니라 Non-Windows기기 까지도 AD에서 관리할 수 있는 정책을 설정할 수 있습니다. 



위와 같이 Non-Windows 환경을 AD에 연결시켜 하나의 그룹으로 묶어서 계정별로 관리할 수 있습니다. 나아가 Root권한까지 위임받아 각 기기에서 사용할 수 있는 기능 권한은 최소화 시키는 최소권한 관리를 할 수 있게 됩니다.



위와 같이 Non-Windows 환경을 AD에 연결시키고 최소권한관리를 할 수 있지만 관리자 입장에서는 좀 더 자세히 이 기기에서 발생하는 내용을 살펴보고 싶어 합니다. 이 때에도 모든 명령어에 대한 입력 로그를 보고 어떤 명령을 실행했는지 리플레이를 통해 사후 포렌직 분석에 활용할 수 있도록 도와줍니다.



정리하면, Windows 기기는 직접 AD에 연결해서 관리하고, Non-Windows 기기들은 AD Bridge를 통해 AD로 연결합니다. 이후 개별 그룹 별로 정책관리를 할 수 있고 Linux계열의 사용자 관리를 위해 Sudo Manager를 활용할 수 있습니다. 그리고 이 모든 관리는 별도의 웹 기반 통합 관리 콘솔을 통해 관리할 수 있습니다.



이번에는 AD 복구에 대한 내용입니다. 위와 같이 퀘스트의 설문조사 결과 언제 복구가 필요한지에 대해 물었더니 가장 많은 응답이 관리사고 였습니다. 이 사고 유형은 크게 두 가지로 나눌 수 있습니다. 실수로 발생한 사고, 그리고 몰라서 일으킨 사고 인데요. AD정책 관리를 빡빡하게 할 수록 사용자들에게 그룹 별로 어떤 정책이 적용되어 있는지 제대로 알 수 없을 수 있기 때문에 이런 관리사고가 많이 발생할 수 있습니다. 두 번째로 많은 유형은 소위 AD가 깨지는 사례 입니다.

 

퀘스트는 AD 기반의 플랫폼의 복구 시 총 3가지 단계의 복구가 필요하다고 바로보고 있는데요. 먼저 데이터 복구의 경우 패스워드 변경, 계정 삭제, 계정 권한의 잘못된 설정 등 AD데이터가 변경되는 경우가 빈번하게 발생하기 때문에 데이터부터 복구를 합니다. 

이후 AD가 깨져서 AD위에서 구동되는 서비스들이 제대로 구동되지 않는 경우 입니다. 이 때 서비스 단위 별로 하나의 통합된 화면에서 복구할 수 있다는군요.

마지막으로 시스템이 하드웨어적으로 장애가 발생하거나 OS가 깨지는 경우입니다. 이 때에는 OS, 서비스, 데이터 별로 백업 및 복구를 진행할 수도 있으나 하나의 통합된 화면에서 한번에 복구를 할 수도 있다고 합니다.



위와 같이 AD의 휴지통에서 단순히 삭제 된 데이터를 간편하게 복구할 수 있습니다. 단순 실수에 의한 복구는 휴지통으로 가능합니다만 변경된 데이터는 알 수 없기 때문에 이상 변경에 대한 것은 데이터 복구 영역에서 복구할 수 있습니다. 따라서 AD관리 관점의 복구는 대부분 이 데이터 복구 단계에서 진행된다고 하는군요.

그리고 데이터 복구 이후 서비스 레벨의 복구까지를 AD관점에서의 복구 영역이라고 볼 수 있습니다. 예를 들어 사용자가 어제까지 잘 사용하던 애플리케이션이 오늘 갑자기 접근이 안된다면 이는 데이터 변경으로 인해 발생 된 것이기 때문에 데이터 복구를 해야 합니다. 하지만 그 단계에서 해결이 안되면 서비스 자체에 대한 손상이 있을 수 있기 때문에 서비스 레벨의 문제점을 살펴보고 문제 발견 시 복구를 진행해야 합니다.


위와 같이 다수의 데이터센터가 존재할 경우 이를 모두 통합된 하나의 화면을 통해 관리할 수 있습니다. 2개 이상의 데이터센터를 관리하게 될 경우, 더욱이 데이터센터가 멀리 떨어져 있을 경우 하나의 화면에서 관리할 수 있다는 것은 매우 큰 장점이 될 수 있습니다.

 

일반적인 재해 복구나 데이터 복구 관점에서는 문제 발생 시 원활하게 복구할 수 있느냐가 중요합니다. 하지만 AD환경에서는 다수의 애플리케이션을 다수의 사용자가 이용 함으로써 매우 많은 트랜잭션이 발생할 수 밖에 없습니다. 이 때 서비스의 중단 없이 안정적으로 복구할 수 있느냐가 중요한 요소입니다.

이를 위해 퀘스트는 복구화면에서 복구 할 대상을 지정해서 빠르게 복구할 수 있게 도와줍니다.



이번에는 데이터 마이그레이션 관점입니다. Windows Server 2008에서 2016으로 업그레이드 할 때 한번에 2016으로 갈 수 없기 때문에 2012 R2로 업그레이드 하고, 이후 다시 2016으로 업그레이드 해야 합니다. 이 두 번의 과정 중에 기존에 2008 환경에서 사용하던 AD정보가 정상적이로 이동 했는지를 단계 별로 정합성 체크를 해야 할 필요가 있습니다.

문제는, 마이크로소프트는 이 단계 별 마이그레이션 툴을 제공할 뿐, 마이그레이션 과정에서 데이터가 제대로 이관 되었는지에 대한 보장은 해 주지 않는다는 것입니다. 관리자 입장에서 보장되지도 않는 데이터 마이그레이션을 쉽게 이행하기란 매우 어렵겠죠. 



그래서 퀘스트는 위와 같이 마이그레이션 과정을 도와줍니다. 먼저 2008 버전의 AD데이터를 백업한 후 2012 R2로 업그레이드 한 다음 백업데이터와 정합성 체크를 합니다. 이후 맞지 않는 데이터는 백업 데이터에서 가져와 2008 버전의 AD데이터로 맞추구요. 이후 2012에서 2016으로 업그레이드 할 때에도 마찬가지의 과정을 거쳐서 안정적으로 데이터를 마이그레이션 합니다.



위와 같이 마이크로소프트에서 데이터 이관에 대한 보장을 해 주지 않기 때문에 백업을 먼저 하고 데이터 정합성 체크를 할 수 있는 툴을 퀘스트에서 제공하는 것입니다. Windows Server가 업그레이드 되고, Windows가 7에서 10으로 업그레이드 되면서 구 버전에 대한 업데이트가 종료되면 어쩔 수 없이 신 버전으로 마이그레이션 해야 합니다. 이 때 데이터 이관에 대해 3rd party tool을 이용해서 보다 안정적으로 데이터 마이그레이션을 수행할 수 있도록 퀘스트가 솔루션을 제공한다고 보시면 되겠습니다.

과거 이 마이그레이션의 경우 두 가지 요소만 고려하면 됐었습니다. 바로 비용과 시간인데요. 시간이 좀 걸리더라도 인력을 활용하여 저렴한 비용으로, 수작업으로 해결하는 경우가 있습니다. 그리고 비용이 얼마가 들더라도 시간을 단축시키는 것이 중요하다면 마이그레이션 솔루션을 사용하게 되는 것이죠.

하지만 개인정보보호법이 강화된 이후 보안이 중요해 졌기 때문에 메일 데이터의 경우 수작업으로 사람이 직접 하기 어려워 졌습니다. 내 메일 계정이 아닌데 접근해서 데이터를 마이그레이션을 하는 것 자체가 불법이기 때문이죠. 그래서 이렇게 개인정보가 포함된 데이터는 반드시 솔루션을 사용해서 마이그레이션을 해야 합니다.

 


이번에는 사용자 패스워드 관리에 대해 알아보겠습니다. 기본적으로 사용자 패스워드는 사용자가 직접 관리해야 하는 셀프서비스에 의존할 수 밖에 없습니다. 그런데 만약 사용자가 로그인 패스워드를 잃어버렸다면, 다른 사용자의 PC에서 원격으로 접근하여 패스워드를 재설정해야 하는 불편함이 있을 수 있습니다.

이런 불편함 때문에 내 PC에서 로그인하지 않은 상태에서 패스워드 재설정을 할 수 있어야 합니다. 이것을 Windows, Mac, Linux 할 것 없이 모두 가능하도록 퀘스트 솔루션에서 기능을 제공합니다.



그리고 외부에서 내부 AD의 사용자 계정에 접근하기 위해 과거 인증 받았던 캐시 데이터를 이용해서 로그인할 수 있게 도와줍니다. AD Policy에 이 캐싱 기능을 활성화 시키면 AD에 접속하지 않아도 개인 계정에 이전의 인증받았던 캐시 데이터를 사용하여 계정에 로그인할 수 있습니다. 이후 AD에 접속할 수 있는 환경이라면 해당 캐싱 기능을 비활성화 시켜 더이상 과거의 캐시 데이터로 로그인할 수 없게끔 조치하고요.

만약 사용자가 패스워드를 잊어버렸다면 긴급 패스워드 관리 기능을 사용해 패스워드 재설정 후 로그인할 수 있게 도와줄 수 있습니다. 이 패스워드 관리에 대한 내용은 이후 진행 된 보안강화 세션에서 보다 자세히 다루도록 하겠습니다.

 
 
3. Active Directory 보안강화

운영관리를 잘 하게 되면 그 다음에 신경써야 할 것은 바로 보안입니다. 아무리 철저하게 운영을 한다고 하더라도 구멍은 생길 수 밖에 없고 사고를 100% 막을 수는 없으니까요. 이번 세션에서는 AD환경에서 보안을 어떻게 강화시킬 수 있는지, 위혐을 미리 탐지할 수 있는 방법과 사고 발생 시 어떻게 대처할 수 있는지에 대한 내용을 소개 합니다. 자세한 내용을 보시려면 아래 '자세히 보기'를 클릭 해 주세요.
 
3. Active Directory 보안강화

보안은 항상 '문제가 생길 수 있다'라는 전제 하에 준비해야 합니다. 어떤 시스템이든 반드시 뚫릴 수 있다라는 생각으로 임해야 한다는 건데요. AD 환경의 보안강화 주요 포인트는 위와 같습니다.

먼저 가시성 확보 입니다. AD에 접속하는 사용자의 권한을 알 수 있어야 합니다. 이 사용자가 어떤 시스템에 어떤 권한으로 접속하는지를 알고 있어야 합니다. 하지만 사용자가 많으면 눈으로 일일이 확인하기 어렵기 때문에 운영 정책으로 관리해야 하며, 보안은 이 사용자가 가진 권한이 정책과 일치하는지 검증하는 것입니다. 즉, 정적인 데이터를 관리한다고 보시면 됩니다.

두 번째 관제는 동적인 데이터, 실시간 데이터를 관찰하는 것입니다. 관리 측면에서 어드민 접근 권한을 통제해 놨다 하더라도 만약 어드민에 누군가 접근을 하게 됐을 때 실시간으로 관리자에게 알림이 날아가야 합니다.

세 번째 분석은, 위와 같은 뭔가 보안 정책이 위배되는 이상 행동이 탐지가 되긴 하지만 너무 많은 이벤트가 발생할 경우 수동으로 하나씩 살펴보기 어렵습니다. 그래서 머신러닝을 활용하여 이러한 이벤트 데이터를 분석하고 향후 발생할 위험에 대비할 수 있게 도와줍니다.

네정번째 특권계정 관리 입니다. 일반적으로 문제는 일반계정에서 발생하지 않고 아주 많은 권한을 가지고 있는 시스템계정 즉 특권계정에서 발생합니다. 이 특권계정의 사용 패턴을 분석해서 관리해야 합니다.



전체 구성도는 위와 같습니다. 신규 사용자가 추가됐다면 그 사용자에게 필요한 애플리케이션들의 계정을 할당합니다. 이 작업은 매뉴얼로 스크립트로 관리할 수도 있고 관련 솔루션을 사용해 관리할 수도 있습니다. 이후 이런 사용자들이 어디에 어떻게 얼마나 자주 접근해서 사용하는지에 대한 내용들을 살펴봐야 합니다. 많은 계정들이 정책대로 잘 사용하고 있는지, 패스워드도 적절하게 변경하고 있는지, 활성화 된 계정은 몇개고 비활성되 된 계정은 몇개인지 알 수 있어야 합니다.

이후 뭔가 AD위에서 변경 된 데이터가 무엇인지 감지해야 합니다. 이런 데이터 변경은 시스템관리자 계정에서 주로 발생하는데 만약 일반 계정에서 발생한다면 바로 복구 프로세스로 넘겨서 일단 복구 시키고, 이 사용자가 어째서 이런 권한이 없는 행동을 했는지 이벤트 로그를 수집해서 분석해야 합니다. 하나의 계정으로 특정 시스템에 너무 오래 머무른다든지 너무 많은 행동을 한다든지 하는 행동 패턴을 바탕으로 분석할 수도 있습니다.

이후 개별 내용에 대해 좀 더 자세히 살펴보겠습니다.


링크드인의 정보보안커뮤니티 설문조사 결과에 따르면 클라우드에서 가장 큰 보안위협이 무엇인지 물었더니 61%가 비인가 접근, 52%가 계정 탈취를 꼽았습니다. 그리고 보안관점에서 가장 어려운 점을 가시성 확보와 컴플라이언스라고 응답했습니다. 

가시성 관점에서 좀 더 살펴보겠습니다. Azure AD의 경우 정책 상 최근 3개월 동안의 로그인 데이터를 제공합니다. 그런데 이런 것들을 제대로 파악하기가 매우 어렵습니다. 더군다나 Azure의 경우 아직 완전체가 아닙니다. 계속 발전하고 있는 서비스죠. 거기에 Azure AD의 경우 로컬 AD 기능의 70~80% 수준 정도밖에 되지 않습니다. 물론 기능이 계속 추가되고 있긴 하지만 현재는 그렇습니다. 이 때문에 가시성 확보 측면에서 사용자가 알 수 없는 구멍이 계속 생겨나기 때문에 관리에 어려움이 있다는 것입니다.



그래서 이 AD환경에서의 가시성 확보를 위해 마이크로소프트는 파워쉘 환경에서 리포팅 기능을 제공하고 있습니다만 사용하기 어렵습니다. 때문에 전문 리포팅 툴을 통해 AD환경에서 이상하게 높은 권한을 가진 사용자, 3개월 동안 갑자기 시스템 권한을 가진 사용자, 다수의 권한을 획득한 사용자에 대한 행동은 항상 모니터링 하는 것이 중요합니다.


이번에는 보안 관제입니다. 이 관제 영역은 3가지로 구분할 수 있는데 먼저 변경입니다. AD에서의 변경은 권한 변경이며 이 권한 변경으로 인해 시스템 계정에 접근할 수 있기 때문에 주의깊게 살펴봐야 합니다. 그리고 이 변경으로 인해 높은 권한을 획득한 사용자가 어느 시스템에 접근하는지를 살펴봐야 합니다. 그리고 이후 어떤 행동을 하는지, 시스템 파일을 삭제 하거나 파일은 전송 한다거나 하는 행동을 관찰해야 합니다.



위와 같이 변경에 대한 내용은 직접 수동으로 관리한다기 보다는 시스템으로 관리해야 합니다. 변경이 감지되면 관리자에게 자동으로 알림을 날려줄 수 있어야 합니다.



AD에서의 주요 변경사례는 위와 같습니다. 이와 같은 변경이 감지되면 이상 행동으로 보고 즉각 보안조치를 취할 수 있어야 하는데 사람이 일일이 대응하기 어렵기 때문에 반드시 솔루션의 도움이 필요합니다.



그리고 이런 이상 행동을 하는 사용자들이 시스템에 접속하는 정보는 위와 같이 에이전트 방식과 로그 방식으로 파악할 수 있습니다. 에이전트 방식은 별도의 솔루션을 활용해 에이전트를 설치하여 모든 접속 정보를 중앙 서버로 가져오는 형태입니다. 로그 방식은 이미 남겨진 로그를 가져와서 분석하기 때문에 별도의 솔루션 비용이 들지 않습니다만 따로 로그정보를 취합해서 살펴봐야 하며 시스템의 상황에 따라 로그로 남겨지지 않는 정보도 있을 수 있기 때문에 보안 측면에서 안전한 방식은 아닙니다.



전체 구성은 위와 같습니다. AD에 연결된 다양한 시스템들의 로그인/로그오프 내역을 모두 별도로 보관합니다. 그리고 그룹 정책에 위배되는 행동을 한 내역을 시스템에서 가져다가 분석하고 사용자에게 리포트를 보내줍니다.



이 분석의 경우 총 3가지 형태로 분석을 할 수 있습니다. 먼저 트렌드 분석입니다. 과거의 패턴을 토대로 현재 이상한 패턴을 보일 경우 이상 행동으로 감지하는 것입니다. 예를 들어 키보드로 패스워드를 입력하는 패턴 즉 시간차 까지도 감지해서 분석할 수 있습니다. 하지만 이 단계에서는 이게 이상 행동인지 아닌지는 판별이 어렵고 일단 평소와 다른 행동이다 라고 시스템이 인지해서 추가 분석이 필요하다고 판단하는 것이죠.

두 번째는 이벤트 연관관계 분석입니다. AD환경에서 발생하는 다양한 이벤트들을 서로 연결시켜 맵을 만드는 것인데요. 예를 들어 AD에 대한 이상 변경이 감지됐고 허용되지 않은 계정으로 어드민 접근이 발생 했습니다. 그래서 이 둘을 합쳐보니 특정 사용자에게 높은 권한이 할당됐고, 이 권한을 가진 계정이 시스템 어드민으로 접근을 시도한 것이어서 문제가 있다고 판단하고 관리자에게 알림을 날려줍니다.

세 번째는 사용자가 직접 정의한 정책에 위배되는 행동이 감지 됐을 때 이를 위협으로 보고 탐지해서 관리자에게 알려주는 방식입니다.



트렌드 분석에 대해 좀 더 살펴보겠습니다. 위와 같이 시스템에서 과거 데이터를 학습하여(1개월 ~ 몇개월) 기준이 되는 데이터를 만들고, 이 기준을 벗어나는 패턴은 위협으로 인지하여(위 파트 중간 빨간 부분) 관리자에게 알림을 날려줍니다. 이는 이미 활용된 지 몇십년 된 알고리즘이지만 여전히 유효한 방식입니다.



Smart Alert는 다수의 전체 원본 이벤트 데이터를 서로 연결시켜서 위험한 이벤트들만 필터링하여 관리자에게 알려줍니다.



위와 같이 AD상의 이상 변경, 그룹단위로 권한이 상승 된다던가, 중요한 사용자에 대한 권한이 변경된다거나 지속적인 Brute Force의 로그인 공격을 위협으로 감지하여 관리자에게 보여줍니다.



마지막으로 Rule 기반 분석의 경우 사용자가 직접 정책을 정의하고 이 행위에 위반되는지 아닌지를 살펴보고 이를 위협으로 감지하여 관리자에게 알려줍니다. 위와 같이 Group Type이나 Scope가 변경되면 관리자 입장에서는 반드시 알아야 합니다. 이렇게 그룹권한이 변경되어서 그 그룹에 포함된 사용자들에게 어떤 영향을 끼치게 되는 것인지, 그 그룹의 사용자가 너무 과도한 권한을 갖게 된 것은 아닌지 보안 관리자가 체크해야 보안사고를 방지할 수 있습니다.



마지막으로 접근통제 입니다. 최근의 접근통제는 기업 시스템에 접근할 때 반드시 인증을 거치게끔 되어 있죠. 마이크로소프트의 경우 더이상 ID/PW를 넣어서 인증하는 것이 아닌 지문, 홍채 등 패스워드 없는 인증방식을 추구하고 있습니다. 이런 접근통제를 통해 사용자가 시스템에 접근하는 것을 원천적으로 통제할 수 있지만 알고 있어야 할 정보들이 많은데요. 접근통제 시스템이 사용자 계정 정보, 권한정보, 내부 시스템 인증 정보등을 알고 있어야 했습니다.



접근통제는 위와 같이 Proxy Gateway 방식을 사용합니다. 사용자가 시스템에 접근하려 할 때 세션, IP 정보를 토대로 중간의 방화벽에서 이 사용자가 가진 정보가 시스템에 접근할 수 있는 정보를 가지고 있는지 보고, 만약 가지고 있다면 통과시키고 없다면 다시 되돌려 보내는 형태인거죠. 



운영 측면에서 먼저 살펴보면, 접속 허용관리를 통해 위와 같이 두 가지 형태로 접근통제를 할 수 있습니다. 좌측의 매핑 관리는 관리자가 지정해 둔 전용 클라이언트를 통해 접근이 허용 된 시스템만 접근할 수 있게 제한하는 것이고 우측의 패스워드 관리는 시스템에 접근할 수 있는 패스워드를 관리자가 소지하고 있다가 사용자가 접근을 요청할 때 접근할 수 있는 시간 및 권한을 할당하여 패스워드를 알려주는 형태입니다. 

좌측의 매핑관리는 주로 국내에서, 우측은 외국에서 사용하는 형태라고 합니다. 결국 이 접근 단계에서 사고가 나는 가장 많은 이유는 계정 유출 즉 ID, PW유출인데요. 따라서 아예 원천적으로 ID, PW를 공개하지 않고 필요할 때 요청하는 사용자에 한해 그때 마다 권한을 할당하여 PW를 알려주는 형태를 사용하게 된 것이며 국내에서는 금융권에서 이 방식을 많이 사용한다고 합니다. 



그리고 최소권한 관리 입니다. 관리자 측면에서 관리가 편하려면 사용자에게 최소한의 권한을 할당하는 것이 편합니다.(하지만 사용자는 불편하겠지만요.) 사용자가 만약 Windows Update를 해야 한다면 관리자가 사용자에게 이 Windows Update를 할 수 있는 권한만 주는 것입니다. 보안을 강화하는 가장 손쉬운 방법 중 하나는 사용자에게 불편을 전가시키는 거죠. 이 둘의 간극을 잘 조율하는 것이 참 어렵습니다.



이렇게 운영을 철저하게 하고 있다 할 지라도 구멍은 생길 수 밖에 없습니다. Windows를 사용하는 사용자에게 제어판을 사용할 수 없게끔 권한을 할당했는데 갑자기 제어판을 열어본다면 이는 이상 행동이기 때문에 위협으로 판단해야 합니다. 그리고 평소와 다른 사용자의 패스워드 입력 패턴을 감지해서 위협으로 인지하고 관리자에게 알림을 줘야 합니다.



이렇게 철저하게 관리 했음에도 불구하고 사고가 발생 했습니다. 사용자가 Windows 제어판을 통해 설정값을 변경 한 것입니다. 이 행동은 모두 기록으로 남긴 하지만 관리자 입장에서 분석하기 매우 어렵습니다. 이럴 때 포렌직 분석을 사용합니다. PC에 에이전트를 설치해서 발생한 모든 행동을 동영상으로 기록해 두고 사후에 분석할 수 있습니다. 하지만 이렇게 되면 모든 분석대상 PC에 에이전트를 설치해야 하며 기록되는 동영상 때문에 데이터양이 어마어마 합니다.

개인 PC에 대한 데이터 저장 부담을 덜어내기 위해 이 데이터를 서버에 저장합니다. 개인 PC별로 데이터를 저장하지 않기 때문에 사용자 입장에서 큰 불편은 없지만 대용량의 스토리지를 갖춘 서버가 필요합니다 .이도 그렇게 효율적인 방식이 아닙니다. 그래서 Gateway Proxy 방식으로 네트워크 구간에 장비를 두고 통신레벨에서 발생하는 데이터를 저장합니다. 이 방식이 가장 많이 활용되는 포렌직 방식이라고 합니다.



이렇게 퀘스트는 AD기반의 운영 관점에서 운영을 효율적으로 할 수 있는 다양한 솔루션, 그리고 보안을 강화시킬 수 있는 솔루션들을 가지고 있습니다. 기본적으로 AD를 잘 활용하고 있다면 운영하면서 경험하게 되는 여러가지 운영상의 문제점, 관리 허점을 파고드는 보안 공격들이 다양하게 있을텐데요. 이 것들을 퀘스트의 솔루션을 활용해 보완해 나간다면 보다 효과적으로 AD환경을 운영할 수 있을 것입니다.


여기까지 4월2일에 진행 된 AD 운영효율화, 보안강화 세미나의 세션 내용을 정리 했습니다. Q&A시간에도 느낀 점인데, 상당히 많은 국내 기업들이 이 AD를 제대로 사용하고 있지 못하고 있는 것 같습니다. 전체 사용자의 계정과 기기관리를 위해 사용하는 것이 아닌 메일서버 구축을 위해 AD를 설치하고, 그룹웨어 사용을 위해 AD를 설치하는 등 AD의 일부만 부분적으로 사용하고 있는 기업들이 많았습니다. 상대적으로 외국에 비해 국내의 경우 이 AD의 사용률이 매우 낮아 IT자산관리 역시 별도의 유료 솔루션을 사용하고 있는 케이스도 많았습니다.

그런데 오늘 세미나를 듣고 보니 그럴만도 할 것 같습니다. 제가 여지껏 듣고 정리했던 내용 중 가장 어려웠거든요. 참석자 중에서도 AD가 좋은것도 알고 더 잘 활용하기 위해서 Windows Server도 업그레이드 하고 싶은데 본인조차 이해가 잘 안되고 사용법을 모르니 윗분들을 어떻게 설득시켜야 할 지 잘 모르겠다고 하신 분도 계셨습니다.

IT관리자 분들도 이렇게 어려워 하는 AD이지만 잘 활용하면 이보다 더 IT관리자 분들을 편하게 해 줄 솔루션도 없을 것 같습니다. 일단 무료잖아요? 물론 Windows Server 라이선스를 구매해야 하는 비용이 필요하긴 하지만요. 마이크로소프트에서 정기적으로 AD에 대한 사용자 교육을 진행한다고 하니 WIndows Server를 사용하시는 분들은 이런 교육을 통해 AD를 접해 보시고 내부에 적용해 보시면 좋을 것 같습니다.

이것으로 AD세미나 후기를 마칩니다. 끝!


 

3개의 댓글이 있습니다.

5년 이하 전

AD 만 잘써도 뛰어난 관리가 되죠

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

1st 5stars

5년 이하 전

잘 읽었습니다~ ^^
"AD를 사용하지 않으면 개별 사용자 기기의 모든 권한이 해당 기기 사용자에게 있어 관리자 입장에서 매우 불편하지만, AD를 사용하면 개별 기기들을 관리자가 통합 관리 할 수 있게 되어 보안을 강화시킬수 있고, 효율적으로 관리할 수 있다"는 내용이 AD의 핵심으로 보여 지네요~

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

약 5년 전

완전 멋집니다!~
AD에 대해서 좀 심도있게 공부하고 싶은데...ㅠㅠ~~

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입