Windows Server 2025 / Windows LAPS로 로컬 관리자 암호를 관리하는 방법

Windows LAPS(Local Administrator Password Solution)는 장비마다 다른 로컬 관리자 암호를 생성·변경하고 허용된 관리자가 복구할 수 있게 하는 기능입니다. AD에 저장하는 구성에서는 스키마, 장비의 쓰기 권한, 조회·복호화 권한과 컴퓨터 정책을 각각 준비해야 합니다.

암호 저장 위치와 관리 계정을 정합니다

이 실습은 도메인에 가입한 FS1의 로컬 관리자 계정을 AD에 백업하는 구성입니다. DC1의 일반 로컬 계정을 관리하는 실습이 아니며, 도메인 컨트롤러의 DSRM 암호 관리와도 구분합니다. Windows LAPS와 예전 Microsoft LAPS는 정책·스키마·명령 이름이 다릅니다.

  • FS1은 Windows Server 2025이며 Lab\Servers OU에 있어야 합니다.
  • AD와 관리 도구를 최신 상태로 준비하고 LAPS 명령과 정책 템플릿을 확인합니다.
  • 암호를 읽을 관리자 그룹과 실제 업무상 필요를 정합니다. 일반 사용자에게 조회 권한을 주지 않습니다.
  • 암호가 바뀌어도 관리가 가능하도록 별도의 정상 관리 경로와 백업을 확보합니다.

Windows LAPS의 AD 저장은 AD 기반 Windows LAPS 시작 안내에 따라 준비합니다. 암호 암호화 기능에는 도메인 기능 수준 등 조건이 있으므로 현재 도메인을 확인합니다. 이 강좌의 새 2025 도메인은 암호화 사용을 검토할 수 있는 환경입니다.

실습용 로컬 관리자 계정을 준비합니다

이 글은 계정 이름 labadmin을 직접 만들어 관리하는 방식을 사용합니다. FS1 콘솔의 관리자 Windows PowerShell에서 아직 같은 계정이 없는지 확인한 뒤 생성하세요. 내장 관리자 그룹은 언어에 따라 이름이 달라질 수 있어 SID로 찾습니다.

Get-LocalUser -Name 'labadmin' -ErrorAction SilentlyContinue
$initialLocalPassword = Read-Host 'Initial local password' -AsSecureString
New-LocalUser -Name 'labadmin' -Password $initialLocalPassword -Description 'LAPS lab account'
$localAdminGroup = (Get-LocalGroup -SID 'S-1-5-32-544').Name
Add-LocalGroupMember -Group $localAdminGroup -Member "$env:COMPUTERNAME\labadmin"

첫 조회에서 계정이 이미 나오면 아래 생성 명령을 그대로 계속 실행하지 말고 기존 용도를 확인합니다. LAPS 정책에서 수동 지정한 사용자 지정 계정은 계정 존재와 관리자 그룹 소속을 따로 준비해야 합니다. 자동 계정 관리 기능을 사용하는 구성과 혼동하지 않습니다.

스키마 확장은 포리스트 수준 변경으로 단순히 GPO 링크를 지워 되돌리는 작업이 아닙니다. 운영 환경에서는 변경·복구 계획과 권한 검토를 먼저 완료해야 합니다. 격리 실습에서 필요한 스키마 변경 권한으로 최신 LAPS 모듈의 Update-LapsADSchema를 실행합니다.

Update-LapsADSchema
Set-LapsADComputerSelfPermission -Identity 'OU=Servers,OU=Lab,DC=ad,DC=example,DC=test'

두 번째 명령은 해당 OU의 컴퓨터가 자신의 LAPS 정보를 갱신하도록 권한을 설정합니다. 암호 조회 권한과는 다릅니다. AD의 LabGroups OU에 글로벌 보안 그룹 GG_LAPSReaders를 만들고, 실제 조회 담당 관리 계정만 구성원으로 추가합니다. 아직 그룹이 없다면 다음처럼 만들 수 있습니다.

New-ADGroup -Name 'GG_LAPSReaders' -GroupCategory Security -GroupScope Global -Path 'OU=LabGroups,OU=Lab,DC=ad,DC=example,DC=test'
Set-LapsADReadPasswordPermission -Identity 'OU=Servers,OU=Lab,DC=ad,DC=example,DC=test' -AllowedPrincipals 'AD\GG_LAPSReaders'
Find-LapsADExtendedRights -Identity 'OU=Servers,OU=Lab,DC=ad,DC=example,DC=test'

기존 그룹이 있으면 재생성하지 않습니다. 조회 권한이 있어도 암호화한 값을 복호화할 권한이 자동 생기지는 않습니다. OU에 이미 넓은 확장 권한이 부여되어 있지 않은지도 확인합니다. 명령의 역할은 LAPS PowerShell 명령 목록에서 확인할 수 있습니다.

FS1만 대상으로 정책을 연결합니다

  1. GPMC에서 Lab-LAPS-Servers라는 새 GPO를 만들고 Lab\Servers OU에 연결합니다. 해당 OU의 컴퓨터 목록을 확인하고 실제 서버가 섞여 있다면 별도 시험 OU를 사용합니다.
  2. 컴퓨터 구성 → 정책 → 관리 템플릿 → 시스템 → LAPS로 이동합니다. 중앙 저장소를 사용하면 최신 ADMX·해당 언어 ADML이 있는지도 확인합니다.
  3. 암호 백업 디렉터리를 Windows Server Active Directory로 선택합니다.
  4. 관리할 관리자 계정 이름을 labadmin으로 지정합니다.
  5. 암호 암호화를 사용하고 복호화할 권한 주체를 AD\GG_LAPSReaders로 지정합니다.
  6. 암호 설정에는 실습 예시로 길이 20, 복잡성 4, 사용 기간 30일을 지정합니다. 현재 로컬 암호 정책과 충돌하지 않는지 확인합니다.

설정 이름과 지원 조건은 Windows LAPS 정책 설정을 확인합니다. 예시 수치는 조직 공통 기준을 뜻하지 않습니다. 2025의 암호 문구 등 새 옵션은 관리 대상 OS 지원 조건이 따로 있으므로 이전 Windows 클라이언트까지 같은 값으로 일괄 적용하지 않습니다.

암호 백업과 조회 권한을 검증합니다

FS1 관리자 셸에서 정책을 적용하고 LAPS 처리를 요청합니다. 이벤트 뷰어의 응용 프로그램 및 서비스 로그 → Microsoft → Windows → LAPS → Operational에서 성공·실패 원인을 확인하세요.

gpupdate /target:computer /force
Invoke-LapsPolicyProcessing

허용된 조회 관리자는 AD 관리 PC에서 아래처럼 암호 문자열을 출력하지 않고 메타정보를 확인할 수 있습니다. 실제 속성은 사용 중인 모듈의 출력으로 확인하고, 대상 장비와 계정·암호화 해제 결과를 함께 점검합니다.

Get-LapsADPassword -Identity 'FS1' | Select-Object ComputerName,Account,PasswordUpdateTime,ExpirationTimestamp,DecryptionStatus

필요한 복구 작업에서 실제 암호를 조회할 때는 권한 있는 관리 화면이나 공식 명령을 사용하고, 화면 공유·트랜스크립트·로그에 비밀이 남지 않도록 합니다. 허용되지 않은 일반 사용자는 조회할 수 없어야 합니다. 암호가 조회된다는 사실과 의도한 계정의 로컬 로그인·권한까지 정상인지는 별도로 검증합니다.

실습 정리 시 정책을 끄는 것만으로 이전 암호가 복원되지 않습니다. 먼저 정상 관리 경로를 확인하고 새 고유 암호로 전환한 뒤 정책·조회 위임을 필요한 범위에서 정리합니다. 스키마를 임의 삭제하거나 모든 서버의 관리자 암호를 같은 값으로 되돌리지 않습니다.