자료실

액티브 디렉토리 환경을 보호하는 8가지 방법 – 1부



액티브 디렉토리(Active Directory, AD)를 보호하기 위해 적절한 조치를 취하는 것이 과거 어느 때보다 중요해졌습니다. AD는 누가 네트워크에 들어올 수 있고, 들어온 다음 무엇을 할 수 있는지 감독하는 역할을 합니다. 따라서 적절한 통제 수단을 구현하지 않으면 큰 피해를 유발하는 침해와 장기간 다운타임의 위험이 급격히 높아집니다. 


그런데 폭넓은, 심층 방어 형태의 AD 보안은 어떤 형태일까요? 전체적인 수준에서의 목표는 다음과 같습니다. 


  • AD를 정리하고 체계적으로 유지하여 공격 표면을 최소화합니다. 

  • IT 환경 전반의 활동에 대한 명확한 시야를 확보해 위협을 신속히 파악하고 대응할 수 있도록 합니다. 

  • 우발적 변경과 대규모 재해에서 복구할 수 있도록 대비해 비즈니스에 미치는 영향을 최소화합니다. 


이 포스팅에서는 위의 목표를 달성하고 AD를 보호하는 데 도움이 되는 8가지 권장 사항을 세부적으로 살펴봅니다. 


1. IT 환경을 정리하고 깨끗하게 유지하기 

AD를 보호하기 위한 첫 번째 단계는 공격 표면을 줄이는 것입니다. 다음을 포함한 여러 AD 보안 권장 사항이 도움이 될 수 있습니다. 


AD 정리 

구조가 단순할수록 파악/관리가 더 용이합니다. 먼저 불필요한 요소를 정리하는 것부터 시작하십시오. 포리스트와 도메인의 수를 줄일 방법을 고민하고, 그 사이에 적절한 신뢰 관계를 구축해야 합니다. 그런 다음 불필요한 AD 보안 그룹을 찾아 제거합니다. 불필요한 그룹이 있을 때는 권한을 파악하기가 더 어렵고 공격자에게 특권을 승격할 수 있는 기회가 생기게 됩니다. 또한 90일 동안 로그인하지 않은 사용자 및 컴퓨터 계정처럼 사용되지 않거나 정책을 위반하는 AD 개체를 비활성화한 다음 삭제합니다. 


정리 능률화 및 자동화 

AD를 최적의 상태로 만들었다면 그 상태를 유지하는 최선의 방법은 문제를 식별하고 교정하는 프로세스를 구축하는 것입니다. 최대한 많은 부분을 자동화하십시오. 예를 들어 퇴사하는 사용자를 디프로비저닝하는 워크플로우를 구축해서 계정을 즉시 비활성화하거나 삭제하고 모든 그룹 및 배포 목록에서 계정을 제거하고 원격 VPN 액세스를 제거하는 것이 중요합니다. 또한 계약업자와 같은 임시 직원을 위한 계정을 만들 때는 계정 만료 날짜를 반드시 설정해야 합니다. 



패치 관리 및 취약점 관리 모두 구현 

공격 표면을 줄이는 또 다른 방법은 윈도우 서버 운영체제와 기타 소프트웨어에 최신 패치를 적용하고 솔루션 업체가 정식 지원하는 버전만 사용하는 것입니다. 그러나 시스템을 완전하게 패치하고 업데이트했다 해도 잘못된 구성으로 인해 공격에 노출될 수 있습니다. 


따라서 AD를 보호하기 위해서는 취약점 관리를 통해 부적절한 설정도 찾아서 교정해야 합니다. 이 프로세스는 매우 복잡하며 많은 시간이 소비될 수 있습니다. 신경 써야 할 설정이 수백, 수천 가지에 이르고 어떤 값을 할당해야 하는지 알기가 쉽지 않은 경우도 있습니다. 예를 들어, 어떤 이벤트를 로깅해야 할까요? 어떤 유형의 방화벽 연결을 허용해야 할까요? 어떤 사용자가 어떤 상황에서 다중 요소 인증(MFA)을 완료해야 할까요? 이 질문들에 대한 답은 조직의 고유한 IT 환경, 우선순위, 위험 허용도 및 기타 여러 요소에 따라 달라집니다. 


취약점 관리를 위해 IT팀은 권장 사항과 업계 표준을 기반으로 하는 긴 설정 체크리스트에 의존하는 경우가 많습니다. 예를 들어 마이크로소프트의 SCT(Security Compliance Toolkit), CIS(Center for Internet Security) 벤치마크, 미 국방부 보안 기술 구현 가이드(STIG) 등이 있습니다. 일부 작업을 자동화하고 조직의 표준 준수를 평가하는 점수표를 제공하는 전용 툴도 있습니다. 



약한 인증 프로토콜 피하기 

AD를 보호하기 위한 또 다른 주요 전략은 오래되고 약한 NTLM 인증 프로토콜 사용을 줄이거나 제거하는 것입니다. NTLMv1은 윈도우 NT 3.1 시대에 만들어졌고 업데이트된 NTLMv2 프로토콜도 그보다 불과 몇 년 뒤에 나왔습니다. NTLM은 설계 자체도 그렇지만 오래된 MD4 암호화 해시 함수에 대한 의존성 탓에 무차별 대입 공격, 패스 더 해시(pass the hash) 공격 등에 매우 취약합니다.


마이크로소프트는 윈도우 2000에서 기본 인증 프로토콜을 NTLM에서 커버로스(Kerberos)로 바꿨지만 NTLM, 특히 v1이 활성화된 IT 환경은 여전히 보안이 매우 취약한 상태에 놓여 있습니다. 그러나 중요한 비즈니스 애플리케이션과 프로세스가 NTLM 인증에 의존할 수도 있으므로 무작정 NTLM을 비활성화해서는 안 됩니다. 정확히 어디에 사용되고 있는지 파악하고 체계적으로 재구성하거나 NTLM이 필요한 애플리케이션을 대체해야 합니다. 서드파티 솔루션은 이 AD 보안 권장 사항을 효율적으로 구현하는 데 도움이 될 수 있습니다. 


도메인 컨트롤러 보호 

모든 AD 환경에는 하나 이상의 도메인 컨트롤러(Domain Controller, DC)가 있으며 대부분 경우 둘 이상입니다. DC는 사용자와 프로세스가 IT 리소스에 액세스할 수 있도록 인증 및 권한 부여 서비스를 제공하므로 사이버 공격의 가장 주된 표적입니다. 따라서 도메인 컨트롤러를 보호하기 위해 할 수 있는 모든 조치를 취하는 것이 필수입니다. 특히 확인해야 할 요소는 다음과 같습니다. 


  • 각 DC에 대한 로컬 관리 권한을 갖는 사람을 제한하고 대화형 로그인이 가능한 계정을 최소화하십시오. 또한 DC에 액세스할 수 있는 모든 계정에서 암호 복잡성 및 만료에 관한 권장 사항을 엄격히 준수하십시오. 

  • DC의 기능과 보안에 필수적인 애플리케이션과 서비스만 설치하십시오. 

  • 모든 도메인 컨트롤러에 대한 네트워크 액세스를 최소화하고 DC의 인터넷 액세스를 절대 허용하지 마십시오. 

  • 모든 DC에 대한 물리적 접근을 엄격히 통제하십시오. 


2. 최소 권한 원칙 강제하기 

공격 표면을 줄이기 위한 또 다른 핵심적인 요소는 최소 권한 원칙을 강제하는 것입니다. 최소 권한 원칙은 실제로 모든 AD 보안 권장 사항에서 가장 기초가 되는 요소입니다. 각 사용자에게 작업을 수행하는 데 필요한 이상도, 이하도 아닌 정확한 액세스 권한만 부여함으로써 사용자가 의도적으로 또는 실수로 유발할 수 있는 피해를 제한할 수 있습니다. 또한 이렇게 하면 계정을 탈취하는 공격자가 획득하는 권한도 그만큼 줄어듭니다. 예를 들어 이 계정을 사용한 랜섬웨어의 감염 범위가 제한됩니다. 


최소 권한을 구현하는 핵심은 각 계정에 권한을 무규칙적으로 직접 할당하는 것이 아니라 비슷한 역할의 사용자, 가령 모든 헬프데스크 관리자 또는 모든 HR 직원을 하나의 AD 보안 그룹에 배치해 함께 관리하는 것입니다. 이런 전략은 권한 구조를 간소화해서 각 사용자에게 부여된 액세스 권한을 정확히 파악하고 데이터 소유자에게 정기적인 권한 검토 및 입증을 수행할 역량을 제공할 수 있습니다. 또한 새로운 애플리케이션이 배포되고 조직 내의 개인 역할이 변경되는 경우에서도 권한을 최신 상태로 유지하는 데 도움이 됩니다. 


또한 개인에게 할당되는 권한에만 주의를 기울이면 안 됩니다. 모든 IT 환경에는 애플리케이션과 서비스가 IT 환경에 로그인해서 작업을 수행하는 데 사용되는 특수한 사용자 계정인 서비스 계정도 있습니다. 서비스 계정에 실제 필요한 수준 이상의 권한이 부여된 경우가 매우 많은데, 오버프로비저닝의 일반적인 원인은 애플리케이션 솔루션 업체가 지정한 권한 요구사항을 무심코 수락하는 것, 운영 문제에 대해 충분히 고려하지 않은 것, 적절한 권한 집합으로 새 서비스를 만들지 않고 단순히 기존 서비스를 복제하는 것이 대표적입니다. 시간이 들더라도 서비스 계정에 필요한 권한만 부여하면 공격 표면을 크게 줄일 수 있습니다. 


3. 권한이 높은 계정에 특히 주의하기 

민감한 시스템과 데이터에 액세스할 수 있는 계정은 엄격한 최소 권한 원칙을 강제하는 것 외에도 부가적인 통제 수단을 적용해 AD를 보호해야 합니다. 관리자 계정과 많은 서비스 계정이 여기에 해당합니다. 


관리자 계정 

효과적인 특권 액세스 관리(Privileged Access Management, PAM) 전략을 수립하십시오. 최선의 방법은 서드파티 PAM 솔루션에 투자해 특권 자격 증명을 부여하는 프로세스를 통제하고, 특권 계정의 활동을 관리하고, 감사하는 것입니다. 가능하면 승격된 권한을 영구적으로 계정에 부여하지 말고 필요한 보안 그룹에 일시적으로 멤버십을 할당하고 지정된 종료 날짜/시간에 자동으로 제거되도록 하십시오. MFA를 의무화하면 공격자가 훔친 자격 증명을 네트워크에서 사용하기가 더 어려워지므로 민감한 IT 리소스에 액세스를 시도하는 계정에는 MFA를 의무화하는 것이 중요합니다. 


또한 특권 계정이 로그인할 수 있는 엔드포인트도 자세히 관리해야 합니다. 관리자는 관리자용 특권 계정을 사용해 워크스테이션은 물론 자신의 개인용 컴퓨터에 로그인하면 안 됩니다. 로그인할 때 메모리에 암호 해시가 남기 때문에 공격자가 이것을 훔쳐 패스 더 해시 공격에 사용할 수 있습니다. (PAM 솔루션을 구축한 경우에도 취약점이 존재하는 틈이 있으므로 관리자 자격 증명이 리셋되기 전까지 이 원칙을 지키는 것이 중요합니다.) 특권 계정은 안전한 특권 계정 워크스테이션(PAW)에만 로그인해야 합니다. 


마지막으로, 서버에 대한 액세스는 사용자의 역할을 기반으로 해야 합니다. 예를 들어 SQL 관리자는 SQL 서버 시스템에만 액세스할 수 있어야 하고 다른 서버에 대한 액세스 권한은 없어야 합니다. 



서비스 계정 

최소 권한 원칙에 따라 서비스 계정 권한을 낮춘 후 일부 서비스 계정에 더 승격된 권한이 필요할 때가 있습니다. 이때는 각별한 주의를 기울여야 합니다. 서비스 계정을 로컬 관리자 또는 도메인 관리자 그룹과 같은 표준 관리 그룹의 멤버로 설정하는 것은 절대 안 됩니다. 서비스를 로컬시스템(LocalSystem) 계정으로 실행하거나 서비스 계정을 위한 맞춤형 그룹을 만들어 다른 계정에 대한 액세스 권한을 명시적으로 거부하는 것이 더 좋은 방법입니다. 하루 중 서비스 계정이 로그인할 수 있는 시간을 구성하는 것도 좋습니다. 


가능한 모든 경우 관리형 서비스 계정(Managed Service Account, MSA)을 사용하십시오. 관리형 서비스 계정에는 독립형 MSA(standalone MSA, sMSA) 또는 그룹 MSA(group MSA, gMSA)가 있습니다. 조직은 성가심과 그에 따르는 위험으로 인해 서비스 계정 암호를 정기적으로 변경하지 않거나 아예 변경하지 않는 경우가 많습니다. 그 결과 서비스 계정의 자격 증명을 탈취한 공격자는 장기간 동안 환경에 대한 액세스 권한을 유지하게 됩니다. 하지만 MSA는 자동화된 암호 관리 기능을 통해 서비스 계정 암호를 정기적으로 변경해 공격자의 움직임을 차단합니다. 또한 gMSA는 대화형 사용이 제한되므로 IT팀의 별도 작업 없이 AD 보호에 도움이 되는 보호 계층이 추가됩니다. 


4. 공격 경로 관리 및 공격 경로 모니터링 구현하기 

앞서 설명한 여러 권장 사항은 AD를 보호하는 데 큰 도움이 될 것입니다. 그러나 현실의 AD는 복잡한 환경입니다. 특히 AD는 그룹이 다른 그룹의 멤버가 되는 것을 허용하는데, 이 중첩이 여러 계층에 걸쳐 이어질 수 있습니다(그룹 A가 그룹 B의 멤버가 되고, 그룹 B가 그룹 C의 멤버가 되는 것). 같은 도메인에 속하지 않은 그룹도 중첩할 수 있습니다. 여기에 이전 윈도우 서버 빌드에서 비롯된 몇 년에 걸친 기술 부채, IT 분야의 높은 이직률, 전 세계적인 AD 보안 전문 인력의 부족이 겹친 결과, 정확히 누구에게 승격된 권한이 있는지 거의 알 수 없는, 매우 위험하고 복잡한 AD가 운영되는 경우가 많습니다.


더욱 위험한 점은 공격자가 발각되지 않은 채 자신의 권한을 쉽게 승격할 수 있다는 것입니다. 실제로 많은 IT 환경에서 일반 사용자 계정을 탈취한 공격자는 몇 단계만으로 도메인 관리자가 될 수 있습니다! 이런 공격 경로를 파악하고 막는 유일한 방법은 공격 경로 관리와 공격 경로를 모니터링하는 것입니다. 


공격 경로 관리는 컴퓨터와 사용자 간에 직간접적인 연결을 생성해 공격자가 자신의 권한을 승격하여 AD 도메인을 장악할 수 있게 해주는 절대 권한 및 사용자 행동의 복잡한 연결 고리를 드러냅니다. 또한 공격 경로의 핵심적인 마지막 구간인 초크 포인트(choke point)를 식별합니다. 초크 포인트를 닫으면 이에 의존하는 공격 경로를 차단해 핵심 자산을 보호할 수 있습니다. 


그러나 조직은 특정 권한에 의존하는 핵심 애플리케이션 같은 중요한 비즈니스 프로세스의 중단 위험으로 인해 일부 초크 포인트를 신속하게 교정할 수 없는 경우가 많습니다. 따라서 공격 경로 모니터링을 구현해서 공격 경로의 실제 이용 여부를 지속적으로 감시해 즉각 조치를 취할 수 있도록 하는 것이 중요합니다. 


더 자세한 내용은 ‘공격 경로 관리로 AD 보안 강화하기(Level up your Active Directory security with attack path management)’ 전자책을 참조하십시오. 


지금까지 폭넓은 AD 보안을 구현하는 데 도움이 되는 4가지 권장 사항을 살펴보았습니다. 2부에서는 나머지 4가지 권장 사항을 소개합니다. 


AD 관리 및 보안에 대해 궁금한 점이 있으시면 퀘스트소프트웨어 코리아로 언제든 문의주시기 바랍니다.






퀘스트소프트웨어코리아(주)

서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600

전자 메일 KoreaMarketing@quest.com 


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB


퀘스트소프트웨어코리아(주) 서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600 | 전자 메일 KoreaMarketing@quest.com


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB