Windows LAPS 실무 가이드 ── 전 PC 공통 로컬 관리자 비밀번호를 그만두기
· Go Komura · Windows, 보안, LAPS, 비밀번호 관리, Active Directory, Intune, PowerShell, 정보시스템
키팅 현장에는 오래 이어져 온 ‘단골 편법’이 있습니다. 마스터 이미지에 공통 로컬 관리자 비밀번호를 심어 전체에 배포한다 ── 유지보수에 들어갈 때는 그 비밀번호로 로그온하면 되므로, 절차상으로는 합리적으로 보입니다. 그러나 이 구성은 지금, 공격자에게 있어 ‘합쇠(合鍵)의 대량 생산’으로 가장 먼저 노려지는 지점이 되어 있습니다. 한 대의 침해가 그대로 전체의 침해로 이어지기 때문입니다.
이 글에서는 중소기업 정보시스템 담당자와 PC 키팅·유지보수 운영을 맡는 개발자를 대상으로, 공통 로컬 관리자 비밀번호가 왜 위험한지를 정리한 뒤, 그 해결책으로서 OS에 내장된 Windows LAPS(Local Administrator Password Solution)의 구조, 환경별 사용 구분, 도입 절차, 운영상의 함정까지를 2026년 8월 시점의 1차 정보에 기반하여 설명합니다. BitLocker·WSUS 폐지·방화벽·인증서 저장소로 이어온 정보시스템 담당자용 보안 연재의 후속편입니다.
1. 먼저 결론
- 전 PC 공통 로컬 관리자 비밀번호는, 한 대의 침해를 전체로 확산시키는 횡적 이동(래터럴 무브먼트)의 온상입니다. 비밀번호가 같으면 NTLM 해시도 같으므로, 한 대에서 해시를 탈취당하면 나머지 전체에 Pass-the-Hash로 침입당합니다.1
- Windows LAPS는 로컬 관리자 비밀번호를 단말마다 무작위화하고 자동으로 로테이션하는 OS 표준 기능입니다. Pass-the-Hash·횡적 이동에 대한 대책으로서 Microsoft가 첫 번째 이점으로 꼽고 있습니다.1
- 2023년 4월 11일 업데이트 이후의 Windows 10/11, Windows Server 2019/2022 이후에 내장되어 있습니다. 구 LAPS(MSI 배포)와 달리 추가 설치가 필요하지 않습니다. 구 LAPS는 Windows 11 23H2 이후 비권장으로 지정되었습니다.1
- 비밀번호 저장 위치는 Active Directory 또는 Microsoft Entra ID 중 어느 한쪽입니다. 도메인에만 참가한 단말은 AD로, Entra에만 참가한 단말은 Entra ID로, 하이브리드 참가는 둘 중 하나를 선택합니다. 어느 쪽에도 참가하지 않은 워크그룹 단말에서는 사용할 수 없습니다.1
- 기본값으로는 아무 일도 일어나지 않습니다. BackupDirectory의 기본값이 ‘비활성화’이므로, 정책(GPO 또는 Intune/CSP)으로 저장 위치를 명시해야 비로소 동작하기 시작합니다.2
- AD 저장에는 3가지 사전 준비가 필요합니다. 스키마 확장(
Update-LapsADSchema), 컴퓨터 자신의 쓰기 권한(Set-LapsADComputerSelfPermission), 열람 권한 설계(Set-LapsADReadPasswordPermission)입니다.3 - 비밀번호 확인은
Get-LapsADPassword/Get-LapsAADPassword, 즉시 반영은Invoke-LapsPolicyProcessing, 단말 측에서의 즉시 로테이션은Reset-LapsPassword입니다.4 - 사용된 비밀번호는 자동으로 일회용이 됩니다. 관리 대상 계정으로의 인증 후, 기본값으로는 24시간 만에 리셋+사인아웃(PostAuthenticationActions)이 실행됩니다.2
2. 왜 전 PC 공통 로컬 관리자 비밀번호가 위험한가
먼저 위협의 구조를 정확히 짚어 둡니다. 로컬 관리자 계정(이른바 내장 Administrator나, 키팅 시 만드는 유지보수용 계정)의 비밀번호를 전체에서 공통으로 하면 무슨 일이 일어날까요.
Windows는 로컬 계정의 비밀번호를 그대로가 아니라, 비밀번호에서 계산한 NT 해시로 보유합니다. 그리고 NTLM 인증에서는 이 해시 자체가 인증의 재료가 됩니다. 즉 비밀번호가 같으면 해시도 전체에서 같습니다. 공격자가 악성코드나 표적형 공격으로 한 대의 관리자 권한을 확보하면, 그 단말의 메모리나 로컬 데이터베이스(SAM)에서 해시를 꺼낼 수 있습니다. 여기서부터가 본론으로, 꺼낸 해시는 평문 비밀번호로 되돌리지 않아도 그대로 인증에 사용할 수 있습니다. 이것이 Pass-the-Hash 공격입니다. 공통 비밀번호 환경에서는 한 대에서 얻은 해시가 나머지 전체에 대한 ‘합쇠’가 되어, 침해가 단숨에 옆으로 번집니다. NTLM 인증의 구조와 왜 해시만으로 인증이 통과하는지는 「그림으로 이해하는 NTLM과 Kerberos」에서 자세히 설명하고 있습니다.
flowchart TB
subgraph BEFORE["공통 비밀번호 환경"]
A1["PC-01을 침해<br/>(악성코드·표적형 공격)"] --> H["관리자의 NT 해시를 획득"]
H -->|"Pass-the-Hash"| B1["PC-02"]
H -->|"Pass-the-Hash"| B2["PC-03"]
H -->|"Pass-the-Hash"| B3["…전체로 횡적 이동"]
end
subgraph AFTER["LAPS 도입 후"]
C1["PC-01을 침해"] --> H2["PC-01의 해시를 획득"]
H2 -->|"비밀번호가 단말마다 다르므로"| STOP["다른 PC에서는 이 해시로<br/>인증할 수 없음-로컬 관리자<br/>경유 횡적 이동을 차단"]
end
대책의 방향은 명확하며, 단말마다 로컬 관리자 비밀번호를 다르게 하고, 게다가 정기적으로 바꾸는 것입니다. 그렇게 하면 한 대의 해시가 유출되어도 다른 단말에서는 사용할 수 없어, 로컬 관리자 계정의 재사용이라는 횡적 이동 경로를 차단할 수 있습니다(침해된 PC 위의 도메인 자격 증명 탈취 등, 다른 횡적 이동 경로까지 모두 막히는 것은 아니라는 점에는 주의해야 합니다). 그러나 이것을 수작업으로 하는 것은 현실적이지 않습니다. 수십 대의 비밀번호를 개별로 생성하고, 대장으로 관리하고, 정기적으로 갱신하며 돌아본다 ── 이 운영 비용의 높음이야말로 공통 비밀번호라는 편법이 살아남아 온 이유입니다. 이 ‘개별화와 정기 변경의 자동화’를, 디렉터리로의 안전한 저장과 세트로 OS 쪽이 떠맡는 것이 Windows LAPS입니다. Microsoft 스스로도 Windows LAPS의 이점 첫 번째로 ‘Pass-the-Hash 공격과 횡적 이동(lateral-traversal) 공격으로부터의 보호’를 꼽고 있습니다.1
또한 애초에 일상 업무를 관리자 계정으로 하지 않는다, 유지보수용 계정의 용도를 좁힌다는 특권 관리의 기본에 관해서는 「Windows의 관리자 특권이 필요해지는 것은 언제인가」도 참조하십시오.
3. Windows LAPS란 무엇인가 ── 구 LAPS와의 차이
LAPS라는 이름에는 역사가 있어, 실무에서는 ‘어느 LAPS 이야기인가’를 구분하지 않으면 대화가 맞물리지 않습니다.
구 LAPS(레거시 Microsoft LAPS)는 Microsoft가 2016년에 공개한 추가 설치형 도구입니다.1 MSI 패키지를 전 단말에 배포해 그룹 정책 확장(CSE)을 넣고, 비밀번호를 Active Directory의 ms-Mcs-AdmPwd 속성에 평문으로 저장하는 구성으로, 오랫동안 사실상의 표준이었습니다.
Windows LAPS는 그 후속으로 OS에 내장된 별도의 구현입니다. 2023년 4월 11일 업데이트 이후의 Windows 10, Windows 11 21H2/22H2, Windows Server 2019/2022에 포함되며, Windows 11 23H2 이후와 Windows Server 2025 이후에는 처음부터 들어 있습니다.1 즉 업데이트를 평소대로 적용하고 있는 환경이라면, 사내 PC에는 이미 Windows LAPS가 들어 있습니다. 남은 것은 정책을 설정하는 것뿐입니다.
| 관점 | 구 LAPS(레거시) | Windows LAPS |
|---|---|---|
| 제공 형태 | MSI를 전 단말에 배포하여 설치 | OS 내장(2023년 4월 업데이트 이후). 추가 설치 불필요1 |
| 비밀번호 저장 위치 | Active Directory만 | Active Directory 또는 Microsoft Entra ID1 |
| AD에서의 암호화 | 미지원(평문+ACL 보호) | 지원(DFL 2016 이상에서 암호화 저장·이력 저장이 가능)3 |
| DSRM 비밀번호 관리 | 미지원 | 도메인 컨트롤러의 DSRM 계정도 관리 가능1 |
| 인증 후 자동 리셋 | 없음 | PostAuthenticationActions로 인증 후 자동 리셋+사인아웃 등2 |
| PowerShell | AdmPwd.PS 모듈 | LAPS 모듈(Get-LapsADPassword 등)4 |
| 향후 | Windows 11 23H2 이후 비권장. 새 OS에서는 MSI 설치 자체가 차단1 | 현행 표준 |
중요한 것은 Windows LAPS가 구 LAPS의 개수판이 아니라 완전히 별도의 구현이며, AD 스키마 속성도 구 LAPS와는 다르다(msLAPS-*)는 점입니다.4 구 LAPS로부터의 이전을 돕기 위해, 구 LAPS의 GPO 설정을 Windows LAPS가 해석해 동작하는 ‘에뮬레이션 모드’도 마련되어 있지만, 여기에는 제약이 많아(6장) 신규 도입에서 굳이 사용할 이유는 없습니다.
4. 어디에 비밀번호가 저장되는가 ── 환경별 판단표
Windows LAPS는 생성한 비밀번호를 디렉터리에 ‘백업’합니다. 저장 위치는 단말의 참가 상태로 정해지며, AD와 Entra ID 양쪽에 저장할 수는 없습니다.1
| 환경 | 저장 위치 | 정책 배포 | 비밀번호 확인 수단 | 판단 |
|---|---|---|---|---|
| AD 도메인 참가만 | Active Directory(컴퓨터 개체의 msLAPS-* 속성) |
그룹 정책(LAPS.admx) | Get-LapsADPassword, AD 사용자 및 컴퓨터의 속성 화면3 |
온프레미스 중심 중소기업의 본명. 스키마 확장과 권한 설정이 사전에 필요 |
| Entra 참가만(+Intune) | Microsoft Entra ID | Intune에서 LAPS CSP로 배포 | Entra 관리 센터/Intune 관리 센터, Get-LapsAADPassword(Microsoft Graph)5 |
클라우드 관리로 이전을 마쳤다면 이쪽. 테넌트 측에서의 기능 활성화가 필요 |
| 하이브리드 참가 | AD 또는 Entra ID의 둘 중 하나를 선택1 | GPO 또는 Intune | 선택한 저장 위치에 따라 위의 어느 쪽 | 헬프데스크가 평소 어느 쪽을 보며 업무를 하는지로 결정 |
| 워크그룹(미참가) | 저장 위치가 없어 이용 불가1 | ─ | ─ | 단말별 개별 비밀번호+대장의 수동 운영이 대안. 대수가 늘어나면 Entra 참가/도메인 참가로의 이전을 검토 |
AD 저장의 경우, 비밀번호는 컴퓨터 개체의 속성(평문이라면 msLAPS-Password, 암호화가 활성화되어 있으면 msLAPS-EncryptedPassword, 기한은 msLAPS-PasswordExpirationTime)에 기록됩니다.6 이 중 비밀번호를 포함한 속성(msLAPS-Password와 암호화 계열의 msLAPS-Encrypted*)은 기밀 속성(confidential)으로 표시되어, 일반적인 읽기 권한으로는 조회할 수 없습니다. 한편 기한을 나타내는 msLAPS-PasswordExpirationTime에는 기밀 표시가 없어(SearchFlags: 0), 기본 읽기 권한으로 조회할 수 있는 메타데이터입니다.6 암호화 저장과 비밀번호 이력을 사용하려면 도메인 기능 레벨(DFL) 2016 이상이 필요합니다.3 주의해야 할 점은 암호화 설정(ADPasswordEncryptionEnabled)의 기본값이 활성화되어 있다는 것입니다.2 DFL이 2016보다 오래된 도메인에서는 암호화를 사용할 수 없으므로, 자동으로 평문으로 전환되는 것을 당연시하지 말고 정책에서 암호화를 명시적으로 비활성화하여 평문+ACL 보호로 저장하는 구성으로 하십시오.3
Entra ID 저장의 경우에는 테넌트 측에서 ‘로컬 관리자 비밀번호 관리’를 활성화한 뒤, Intune에서 LAPS CSP를 통해 정책을 배포하는 것이 표준 구성입니다. 라이선스 측면에서는 Windows LAPS의 기능 자체는 무료이며, AD 저장에 추가 요건은 없고, Entra ID 저장도 Microsoft Entra ID Free 이상에서 이용할 수 있습니다.1
워크그룹 단말에 대안이 없는 것은, 저장 위치가 될 디렉터리가 존재하지 않는 이상 어쩔 수 없습니다. 현실적으로는 키팅 시 단말마다 다른 비밀번호를 설정하고, 비밀번호 관리자 등으로 대장 관리하는 수동 운영이 됩니다. 키팅을 스크립트화하고 있다면 그 안에 단말별 비밀번호 생성을 포함시키는 것이 확실합니다(「winget + PowerShell로 PC 키팅을 자동화하기」 참조).
5. 도입 절차 실무 ── AD+GPO 구성을 중심으로
여기서는 건수가 많은 AD 도메인+GPO 구성을 중심으로, 실제 절차를 따라갑니다. Entra+Intune 구성과의 차이는 마지막에 정리합니다.
5.1. 사전 준비(1회만 하는 작업)
AD 저장에서는 정책을 배포하기 전에 포리스트 측 준비를 마칩니다.3
# 1. 스키마 확장(포리스트에서 1회만. Schema Admins 권한으로 실행)
Update-LapsADSchema
# 2. 대상 OU 하위의 컴퓨터에, 자신의 비밀번호 속성을 갱신하는 권한을 부여
Set-LapsADComputerSelfPermission -Identity "OU=사내PC,DC=example,DC=co,DC=jp"
# 3. 비밀번호를 열람할 수 있는 그룹을 부여(Domain Admins는 기본적으로 열람 가능)
Set-LapsADReadPasswordPermission -Identity "OU=사내PC,DC=example,DC=co,DC=jp" `
-AllowedPrincipals @("EXAMPLE\HelpdeskAdmins")
# 4. 비밀번호 기한을 조작(즉시 실효=리셋 지시)할 수 있는 그룹을 부여
# (5.4의 Set-LapsADPasswordExpirationTime에 필요. Domain Admins는 기본적으로 가능)
Set-LapsADResetPasswordPermission -Identity "OU=사내PC,DC=example,DC=co,DC=jp" `
-AllowedPrincipals @("EXAMPLE\HelpdeskAdmins")
# 5. 예상치 못한 열람 권한 보유자가 없는지 확인(6장에서 자세히 설명)
Find-LapsADExtendedRights -Identity "OU=사내PC,DC=example,DC=co,DC=jp"
암호화 저장(DFL 2016 이상, 기본값으로 활성화)을 사용하는 경우에는 설정이 하나 더 필요합니다. 열람 권한과 복호화 권한은 별개이며, 복호화할 수 있는 것은 기본적으로 Domain Admins뿐입니다.3 헬프데스크 그룹이 실제로 비밀번호를 조회하게 하고 싶다면, 정책 쪽의 ADPasswordEncryptionPrincipal에도 같은 그룹(EXAMPLE\HelpdeskAdmins)을 지정하십시오.2 이를 잊으면, 위의 절차대로 열람 권한을 부여해도 ‘속성은 읽을 수 있는데 복호화는 할 수 없는’ 상태가 됩니다.
Update-LapsADSchema는 구 LAPS의 Update-AdmPwdADSchema와는 별개이며, 추가되는 것은 msLAPS-* 속성입니다. 구 LAPS 도입이 완료된 환경이라도 Windows LAPS용 스키마 확장은 다시 필요합니다.4 또한 GPO의 중앙 저장소(Central Store)를 사용하고 있는 경우, Windows LAPS의 템플릿은 Windows Update에서 중앙 저장소로 복사되지 않으므로 수동으로 복사합니다.2 이때 %windir%\PolicyDefinitions\LAPS.admx뿐만 아니라, 언어 리소스인 LAPS.adml(한국어 UI라면 ko-KR 하위 폴더 안)도 대응하는 언어 폴더에 함께 복사해야 합니다. ADML이 없으면 GPMC에서 LAPS 정책의 표시가 리소스 오류가 됩니다.
5.2. 정책 설정
GPO의 설정 위치는 ‘컴퓨터 구성 > 정책 > 관리 템플릿 > 시스템 > LAPS’입니다.2 최소한의 필수 설정은 저장 위치의 지정으로, BackupDirectory를 ‘Active Directory’(값 2)로 하지 않는 한 Windows LAPS는 아무것도 하지 않습니다(기본값은 ‘비활성화’).2 주요 설정과 기본값은 다음과 같습니다.
| 설정 | 기본값 | 실무에서의 사고방식 |
|---|---|---|
| BackupDirectory | 비활성화(0) | 필수. AD=2, Entra ID=12 |
| AdministratorAccountName | 미지정(내장 Administrator를 관리) | 미지정이면 내장 계정을 RID로 자동 식별. 커스텀 유지보수 계정을 관리할 때만 이름을 지정. 계정 자체는 생성되지 않으므로 별도로 만들어야 함2 |
| PasswordAgeDays | 30일 | 로테이션 주기. 1~365일(Entra 저장 시 최소 7일)2 |
| PasswordLength / PasswordComplexity | 14자 / 대소문자·숫자·기호(4) | 기본값 그대로도 실용상 충분. 복잡성 1~3은 구 LAPS 호환용으로 비권장2 |
| PasswordExpirationProtectionEnabled | 활성화 | 정책 상한을 넘는 기한 연장을 방지2 |
| ADPasswordEncryptionEnabled | 활성화(DFL 2016 이상 필요) | 암호화 저장. 복호화 가능한 대상은 기본적으로 Domain Admins뿐(6장)2 |
| PostAuthenticationResetDelay / PostAuthenticationActions | 24시간 / 리셋+사인아웃(3) | 인증 후 자동 일회용화(6장)2 |
여기서 간과하기 쉬운 것이 관리 대상 계정의 활성화/비활성화입니다. 내장 Administrator는 Windows 설치 시점에 비활성화되어 있습니다.7 Windows LAPS는 비활성화 상태로 남아 있는 계정이라도 비밀번호를 관리하지만, 계정의 활성화까지는 하지 않습니다.2 즉 기본 구성 그대로라면 ‘비밀번호는 디렉터리에 저장되어 있는데 그 계정으로는 아무도 로그인할 수 없는’ 상태가 될 수 있습니다. 복구 수단으로 사용하려면, 내장 Administrator를 활성화하여 운영한다, 이미 활성화된 커스텀 유지보수 계정을 관리 대상으로 한다, 또는 Windows 11 24H2 / Server 2025 이후라면 자동 계정 관리(AutomaticAccountManagement 계열 설정)로 활성화 상태까지 함께 관리한다 중 하나를 명시적으로 선택하십시오.2
5.3. 동작 확인과 비밀번호 조회
Windows LAPS는 유효한 정책을 1시간마다 처리합니다. 적용을 기다리지 않고 확인하고 싶을 때는 대상 단말에서 즉시 처리를 실행합니다.3
# 단말 측: 정책을 즉시 처리(검증 시 정석)
Invoke-LapsPolicyProcessing
# 단말 측: 이벤트 로그로 결과를 확인
# 10003=처리 시작 / 10004=성공 / 10005=실패 / 10018=AD 저장 성공
Get-WinEvent -LogName "Microsoft-Windows-LAPS/Operational" -MaxEvents 20
저장된 비밀번호는 권한을 가진 관리 단말에서 조회합니다.3
# AD에서 비밀번호를 조회(-AsPlainText 없이 문자열을 감춘 채 다룰 수 있음)
Get-LapsADPassword -Identity PC-0123 -AsPlainText
# 출력 예: Account, Password, PasswordUpdateTime, ExpirationTimestamp,
# Source(EncryptedPassword라면 암호화 저장), AuthorizedDecryptor 등이 반환됨
GUI를 선호한다면 ‘Active Directory 사용자 및 컴퓨터’의 컴퓨터 속성에 LAPS 탭이 추가되어 있어, 거기서도 조회할 수 있습니다.1
5.4. 즉시 로테이션
유지보수 작업으로 비밀번호를 다 사용했을 때나 침해가 의심될 때는, 다음 정기 로테이션을 기다리지 않고 즉시 돌립니다.3
# 관리 단말에서: 기한을 '지금'으로 만들어, 다음 처리 때 로테이션시킴
Set-LapsADPasswordExpirationTime -Identity PC-0123
# 대상 단말에서 즉시 처리를 실행하면, 그 자리에서 새 비밀번호로 바뀜
Invoke-LapsPolicyProcessing
# 대상 단말에서 직접 즉시 로테이션하는 경우
Reset-LapsPassword
5.5. Entra+Intune 구성일 때의 차이점
Entra ID 저장에서는 AD와 같은 스키마 확장·ACL 설정이 필요 없습니다.3 대신 Microsoft Entra 테넌트의 [디바이스 설정]에서 로컬 관리자 비밀번호 관리 활성화가 필요하며, 이를 잊으면 단말은 비밀번호를 저장할 수 없습니다.5 정책은 Intune에서 LAPS CSP를 통해 배포하고, 비밀번호는 Entra 관리 센터/Intune 관리 센터의 화면이나 Microsoft Graph를 통한 Get-LapsAADPassword로 조회합니다.5
# Entra ID 저장 비밀번호를 Graph 경유로 조회(위임 액세스의 예)
# 연결 시 필요한 범위를 명시적으로 요청
Connect-MgGraph -Scopes "Device.Read.All","DeviceLocalCredential.Read.All"
Get-LapsAADPassword -DeviceIds PC-0123 -IncludePasswords -AsPlainText
저장 성공의 이벤트 ID는 AD의 10018에 대해, Entra ID에서는 10029입니다.8
6. 운영상의 함정
도입으로 끝이 아닙니다. 현장에서 실제로 빠지기 쉬운 지점을 순서대로 열거합니다.
6.1. 열람 권한이 생각보다 넓다
비밀번호 속성은 기밀 속성(confidential)이므로 일반적인 읽기로는 보이지 않지만, 대상 OU에 확장 권리(All Extended Rights)를 가진 프린시펄은 읽을 수 있습니다. 과거 운영에서 OU에 넓은 권한을 위임했던 환경에서는, 예상치 못한 그룹이 비밀번호를 읽을 수 있는 상태가 되기 쉽습니다. 도입 시 Find-LapsADExtendedRights로 확장 권리 보유자를 파악하여, SYSTEM과 Domain Admins 이외가 나오면 위임 내용을 재검토하십시오.3
또한 암호화 저장(ADPasswordEncryptionEnabled)을 활성화하면 열람 권한과 복호화 권한을 분리할 수 있습니다. 열람 권한을 부여한 것만으로는 암호화된 비밀번호를 복호화할 수 없으며, 복호화할 수 있는 것은 기본적으로 Domain Admins뿐이고, 변경하려면 ADPasswordEncryptionPrincipal로 복호화 가능 그룹을 지정합니다.3 ‘헬프데스크는 자신이 담당하는 OU의 비밀번호만 복호화할 수 있다’ 같은 좁히기는 이 2단계 구조로 설계합니다.
6.2. ‘사용하면 일회용’이 되는 구조와 그 한계 ── PostAuthenticationActions
헬프데스크가 조회한 비밀번호가 그대로 메모지나 채팅에 남아 있다면 의미가 없습니다. Windows LAPS는 관리 대상 계정으로의 인증을 감지한 뒤 유예 시간(PostAuthenticationResetDelay, 기본값 24시간)이 지나면 자동으로 뒷정리를 실행합니다. 기본 작업은 ‘비밀번호를 리셋하고 사인아웃’입니다.2
| PostAuthenticationActions | 동작 |
|---|---|
| 1 | 비밀번호 리셋 |
| 3(기본값) | 리셋+대화형 세션 사인아웃(SMB 세션도 종료)2 |
| 5 | 리셋+단말 재시작2 |
| 11 | 리셋+사인아웃+잔존 프로세스 종료(Windows 11 24H2 / Server 2025 이후)2 |
주의해야 할 점이 2가지 있습니다. 첫째, 유예 시간을 0으로 하면 이 기능 자체가 비활성화됩니다.2 둘째, 트리거는 ‘인증’이며 ‘비밀번호 조회’가 아닙니다. 디렉터리에서 비밀번호를 꺼내기만 하고 사용하지 않은 경우, 이 자동 리셋은 동작하지 않습니다. 조회한 비밀번호는 사용 여부와 관계없이 작업 완료 시점에 Set-LapsADPasswordExpirationTime으로 실효시키는 것을 운영 절차로 고정해 두는 것이 확실합니다.
6.3. 구 LAPS와의 병행·이전
이전 시기에 가장 위험한 것은 같은 계정을 구 LAPS와 Windows LAPS 양쪽이 관리하는 상태입니다. 두 구조가 같은 계정의 비밀번호를 서로 다투는 구성은 보안 리스크이며 지원되지 않습니다.9 규칙을 정리하면 다음과 같습니다.
- Windows LAPS의 정책이 하나라도 적용된 단말에서는 Windows LAPS 자신은 구 LAPS의 정책을 항상 무시합니다(Windows LAPS 우선).9 다만 이것은 Windows LAPS 측의 해석에 관한 이야기일 뿐입니다. 구 LAPS의 CSE(그룹 정책 확장)가 설치된 채로라면, 구 CSE는 구 GPO를 독립적으로 계속 처리합니다. 구 GPO의 적용 대상에 남겨 둔 채 Windows LAPS 정책을 활성화하면, 두 구조가 같은 계정을 로테이션하는 이중 관리 상태가 됩니다.
- 구 LAPS의 GPO 설정을 Windows LAPS가 처리하게 하는 ‘에뮬레이션 모드’는 구 LAPS의 CSE가 설치되어 있지 않은 단말에서만 동작합니다. 구 LAPS 환경의 전제(구 스키마·구 ACL)를 그대로 사용하지만, 암호화나 Entra 저장 등의 신기능은 사용할 수 없습니다.9
- OS를 업데이트하기만 해도, 구 LAPS의 GPO가 남아 있는 단말이 의도치 않게 에뮬레이션 모드로 동작하기 시작할 수 있습니다. 키팅 직후에 예상치 못한 비밀번호 변경을 피하고 싶다면, 로컬 구성 키에 BackupDirectory=0을 설정해 에뮬레이션을 멈출 수 있습니다.9
이전은 ‘대상 OU를 구 LAPS의 GPO 적용에서 제외한다(또는 구 CSE를 제거한다) → Windows LAPS 정책을 적용한다 → 구 GPO·구 CSE의 잔여물을 철거한다’의 순서로, 구 관리를 제외한 뒤 신 관리를 활성화하여, 단말 단위로 어느 쪽의 관리 아래에 있는지가 항상 유일하게 정해지도록 진행합니다. 역순(먼저 Windows LAPS 정책을 적용)으로 하면, 구 CSE가 남아 있는 단말에서 위와 같은 이중 관리가 발생합니다.
6.4. 감사 ── ‘누가 언제 봤는가’를 남기기
로컬 관리자 비밀번호를 중앙에 저장하는 이상, 그 열람 이력은 감사 대상입니다. 단말 측 동작은 이벤트 로그의 전용 채널(이벤트 뷰어의 ‘응용 프로그램 및 서비스 로그 > Microsoft > Windows > LAPS > Operational’)에 모두 기록되며, 처리 시작 10003/성공 10004/실패 10005, 저장 성공 10018(AD)/10029(Entra), 적용 중인 정책 내용 10021~10023 등을 확인할 수 있습니다.8 AD 측에서는 Set-LapsADAuditing으로 대상 OU에 감사 설정을 구성하여, 비밀번호 속성으로의 액세스를 도메인 컨트롤러의 보안 로그에 기록할 수 있습니다.4 Entra ID 저장의 경우에는 Entra 측의 감사 로그·보고서 기능으로 추적합니다.1
7. 정리
- 전 PC 공통 로컬 관리자 비밀번호는 한 대의 침해가 Pass-the-Hash로 전체에 번지는 구조를 만듭니다. 단말별 개별화와 자동 로테이션이 대책이며, 그것을 담당하는 것이 Windows LAPS입니다.
- Windows LAPS는 2023년 4월 업데이트 이후의 Windows 10/11, Windows Server 2019/2022 이후에 내장되어 있어 추가 설치가 필요 없습니다. 구 LAPS(MSI 배포)는 비권장이 되었고, 신규는 Windows LAPS가 유일한 선택지입니다.
- 저장 위치는 AD나 Entra ID 중 하나로, 단말의 참가 상태로 정해집니다. 워크그룹 단말에서는 사용할 수 없으므로 수동 개별 관리나 참가 형태 재검토가 필요합니다.
- 기본값으로는 비활성화되어 있습니다. AD 구성이라면 스키마 확장·자기 갱신 권한·열람 권한의 3가지를 준비하고, GPO로 BackupDirectory를 설정해야 비로소 동작합니다.
- 일상 운영은 PowerShell이 중심입니다. 조회는 Get-LapsADPassword / Get-LapsAADPassword, 즉시 반영은 Invoke-LapsPolicyProcessing, 즉시 로테이션은 Reset-LapsPassword입니다.
- 함정은 확장 권리로 인한 예상치 못한 열람, 조회만으로는 PostAuthenticationActions가 동작하지 않는다는 점, 구 LAPS와의 이중 관리, 감사 미비입니다. 도입 시 Find-LapsADExtendedRights로 권한을 확인하고, 조회 후 실효시키는 절차를 고정해 두십시오.
관련 글
- BitLocker 실무 가이드 ── 복구 키 관리로 시작하는 드라이브 암호화
- 그림으로 이해하는 NTLM과 Kerberos ── 왜 인증은 NTLM으로 ‘떨어지는가’
- Windows의 관리자 특권이 필요해지는 것은 언제인가 - UAC, 보호 영역, 설계상의 구분 방법
- winget + PowerShell로 PC 키팅을 자동화하기 ── 절차서를 실행 가능하게 만들기
- Windows의 TPM이란 무엇인가 ── 그림으로 이해하는 ‘키를 밖으로 내보내지 않는 금고’와 측정 부팅
- Windows PC를 폐기하기 전에 해둘 것 ── 데이터 삭제·계정 해제·백업 실무 체크리스트
관련 상담 영역
합동회사 코무라소프트는 PC 키팅 자동화 스크립트 작성, Windows LAPS 도입을 포함한 단말 보안 설정 정비, 기존 공통 비밀번호 운영으로부터의 이전 계획 수립을 다루고 있습니다. ‘키팅 절차서는 있지만 특정 담당자에게 의존하고 있다’, ‘LAPS를 도입하고 싶은데 AD 권한 설정에 자신이 없다’ 같은 단계부터도 괜찮습니다.
참고 링크
-
Microsoft Learn, What is Windows LAPS?. Windows LAPS가 Entra 참가 또는 AD 참가 디바이스의 로컬 관리자 계정 비밀번호를 자동으로 관리·백업하는 Windows 기능이라는 점, 지원 OS(2023년 4월 11일 업데이트 이후의 Windows 10·Windows 11 21H2/22H2·Windows Server 2019/2022, 그리고 Windows 11 23H2 이후·Windows Server 2025 이후는 표준 탑재)에 대해, 이점의 첫 번째가 Pass-the-Hash 공격과 횡적 이동 공격으로부터의 보호라는 점, 참가 상태에 따른 저장 위치 제약(Entra 참가만→Entra ID, AD 참가만→AD, 하이브리드→둘 중 하나 선택, 양쪽 저장은 불가)에 대해, 구 LAPS가 Windows 11 23H2 이후 비권장이 되고 새 OS에서는 MSI 설치가 차단된다는 점, 구 LAPS는 2016년에 공개된 별도 제품으로 Windows LAPS는 완전히 별도의 구현이라는 점, AD 사용자 및 컴퓨터의 속성 화면·전용 이벤트 로그 채널·PowerShell 모듈을 통한 관리에 대해, 기능 자체는 무료로 AD 저장에 추가 라이선스가 필요 없고 Entra ID 저장은 Entra ID Free 이상에서 이용 가능하다는 점에 대해. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17
-
Microsoft Learn, Configure policy settings for Windows LAPS. GPO(컴퓨터 구성>정책>관리 템플릿>시스템>LAPS, 템플릿은 %windir%\PolicyDefinitions\LAPS.admx)와 LAPS CSP를 통한 정책 구성, GPO 중앙 저장소에는 LAPS.admx를 수동으로 복사해야 한다는 점, 각 설정의 기본값(BackupDirectory=비활성화, PasswordAgeDays=30일·최소 1일·Entra 저장 시 최소 7일, PasswordLength=14, PasswordComplexity=4로 1~3은 구 LAPS 호환용, PasswordExpirationProtectionEnabled=활성화, ADPasswordEncryptionEnabled=활성화로 DFL 2016 이상 필요, PostAuthenticationResetDelay=24시간으로 0으로 하면 비활성화, PostAuthenticationActions=3)에 대해, AdministratorAccountName 미지정 시 내장 계정을 RID로 자동 식별하며 커스텀 계정은 LAPS가 생성하지 않는다는 점, PostAuthenticationActions의 각 값(1=리셋, 3=리셋+사인아웃+SMB 세션 삭제, 5=리셋+재시작, 11=리셋+사인아웃+프로세스 종료는 Windows 11 24H2/Server 2025 이후)에 대해. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22
-
Microsoft Learn, Get started with Windows LAPS and Windows Server Active Directory. Update-LapsADSchema를 통한 포리스트 1회 스키마 확장, Set-LapsADComputerSelfPermission을 통한 컴퓨터 자신의 갱신 권한 부여, Set-LapsADReadPasswordPermission을 통한 열람 권한 부여(Domain Admins는 기본적으로 열람 가능), Set-LapsADResetPasswordPermission을 통한 기한 설정(즉시 실효) 권한 부여(Domain Admins는 기본적으로 보유), 열람 권한과 복호화 권한은 별개이며 ADPasswordEncryptionPrincipal(기본값은 Domain Admins)이 복호화 가능자를 정한다는 점, Find-LapsADExtendedRights를 통한 확장 권리 보유자 확인(LAPS 비밀번호 속성은 모두 기밀 속성이며 확장 권리 보유자는 읽기가 가능), BackupDirectory=2의 필수 설정, 정책이 1시간마다 처리되며 이벤트 10018로 AD 저장 성공을 확인할 수 있다는 점, Invoke-LapsPolicyProcessing을 통한 즉시 처리, Get-LapsADPassword를 통한 조회, Set-LapsADPasswordExpirationTime을 통한 기한 만료 설정과 Reset-LapsPassword를 통한 단말상의 즉시 로테이션, 암호화에는 DFL 2016 이상이 필요하며 그 미만은 평문(ACL 보호) 저장만 가능하다는 점에 대해. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13
-
Microsoft Learn, Overview of Windows LAPS PowerShell cmdlets. LAPS PowerShell 모듈의 각 명령어(Get-LapsAADPassword, Get-LapsADPassword, Invoke-LapsPolicyProcessing, Reset-LapsPassword, Set-LapsADAuditing, Set-LapsADComputerSelfPermission, Set-LapsADPasswordExpirationTime, Set-LapsADReadPasswordPermission, Set-LapsADResetPasswordPermission, Update-LapsADSchema, Find-LapsADExtendedRights, Get-LapsDiagnostics)의 역할, 구 LAPS의 AdmPwd.PS 모듈과의 대응표, Windows LAPS의 명령어가 구 LAPS와는 완전히 별도의 스키마 확장에 대해 동작한다는 점에 대해. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Get started with Windows LAPS and Microsoft Entra ID. Entra ID 저장에서는 테넌트의 디바이스 설정에서 기능을 활성화해야 한다는 점, Entra 참가 디바이스로의 정책 배포는 Intune+LAPS CSP가 권장된다는 점, Entra 저장 시 적용되는 설정의 서브셋, 비밀번호 조회는 Microsoft Graph를 통해(Get-LapsAADPassword는 Graph PowerShell의 래퍼) 또는 Entra/Intune 관리 센터의 화면에서 한다는 점, 필요한 Graph 권한(Device.Read.All과 DeviceLocalCredential.Read.All 또는 DeviceLocalCredential.ReadBasic.All), 저장 성공은 이벤트 10029로 확인할 수 있다는 점에 대해. ↩ ↩2 ↩3
-
Microsoft Learn, Windows LAPS schema extensions reference. Update-LapsADSchema가 컴퓨터 개체에 추가하는 msLAPS-* 속성(msLAPS-Password=평문 비밀번호와 부수 정보, msLAPS-PasswordExpirationTime=기한, msLAPS-EncryptedPassword=암호화 비밀번호 등)의 사양과, 비밀번호 계열 속성의 SearchFlags가 904(fCONFIDENTIAL=기밀 속성 포함)인 반면 msLAPS-PasswordExpirationTime의 SearchFlags는 0으로 기밀 표시가 없다는 점에 대해. ↩ ↩2
-
Microsoft Learn, Local accounts. 내장 Administrator 계정이 Windows 설치 시 비활성화되고, 대신 Administrators 그룹에 속하는 다른 로컬 계정이 만들어진다는 점, 비활성화된 Administrator 계정은 안전 모드에서의 예외를 제외하면 사용할 수 없다는 점, 로컬 관리자 계정의 비밀번호 재사용이 Pass-the-Hash 공격에 의한 횡적 이동 위험이 되며 무작위화의 첫 번째 수단으로 LAPS가 꼽힌다는 점에 대해. ↩
-
Microsoft Learn, Use Windows LAPS event logs. 전용 이벤트 로그 채널(이벤트 뷰어의 응용 프로그램 및 서비스 로그>Microsoft>Windows>LAPS>Operational)에 모든 동작이 기록된다는 점, 정책 처리의 시작 10003·성공 10004·실패 10005, 적용 중인 정책 내용의 기록(AD 저장 10021·Entra 저장 10022·구 LAPS 에뮬레이션 10023), 비밀번호 저장 성공 이벤트(AD=10018, Entra ID=10029)에 대해. ↩ ↩2
-
Microsoft Learn, Get started with Windows LAPS in legacy Microsoft LAPS emulation mode. 구 LAPS의 GPO 설정을 Windows LAPS가 해석해 동작하는 에뮬레이션 모드의 제약(평문 저장만 가능, 구 스키마 확장·구 GPO 정의·구 ACL 관리에는 구 LAPS의 설치가 필요, Windows LAPS 정책이 존재하는 경우 항상 그쪽이 우선되며 구 정책은 무시됨, 구 LAPS의 CSE가 설치된 단말에서는 동작하지 않음)에 대해, 동일 계정을 두 구조로 관리하는 구성은 보안 리스크이며 지원되지 않는다는 점, 로컬 구성 키에 BackupDirectory=0을 설정해 에뮬레이션 모드를 억제할 수 있다는 점에 대해. ↩ ↩2 ↩3 ↩4
관련 기사
같은 태그를 공유하는 최신 기사입니다. 더 가까운 주제로 지식을 넓힐 수 있습니다.
그룹 정책(GPO) 실무 입문 ── 구조・반영 확인・Intune과의 구분 사용
「GPO로 배포」의 의미를 모른 채 AD 환경을 만지고 있지는 않으신가요. 그룹 정책의 구조와 LSDOU 적용 순서, gpupdate・gpresult로 반영 확인, Intune과의 구분 사용, 고객사 GPO가 앱의 동작을 바꿔버리는 함정까지 실무...
Windows 보안 감사 정책과 이벤트 로그 조사 실무 ── 4625를 읽어내는 정보시스템 담당자 되기
「로그온 실패 로그를 조사해 달라」는 요청에 대응하기 위한 실무 가이드입니다. 기본 감사 정책과 고급 감사 정책의 관계, 최소한 활성화해야 할 하위 범주, 이벤트 ID 4624/4625/4688을 읽는 법, Security 로그의 용량 설계, G...
Windows 방화벽과 업무 앱 ── 인바운드 규칙은 인스톨러에서 등록한다
'개발 PC에서는 되는데 고객사에서는 통신이 안 된다'의 단골 원인이 바로 Windows 방화벽입니다. 인바운드 기본 차단과 프로필, 알림 대화상자에 운영을 맡기면 안 되는 이유, 인스톨러에서의 인바운드 규칙 등록과 원인 분리 절차를 설명합니다.
SMB 서명과 LDAP 채널 바인딩 ── NTLM 대책의 '나머지 절반'을 실무에서 마무리하기
NTLM을 중단하기까지의 기간 동안 릴레이 공격의 피해를 억제하는 방어책이 SMB 서명과 LDAP 서명·채널 바인딩입니다. OS별 기본값, 감사 이벤트를 읽는 법, 강제 적용으로 나아가는 절차, 업무 앱과 기기를 고치는 방법까지 실무 관점에서 정...
NTLM 폐지로 업무 앱이 멈추는가 ── 감사 로그를 얻는 방법과 의존을 없애는 순서
NTLM 폐지에 대비해 자사 Windows 환경과 업무 앱이 어디에서 NTLM에 의존하고 있는지 찾아내는 절차를 정리합니다. 감사 정책, NTLM/Operational 로그의 이벤트 8001~8004 추적, NTLM으로 떨어지는 전형적인 패턴과 ...
관련 토픽
이 기사와 가까운 토픽 페이지입니다. 기사를 출발점 삼아 관련 서비스와 다른 기사로 이어집니다.
Windows 기술 토픽
Windows 개발, 장애 조사, 기존 자산 활용에 관한 KomuraSoft LLC 기사를 모은 토픽 허브입니다.
이 주제와 연결되는 서비스
이 기사는 다음 서비스 페이지로 이어집니다. 가까운 입구부터 확인해 주세요.
Windows 앱 개발
상주 처리, 장비 연동, 운영 로그, 유지 보수 가능한 구조가 필요한 Windows 데스크톱 애플리케이션을 지원합니다.
자주 묻는 질문
이 기사 주제에 대해 상담 시 자주 나오는 질문을 모았습니다.
- 구 LAPS(MSI 배포 방식의 Microsoft LAPS)를 이미 운영하고 있습니다. 뭔가 조치가 필요한가요?
- 이전 계획을 시작해야 합니다. 구 LAPS는 Windows 11 23H2 이후 비권장으로 지정되었고, 새 OS에서는 MSI 설치 자체가 차단됩니다. 현재 OS(2023년 4월 업데이트가 적용된 Windows 10/11, Windows Server 2019/2022 이후)에는 Windows LAPS가 내장되어 있으므로 추가 설치 없이 이전할 수 있습니다. 이전 기간 중에는 Windows LAPS의 '구 LAPS 에뮬레이션 모드'로 기존 정책을 계속 처리하게 할 수도 있지만, 구 LAPS의 CSE가 설치된 단말에서는 동작하지 않는다는 점, 암호화나 Entra ID 저장 같은 신기능을 쓸 수 없다는 제약이 있습니다. 같은 계정을 신구 양쪽에서 관리하는 구성은 지원되지 않으므로, 단말 단위로 어느 쪽이 관리하는지를 명확히 하고 전환하십시오.
- 가져온 비밀번호를 사용한 뒤 그대로 방치해도 괜찮은가요?
- 기본 구성이라면 자동으로 뒷정리가 되지만, 즉시는 아닙니다. Windows LAPS에는 관리 대상 계정으로의 인증(로그온)을 감지한 뒤 유예 시간이 지나면 처리를 실행하는 PostAuthenticationActions가 있으며, 기본값으로는 인증 24시간 후에 비밀번호 리셋과 사인아웃이 실행됩니다. 뒤집어 말하면 그 유예 시간이 지날 때까지는 같은 비밀번호가 유효하게 사용 가능한 상태이므로, '사용한 순간 무효화'되는 것은 아닙니다. 또한 이 구조가 동작하는 것은 '비밀번호로 인증했을 때'이며 '디렉터리에서 조회만 한 경우'에는 동작하지 않습니다. 확실한 방법은 작업 완료 시점에 명시적으로 실효시키는 운영입니다. AD 저장이라면 Set-LapsADPasswordExpirationTime으로 기한을 만료시킵니다(이 명령어는 AD 저장 전용입니다). Entra ID 저장의 경우에는 대상 단말에서 Reset-LapsPassword를 실행하거나 Intune의 로컬 관리자 비밀번호 로테이션 작업을 사용합니다.
- 도메인에도 Entra ID에도 참가하지 않은 워크그룹 운영 PC에서도 사용할 수 있나요?
- 사용할 수 없습니다. Windows LAPS는 비밀번호 저장 위치로 Active Directory 또는 Microsoft Entra ID가 필요하며, 둘 중 어디에도 참가하지 않은 단말에는 백업할 곳이 없기 때문입니다. 워크그룹 운영을 계속한다면, 단말마다 서로 다른 로컬 관리자 비밀번호를 설정하고 안전한 장소(비밀번호 관리자 등)에서 대장으로 관리하는 수동 운영이 현실적인 대안입니다. 대수가 늘어난다면 LAPS를 포함한 중앙 관리의 이점을 얻기 위해 Entra ID 참가(+Intune)나 도메인 참가로의 전환을 검토할 시기입니다.
- 저장된 비밀번호는 누가 열람할 수 있나요?
- Active Directory 저장의 경우 기본적으로 열람할 수 있는 것은 Domain Admins의 멤버이며, 다른 사용자나 그룹에는 Set-LapsADReadPasswordPermission으로 명시적으로 권한을 부여합니다. 다만 비밀번호 속성은 기밀 속성(confidential)이지만, OU에 대해 확장 권리(All Extended Rights)를 가진 프린시펄은 읽을 수 있어 버리므로, Find-LapsADExtendedRights로 예상치 못한 보유자가 없는지를 도입 시 반드시 확인해야 합니다. 또한 ADPasswordEncryptionEnabled로 암호화를 활성화하면(도메인 기능 레벨 2016 이상 필요) 복호화할 수 있는 대상을 ADPasswordEncryptionPrincipal로 지정한 그룹으로 좁힐 수 있습니다. Entra ID 저장의 경우에는 기본적으로 전역 관리자 등 특권 역할이 열람할 수 있고, Microsoft Graph를 통한 조회에는 DeviceLocalCredential.Read.All 권한이 필요합니다.
- Windows LAPS를 이용하는 데 추가 라이선스가 필요한가요?
- 기능 자체는 무료입니다. Windows LAPS는 지원되는 Windows에 내장된 표준 기능으로, Active Directory에 비밀번호를 저장하는 데 추가 라이선스 요건은 없습니다. Microsoft Entra ID로의 저장도 Microsoft Entra ID Free 이상의 라이선스로 이용할 수 있습니다. Intune으로 정책을 배포하는 경우의 Intune 라이선스 등, 주변의 Entra/Intune 관련 기능에는 별도의 라이선스 요건이 있을 수 있으므로 그 부분만 확인하십시오.