온-프레미스 사용자 계정은 Windows에서 실행되는 서비스를 보호하는 데 도움이 되는 기존의 접근 방식이었습니다. 현재 gMSA(그룹 관리 서비스 계정) 및 SMSA(독립 실행형 관리 서비스 계정)가 서비스에서 지원되지 않는 경우 이러한 계정을 사용합니다. 사용할 계정 유형에 대한 자세한 내용은 온-프레미스 서비스 계정 보안을 참조하세요.
관리 ID 또는 서비스 주체와 같은 Azure 서비스 계정으로 서비스를 이동하는 것을 조사할 수 있습니다.
더 알아보세요:
온-프레미스 사용자 계정을 만들어 계정이 로컬 및 네트워크 리소스에 액세스하는 데 사용하는 서비스 및 권한에 대한 보안을 제공할 수 있습니다. 온-프레미스 사용자 계정에는 다른 AD(Active Directory) 사용자 계정과 같은 수동 암호 관리가 필요합니다. 서비스 및 도메인 관리자는 계정을 안전하게 유지하기 위해 강력한 암호 관리 프로세스를 유지해야 합니다.
서비스 계정으로 사용자 계정을 만들 때 하나의 서비스에 사용합니다. 서비스 계정 및 관련 서비스를 명확히 하는 명명 규칙을 사용합니다.
이점 및 과제
온-프레미스 사용자 계정은 다양한 계정 유형입니다. 서비스 계정으로 사용되는 사용자 계정은 사용자 계정을 제어하는 정책에 의해 제어됩니다. MSA를 사용할 수 없는 경우 사용합니다. 컴퓨터 계정이 더 나은 옵션인지 여부를 평가합니다.
온-프레미스 사용자 계정의 과제는 다음 표에 요약되어 있습니다.
| 도전 | 완화 방법 |
|---|---|
| 암호 관리는 수동이며 보안 및 서비스 가동 중지 시간이 약해집니다. | - 일반 암호 복잡성을 확인하고 변경 내용이 강력한 암호를 유지하는 프로세스에 의해 제어되는지 확인 - 서비스 가동 중지 시간을 줄이는 데 도움이 되는 서비스 암호를 사용하여 암호 변경 내용 조정 |
| 서비스 계정인 온-프레미스 사용자 계정을 식별하기 어려울 수 있습니다. | - 사용자 환경에 배포된 서비스 계정 문서화 - 액세스할 수 있는 계정 이름 및 리소스 추적 - 서비스 계정으로 사용되는 사용자 계정에 접두사 svc를 추가하는 것이 좋습니다. |
서비스 계정으로 사용되는 온-프레미스 사용자 계정 찾기
온-프레미스 사용자 계정은 다른 AD 사용자 계정과 같습니다. 사용자 계정 특성이 서비스 계정으로 식별되지 않으므로 계정을 찾기 어려울 수 있습니다. 서비스 계정으로 사용하는 사용자 계정에 대한 명명 규칙을 만드는 것이 좋습니다. 예를 들어 서비스 이름 svc-HRDataConnector에 접두사 svc를 추가합니다.
다음 조건 중 일부를 사용하여 서비스 계정을 찾습니다. 그러나 이 방법은 계정을 찾을 수 없습니다.
- 위임에 대해 신뢰할 수 있음
- 서비스 주체의 이름
- 만료되지 않는 암호 사용
서비스에 사용되는 온-프레미스 사용자 계정을 찾으려면 다음 PowerShell 명령을 실행합니다.
위임에 대해 신뢰할 수 있는 계정을 찾으려면 다음을 수행합니다.
Get-ADObject -Filter {(msDS-AllowedToDelegateTo -like '*') -or (UserAccountControl -band 0x0080000) -or (UserAccountControl -band 0x1000000)} -prop samAccountName,msDS-AllowedToDelegateTo,servicePrincipalName,userAccountControl | select DistinguishedName,ObjectClass,samAccountName,servicePrincipalName, @{name='DelegationStatus';expression={if($_.UserAccountControl -band 0x80000){'AllServices'}else{'SpecificServices'}}}, @{name='AllowedProtocols';expression={if($_.UserAccountControl -band 0x1000000){'Any'}else{'Kerberos'}}}, @{name='DestinationServices';expression={$_.'msDS-AllowedToDelegateTo'}}
서비스 주체 이름이 있는 계정을 찾으려면 다음을 수행합니다.
Get-ADUser -Filter * -Properties servicePrincipalName | where {$_.servicePrincipalName -ne $null}
만료되지 않는 암호가 있는 계정을 찾으려면 다음을 수행합니다.
Get-ADUser -Filter * -Properties PasswordNeverExpires | where {$_.PasswordNeverExpires -eq $true}
중요한 리소스에 대한 액세스를 감사하고 SIEM(보안 정보 및 이벤트 관리) 시스템에 감사 로그를 보관할 수 있습니다. Azure Log Analytics 또는 Microsoft Sentinel을 사용하여 서비스 계정을 검색하고 분석할 수 있습니다.
온-프레미스 사용자 계정 보안 평가
다음 조건을 사용하여 서비스 계정으로 사용되는 온-프레미스 사용자 계정의 보안을 평가합니다.
- 암호 관리 정책
- 권한 있는 그룹의 멤버 자격이 있는 계정
- 중요한 리소스에 대한 읽기/쓰기 권한
잠재적인 보안 문제 완화
잠재적인 온-프레미스 사용자 계정 보안 문제 및 완화 방법은 다음 표를 참조하세요.
| 보안 문제 | 완화 방법 |
|---|---|
| 암호 관리 | - 암호 복잡성 및 암호 변경이 정기적인 업데이트 및 강력한 암호 요구 사항에 따라 제어되는지 확인 - 암호 업데이트를 사용하여 암호 변경 내용을 조정하여 서비스 가동 중지 시간을 최소화합니다. |
| 계정이 권한 있는 그룹의 구성원입니다. | - 그룹 멤버 자격 검토 - 권한 있는 그룹에서 계정 제거 - 서비스 실행 권한 및 권한 부여(서비스 공급업체와 상의) - 예를 들어 로컬 또는 대화형 로그인 거부 |
| 계정에 중요한 리소스에 대한 읽기/쓰기 권한이 있습니다. | - 중요한 리소스 에 대한 액세스 감사 - SIEM에 대한 감사 로그 보관: Azure Log Analytics 또는 Microsoft Sentinel - 원치 않는 액세스 수준을 감지하는 경우 리소스 권한 수정 |
보안 계정 유형
Microsoft는 온-프레미스 사용자 계정을 서비스 계정으로 사용하지 않는 것이 좋습니다. 이 계정 유형을 사용하는 서비스의 경우 gMSA 또는 sMSA를 사용하도록 구성할 수 있는지 평가합니다. 또한 더 안전한 계정 유형을 사용할 수 있도록 서비스를 Azure로 이동할 수 있는지 평가합니다.
다음 단계
서비스 계정 보안에 대해 자세히 알아보려면 다음을 수행합니다.