Windows LAPS 실무 가이드 ── 전 PC 공통 로컬 관리자 비밀번호를 그만두기
· 업데이트: · Go Komura · Windows, 보안, LAPS, 비밀번호 관리, Active Directory, Intune, PowerShell, 정보시스템
수정 이력(3건, 최종 수정 2026년 09월 03일)
이 글에 적용한 변경 사항의 기록입니다. 보관해 둔 수정 전 버전은 DOI가 부여된 고정 URL에서 읽을 수 있습니다.
- Codex P2에 따라 본문에 남은 일본어 잔여 표현을 한국어로 고쳤습니다. 본문의 기술적인 주장은 바꾸지 않았습니다.
- Codex 리뷰에 따라 상담·문의 링크에 /ko/ 로케일 접두를 붙였습니다. 본문의 기술적인 주장은 바꾸지 않았습니다.
- 한국어 전면 재작성에 맞춰 본문 표현을 바로잡았습니다. 기술적인 주장은 일본어판과 같습니다.
- 최초 공개
이 글을 인용하기(DOI(등록된 아카이브): 10.5281/zenodo.22175653)
아래 DOI는 이전에 등록된 아카이브를 가리키며 현재 본문과 다를 수 있습니다. 현재 본문을 참조할 때는 이 페이지의 URL을 사용하세요.
Go Komura (2026). 「Windows LAPS 실무 가이드 ── 전 PC 공통 로컬 관리자 비밀번호를 그만두기」. 합동회사 코무라소프트. https://comcomponent.com/ko/blog/windows-laps-guide/
- DOI(등록된 아카이브)
- 10.5281/zenodo.22175653
- DOI(마지막 등록 버전)
- 10.5281/zenodo.22175654
키팅 현장에는 오래 이어져 온 「정석처럼 굳은 편의」가 있습니다. 마스터 이미지에 공통 로컬 관리자 비밀번호를 심고 전대에 배포한다 ── 유지보수에 들어갈 때 그 비밀번호로 로그온하면 되므로, 절차만 보면 합리적으로 보입니다. 그러나 이 구성은 지금, 공격자에게 「마스터키를 양산하는」 지점으로 가장 먼저 노려집니다. 한 대의 침해가 곧 전대의 침해로 바뀌기 때문입니다.
이 글에서는 중소기업 정보시스템 담당자와 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 저장에는 사전 준비가 세 가지 필요합니다. 스키마 확장(
Update-LapsADSchema), 컴퓨터 자신의 쓰기 권한(Set-LapsADComputerSelfPermission), 열람 권한 설계(Set-LapsADReadPasswordPermission)입니다.3 - 비밀번호 확인은
Get-LapsADPassword/Get-LapsAADPassword, 즉시 적용은Invoke-LapsPolicyProcessing, 디바이스에서 즉시 로테이션은Reset-LapsPassword입니다.4 - 쓰인 비밀번호는 자동으로 일회용이 됩니다. 관리 대상 계정으로 인증한 뒤, 기본값에서는 24시간 후에 재설정+로그아웃(PostAuthenticationActions)이 실행됩니다.2
그림의 실선은 항상 성립하는 관계, 점선은 조건이 붙는 관계입니다(성립 조건은 상세 페이지의 관계별 설명에 적혀 있습니다). 관계 전체 목록(총 31건, 근거와 확신도 포함)과 주요 개념의 정의는 지식 맵 상세 페이지에 정리되어 있습니다(일본어). 데이터: JSON-LD / Turtle
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. 사전 준비(한 번만 하는 작업)
AD 저장에서는 정책을 배포하기 전에 포리스트 쪽 준비를 마칩니다.3
# 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라면 ja-JP 하위 폴더 안)도 해당 언어 폴더로 함께 복사해야 합니다. 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를 가진 principal은 읽을 수 있습니다. 과거 운영에서 OU에 넓은 권한을 위임한 환경에서는, 예상 밖의 그룹이 비밀번호를 읽을 수 있는 상태가 되기 쉽습니다. 도입 시 Find-LapsADExtendedRights로 확장된 권리 보유자를 가려내고, SYSTEM과 Domain Admins 이외가 나오면 위임 내용을 다시 봐야 합니다.3
여기에 암호화 저장(ADPasswordEncryptionEnabled)을 켜면 열람 권한과 복호화 권한을 나눌 수 있습니다. 열람 권한만 줘서는 암호화된 비밀번호를 복호화할 수 없고, 복호화할 수 있는 대상은 기본으로 Domain Admins뿐이며, 바꾸려면 ADPasswordEncryptionPrincipal로 복호화 가능 그룹을 지정합니다.3 「헬프데스크는 담당 OU의 비밀번호만 복호화할 수 있다」와 같은 좁히기는 이 두 단계로 설계합니다.
6.2. 「쓰면 일회용」의 구조와 한계 ── PostAuthenticationActions
헬프데스크가 가져온 비밀번호가 메모지나 채팅에 그대로 남으면 의미가 없습니다. Windows LAPS는 관리 대상 계정으로의 인증을 감지한 뒤 유예 시간(PostAuthenticationResetDelay, 기본 24시간)이 지나면 자동으로 뒷정리를 실행합니다. 기본 동작은 「비밀번호를 재설정하고 로그아웃」입니다.2
| PostAuthenticationActions | 동작 |
|---|---|
| 1 | 비밀번호를 재설정 |
| 3(기본값) | 재설정+대화형 세션 로그아웃(SMB 세션도 끊음)2 |
| 5 | 재설정+디바이스 다시 시작2 |
| 11 | 재설정+로그아웃+남은 프로세스 종료(Windows 11 24H2 / Server 2025 이후)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 구성이면 스키마 확장·자기 업데이트 권한·열람 권한 세 가지를 준비하고, 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에 의한 포리스트 한 번의 스키마 확장, 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 모듈의 각 cmdlet(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 cmdlet이 구 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가 앱 동작을...
SMB 서명과 LDAP 채널 바인딩 ── NTLM 대책의 「남은 절반」을 실무에서 마무리하기
NTLM을 멈추기까지의 기간 동안, 릴레이 공격의 피해를 줄이는 방어가 SMB 서명과 LDAP 서명·채널 바인딩입니다. OS별 기본값, 감사 이벤트 읽는 법, 강제 적용으로 나아가는 절차, 업무 앱과 장비를 고치는 방법까지 실무 관점으로 정리합니다.
NTLM 사용 중단으로 업무 앱이 멈출까 ── 감사 로그를 모으는 방법과, 의존을 없애는 순서
NTLM 사용 중단에 대비해, 자사 Windows 환경과 업무 앱이 어디에서 NTLM에 의존하는지 파악하는 절차를 정리합니다. 감사 정책, NTLM/Operational 로그의 이벤트 8001~8004를 추적하는 방법, NTLM으로 fallbac...
Windows 보안 감사 정책과 이벤트 로그 조사 실무 ── 4625를 읽는 정보시스템 담당자가 되기
「로그온 실패 로그를 조사해 달라」는 요청에 답하기 위한 실무 가이드입니다. 기본 감사 정책과 고급 감사 정책의 관계, 최소한 활성화해야 할 하위 범주, 이벤트 ID 4624/4625/4688을 읽는 법, Security 로그의 용량 설계, Ge...
Windows 방화벽과 업무 앱 ── 인바운드 규칙은 인스톨러에서 등록한다
'개발 PC에서는 되는데 고객사에서는 통신이 안 된다'의 단골 원인이 바로 Windows 방화벽입니다. 인바운드 기본 차단과 프로필, 알림 대화상자에 운영을 맡기면 안 되는 이유, 인스톨러에서의 인바운드 규칙 등록과 원인 분리 절차를 설명합니다.
관련 토픽
이 기사와 가까운 토픽 페이지입니다. 기사를 출발점 삼아 관련 서비스와 다른 기사로 이어집니다.
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으로 기한을 만료시킵니다(이 cmdlet은 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를 가진 principal은 읽을 수 있습니다. 따라서 도입 시 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 관련 기능에는 별도 라이선스 요건이 있을 수 있으므로, 그 부분만 확인하면 됩니다.