Windows Server 진단 - 레지스트리 SAM 권한 보호
진단 시나리오
대상 시스템: Windows Server 2019
목표: SAM(Security Account Manager) 레지스트리의 접근 권한을 확인하고, 최소 권한 원칙에 따른 설정을 검증합니다.
SAM 레지스트리 경로
HKEY_LOCAL_MACHINE\SAM
HKEY_LOCAL_MACHINE\SAM\SAM
HKEY_LOCAL_MACHINE\SAM\Domains
HKEY_LOCAL_MACHINE\SAM\Domains\Account\Users
점검 결과 - 파일 권한 (NTFS ACL)
| 경로 |
현재 권한 |
상태 |
평가 |
| C:\Windows\System32\config\SAM |
Everyone: Full Control |
위험 |
높음 |
| HKLM\SAM |
BUILTIN\Users: Read |
위험 |
높음 |
| HKLM\SAM\SAM |
SYSTEM: Full Control |
안전 |
양호 |
| C:\Windows\System32\config\SECURITY |
SYSTEM: Full Control |
안전 |
양호 |
레지스트리 권한 확인 명령
# PowerShell에서 레지스트리 권한 확인
$key = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey("SAM")
$acl = $key.GetAccessControl([System.Security.AccessControl.AccessControlSections]::All)
$acl.Access | Format-Table IdentityReference, RegistryRights, AccessControlType
# 현재 권한 설정 확인
reg query "HKEY_LOCAL_MACHINE\SAM" /s
# 관리자 권한 필요
# reg add 명령으로 권한 수정 (높은 위험도)
가상 진단 출력
IdentityReference RegistryRights AccessControlType
----------------- ---------------- -----------------
NT AUTHORITY\SYSTEM FullControl Allow
BUILTIN\Administrators FullControl Allow
BUILTIN\Users ReadKey Allow [위험!]
BUILTIN\Everyone ReadKey Allow [위험!]
조치 가이드
- SAM 파일 권한 최소화: SAM은 모든 로컬 사용자 계정의 암호 해시를 저장합니다.
- SAM 파일의 권한을 SYSTEM과 관리자만 접근 가능하도록 설정
- Everyone, Authenticated Users 권한 제거
- icacls C:\Windows\System32\config\SAM /reset
- 레지스트리 권한 강화:
- HKLM\SAM 및 HKLM\SECURITY는 SYSTEM만 접근 허용
- Users 그룹의 READ 권한도 제거 권장
- 정기적 감사: 월 1회 이상 SAM 파일 권한 감시
- 백업 보안: SAM 백업 파일도 동일한 권한 설정 적용
- 감시 도구: Windows 감사 정책을 통해 SAM 접근 시도 모니터링