Active Directory 도메인 컨트롤러의 DPAPI 백업 키
Active Directory 데이터베이스에는 DPAPI 백업 키라고 하는 개체 집합이 포함되어 있습니다. 이러한 개체는 다음과 같습니다.
- BCKUPKEY_P 비밀
- BCKUPKEY_PREFERRED 비밀
- BCKUPKEY_guid1
- BCKUPKEY_guid2
이러한 개체는 스키마 클래스 "secret"의 일부이며 도메인 파티션 내의 "CN=System,DC=contoso,DC=com" 컨테이너에 존재합니다.
일반적으로 도메인 사용자는 자신의 암호에서 파생된 키를 사용하여 DPAPI로 보호되는 데이터를 암호화합니다. 그러나 사용자가 암호를 잊어버리거나 암호가 다른 디바이스에서 관리적으로 재설정되거나 재설정되는 경우 이전에 암호화된 데이터는 사용자의 새 암호에서 파생된 새 키를 사용하여 더 이상 암호 해독할 수 없습니다.
이 경우 Active Directory 도메인 컨트롤러에 저장된 Backup 키를 사용하여 데이터의 암호를 해독할 수 있습니다. 그런 다음 사용자의 새 암호 파생 키로 다시 암호화할 수 있습니다. 즉, 도메인에 대한 DPAPI Backup 키가 있는 모든 사용자는 사용자의 암호가 변경된 후에도 모든 도메인 사용자에 대해 DPAPI 암호화 데이터의 암호를 해독할 수 있습니다.
Active Directory 도메인 컨트롤러의 DPAPI 백업 키는 도메인을 처음 만드는 동안 한 번만 임의로 생성됩니다.
이러한 키의 중요한 특성으로 인해 이러한 키에 대한 액세스를 보호하고 전체 Active Directory 도메인에서 가장 기밀 정보 중 하나로 간주해야 합니다. 기본적으로 이러한 키에 대한 액세스는 도메인 관리자로 제한됩니다.
현재 도메인 컨트롤러에서 이러한 DPAPI 백업 키를 변경하거나 회전하는 공식적으로 지원되는 방법은 없습니다. MS-BKRP 문서에 따라 타사에서는 새 DPAPI Backup 키를 만들고 새 키를 도메인의 기본 키로 설정하는 애플리케이션 또는 스크립트를 개발할 수 있습니다. 그러나 이러한 타사 솔루션은 Microsoft에서 지원되지 않습니다.
도메인에 대한 DPAPI 백업 키가 손상된 경우 새 도메인을 만들고 사용자를 새 도메인으로 마이그레이션하는 것이 좋습니다. 악의적인 행위자가 DPAPI 백업 키에 액세스할 수 있는 경우 도메인에 대한 도메인 관리자 수준 액세스 권한을 획득하고 해당 리소스에 대한 모든 권한을 갖게 될 수 있습니다. 또한 공격자는 현재 가지고 있는 액세스 수준으로 도메인에 다른 백도어 시스템을 설치할 수 있으므로 새 도메인으로 마이그레이션하는 것이 좋습니다.
Active Directory 관리 모범 사례는 이 시나리오에 대한 방어입니다. 사용자에게 도메인 액세스 권한을 부여할 때 사용자에게 필요한 최소 액세스 수준을 제공합니다. 또한 도메인 컨트롤러 자체를 보호하는 만큼의 경계로 Active Directory 백업을 보호하는 것도 중요합니다.