온-프레미스 Microsoft Entra 암호 보호 환경에 대한 로그 모니터링 및 검토
Microsoft Entra 암호 보호의 배포 후 모니터링 및 보고는 필수 작업입니다. 이 문서에서는 각 서비스에서 정보를 기록하는 위치 및 Microsoft Entra 암호 보호 사용에 대한 보고 방법을 포함하여 다양한 모니터링 기술을 이해할 수 있도록 자세히 설명합니다.
모니터링과 보고는 이벤트 로그 메시지를 사용하거나 PowerShell cmdlet을 실행하여 수행됩니다. DC 에이전트와 프록시 서비스는 둘 다 이벤트 로그 메시지를 로그합니다. 아래 설명된 모든 PowerShell cmdlet은 프록시 서버에서만 사용할 수 있습니다(AzureADPasswordProtection PowerShell 모듈 참조). DC 에이전트 소프트웨어는 PowerShell 모듈을 설치하지 않습니다.
DC 에이전트 이벤트 로깅
각 도메인 컨트롤러에서 DC 에이전트 서비스 소프트웨어는 각 개별 암호 유효성 검사 작업의 결과(및 기타 상태)를 로컬 이벤트 로그에 씁니다.
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Admin
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Trace
DC 에이전트 관리자 로그는 소프트웨어 작동 방식의 주요 정보 소스입니다.
추적 로그는 기본적으로 꺼져 있습니다.
다양한 DC 에이전트 구성 요소가 기록하는 이벤트는 다음 범위에 속합니다.
구성 요소 | 이벤트 ID 범위 |
---|---|
DC 에이전트 암호 필터 dll | 10000-19999 |
DC 에이전트 서비스 호스팅 프로세스 | 20000-29999 |
DC 에이전트 서비스 정책 유효성 검사 논리 | 30000-39999 |
DC 에이전트 관리자 이벤트 로그
암호 유효성 검사 결과 이벤트
각 도메인 컨트롤러에서 DC 에이전트 서비스 소프트웨어는 각 개별 암호 유효성 검사의 결과를 DC 에이전트 관리자 이벤트 로그에 씁니다.
성공적인 암호 유효성 검사 작업의 경우 일반적으로 DC 에이전트 암호 필터 dll에서 기록된 이벤트가 있습니다. 실패한 암호 유효성 검사 작업의 경우 일반적으로 기록된 두 개의 이벤트 즉, DC 에이전트 서비스 이벤트 및 DC 에이전트 암호 필터 dll 이벤트가 있습니다.
이러한 상황을 캡처하려면 불연속 이벤트가 다음 요인을 기준으로 기록됩니다.
- 기존 암호가 설정되거나 변경됐는지 여부.
- 기존 암호의 유효성 검사 통과 또는 실패 여부.
- Microsoft 전역 정책, 조직 정책 또는 결합된 정책으로 인한 유효성 검사의 실패 여부.
- 감사 전용 모드가 현재 암호 정책에 대해 켜져 있는지 또는 꺼져 있는지 여부.
키 암호-유효성 검사-관련 이벤트는 다음과 같습니다.
이벤트 | 암호 변경 | 암호 설정 |
---|---|---|
통과 | 10014 | 10015 |
실패(고객 암호 정책으로 인해) | 10016, 30002 | 10017, 30003 |
실패(Microsoft 암호 정책으로 인해) | 10016, 30004 | 10017, 30005 |
실패(결합된 Microsoft 암호 정책 및 고객 암호 정책으로 인해) | 10016, 30026 | 10017, 30027 |
실패(사용자 이름으로 인해) | 10016, 30021 | 10017, 30022 |
감사 전용 합격(고객 암호 정책 실패) | 10024, 30008 | 10025, 30007 |
감사 전용 합격(Microsoft 암호 정책 실패) | 10024, 30010 | 10025, 30009 |
감사 전용 성공(결합된 Microsoft 암호 정책 및 고객 암호 정책 실패) | 10024, 30028 | 10025, 30029 |
감사 전용 패스(사용자 이름으로 인해 실패함) | 10016, 30024 | 10017, 30023 |
위 표에서 “결합된 정책”을 참조하는 사례는 Microsoft 금지 암호 목록과 고객 금지 암호 목록의 토큰을 하나 이상 포함하는 사용자 암호가 발견된 경우를 가리킵니다.
위 표에서 “사용자 이름”을 참조하는 사례는 사용자의 암호가 사용자의 식별 이름 중 하나 및/또는 사용자의 계정 이름을 포함하는 것으로 확인된 상황을 나타냅니다. 한 시나리오로 인해 사용자 암호는 정책이 적용으로 설정되면 거부되고 정책이 감사 모드에 있으면 통과합니다.
이벤트 쌍이 함께 기록된 경우 동일한 CorrelationId를 사용하여 두 이벤트가 명시적으로 연결됩니다.
PowerShell을 통한 암호 유효성 검사 요약 보고
Get-AzureADPasswordProtectionSummaryReport
cmdlet을 사용하여 암호 유효성 검사 활동의 요약 보기를 생성할 수 있습니다. 이 cmdlet의 출력 예는 다음과 같습니다.
Get-AzureADPasswordProtectionSummaryReport -DomainController bplrootdc2
DomainController : bplrootdc2
PasswordChangesValidated : 6677
PasswordSetsValidated : 9
PasswordChangesRejected : 10868
PasswordSetsRejected : 34
PasswordChangeAuditOnlyFailures : 213
PasswordSetAuditOnlyFailures : 3
PasswordChangeErrors : 0
PasswordSetErrors : 1
–Forest, -Domain 또는 –DomainController 매개 변수 중 하나를 사용하여 cmdlet의 보고 범위에 영향을 줄 수 있습니다. 매개 변수를 지정하지 않는 것은 –Forest를 의미합니다.
참고 항목
DC 에이전트를 하나의 DC에만 설치하는 경우 Get-AzureADPasswordProtectionSummaryReport는 해당 DC에서만 이벤트를 읽습니다. 여러 DC에서 이벤트를 얻으려면 각 DC에 DC 에이전트를 설치해야 합니다.
Get-AzureADPasswordProtectionSummaryReport
cmdlet은 DC 에이전트 관리자 이벤트 로그를 쿼리한 다음, 표시된 각 결과 범주에 해당하는 총 이벤트 수를 계산하는 방식으로 작동합니다. 다음 표에는 각 결과와 해당 이벤트 ID 간 매핑이 나와 있습니다.
Get-AzureADPasswordProtectionSummaryReport 속성 | 해당 이벤트 ID |
---|---|
PasswordChangesValidated | 10014 |
PasswordSetsValidated | 10015 |
PasswordChangesRejected | 10016 |
PasswordSetsRejected | 10017 |
PasswordChangeAuditOnlyFailures | 10024 |
PasswordSetAuditOnlyFailures | 10025 |
PasswordChangeErrors | 10012 |
PasswordSetErrors | 10013 |
Get-AzureADPasswordProtectionSummaryReport
cmdlet은 PowerShell 스크립트 양식으로 제공되며, 필요한 경우 다음 위치에서 직접 참조될 수 있습니다.
%ProgramFiles%\WindowsPowerShell\Modules\AzureADPasswordProtection\Get-AzureADPasswordProtectionSummaryReport.ps1
참고 항목
이 cmdlet은 각 도메인 컨트롤러에 대한 PowerShell 세션을 열어 작동합니다. 성공하기 위해 각 도메인 컨트롤러에 PowerShell 원격 세션 지원을 설정해야 하고, 클라이언트에 충분한 권한이 있어야 합니다. PowerShell 원격 세션 요구 사항에 대한 자세한 내용은 PowerShell 창에서 'Get-help about_Remote_Troubleshooting'을 실행합니다.
참고 항목
이 cmdlet은 각 DC 에이전트 서비스의 관리자 이벤트 로그를 원격으로 쿼리하는 방식으로 작동합니다. 이벤트 로그에 대량의 이벤트가 포함되어 있으면 cmdlet이 완료될 때까지 오래 걸릴 수 있습니다. 또한 대량 데이터 집합의 대량 네트워크 쿼리는 도메인 컨트롤러 성능에 영향을 줄 수 있습니다. 따라서 이 cmdlet은 프로덕션 환경에서 신중하게 사용해야 합니다.
샘플 이벤트 로그 메시지
이벤트 ID 10014(암호 변경 성공)
The changed password for the specified user was validated as compliant with the current Azure password policy.
UserName: SomeUser
FullName: Some User
이벤트 ID 10017(암호 변경 실패):
The reset password for the specified user was rejected because it did not comply with the current Azure password policy. Please see the correlated event log message for more details.
UserName: SomeUser
FullName: Some User
이벤트 ID 30003(암호 변경 실패):
The reset password for the specified user was rejected because it matched at least one of the tokens present in the per-tenant banned password list of the current Azure password policy.
UserName: SomeUser
FullName: Some User
이벤트 ID 10024(감사 전용 모드의 정책으로 인해 암호가 수락됨)
The changed password for the specified user would normally have been rejected because it did not comply with the current Azure password policy. The current Azure password policy is con-figured for audit-only mode so the password was accepted. Please see the correlated event log message for more details.
UserName: SomeUser
FullName: Some User
이벤트 ID 30008(감사 전용 모드의 정책으로 인해 암호가 수락됨)
The changed password for the specified user would normally have been rejected because it matches at least one of the tokens present in the per-tenant banned password list of the current Azure password policy. The current Azure password policy is configured for audit-only mode so the password was accepted.
UserName: SomeUser
FullName: Some User
이벤트 ID 30001(사용할 수 있는 정책이 없어 암호가 수락됨)
The password for the specified user was accepted because an Azure password policy is not available yet
UserName: SomeUser
FullName: Some User
This condition may be caused by one or more of the following reasons:%n
1. The forest has not yet been registered with Azure.
Resolution steps: an administrator must register the forest using the Register-AzureADPasswordProtectionForest cmdlet.
2. An Azure AD password protection Proxy is not yet available on at least one machine in the current forest.
Resolution steps: an administrator must install and register a proxy using the Register-AzureADPasswordProtectionProxy cmdlet.
3. This DC does not have network connectivity to any Azure AD password protection Proxy instances.
Resolution steps: ensure network connectivity exists to at least one Azure AD password protection Proxy instance.
4. This DC does not have connectivity to other domain controllers in the domain.
Resolution steps: ensure network connectivity exists to the domain.
이벤트 ID 30006(적용되는 새 정책)
The service is now enforcing the following Azure password policy.
Enabled: 1
AuditOnly: 1
Global policy date: 2018-05-15T00:00:00.000000000Z
Tenant policy date: 2018-06-10T20:15:24.432457600Z
Enforce tenant policy: 1
이벤트 ID 30019(Microsoft Entra 암호 보호 사용 안 함)
The most recently obtained Azure password policy was configured to be disabled. All passwords submitted for validation from this point on will automatically be considered compliant with no processing performed.
No further events will be logged until the policy is changed.%n
DC 에이전트 작업 로그
DC 에이전트 서비스는 또한 다음 로그에 운영 관련 이벤트를 기록합니다.
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational
DC 에이전트 추적 로그
DC 에이전트 서비스는 다음 로그에 자세한 디버그 수준 추적 이벤트를 기록할 수도 있습니다.
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\DCAgent\Trace
추적 로그는 기본적으로 사용하지 않도록 설정되어 있습니다.
Warning
사용하도록 설정되면 추적 로그는 많은 양의 이벤트를 받고 도메인 컨트롤러 성능에 영향을 줄 수 있습니다. 따라서 이 향상된 로그는 문제가 더 세부적인 조사를 필요로 할 때 및 최소한의 시간 동안만 사용하도록 설정돼야 합니다.
DC 에이전트 텍스트 로깅
다음 레지스트리 값을 설정하여 텍스트 로그에 작성하도록 DC 에이전트 서비스를 구성할 수 있습니다.
HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionDCAgent\Parameters!EnableTextLogging = 1 (REG_DWORD value)
텍스트 로그는 기본적으로 사용하지 않도록 설정되어 있습니다. 이 값에 대한 변경 내용을 적용하려면 DC 에이전트 서비스를 다시 시작해야 합니다. 사용하도록 설정하면 DC 에이전트 서비스는 아래에 있는 로그 파일에 작성합니다.
%ProgramFiles%\Azure AD Password Protection DC Agent\Logs
팁
텍스트 로그는 추적 로그에 기록될 수 있는 동일한 디버그 수준 항목을 받지만 일반적으로 검토하고 분석하기 쉬운 형식입니다.
Warning
사용하도록 설정되면 이 로그는 많은 양의 이벤트를 받고 도메인 컨트롤러 성능에 영향을 줄 수 있습니다. 따라서 이 향상된 로그는 문제가 더 세부적인 조사를 필요로 할 때 및 최소한의 시간 동안만 사용하도록 설정돼야 합니다.
DC 에이전트 성능 모니터링
DC 에이전트 서비스 소프트웨어는 Microsoft Entra 암호 보호라는 성능 카운터 개체를 설치합니다. 다음 성능 카운터는 현재 사용할 수 있습니다.
성능 카운터 이름 | 설명 |
---|---|
처리된 암호 | 이 카운터는 마지막 다시 시작한 이후에 (승인 또는 거부) 처리된 암호의 총 수를 표시합니다. |
허용된 암호 | 이 카운터는 마지막 다시 시작한 이후에 허용된 암호의 총 수를 표시합니다. |
거부된 암호 | 이 카운터는 마지막 다시 시작한 이후에 거부된 암호의 총 수를 표시합니다. |
진행 중인 암호 필터 요청 | 이 카운터는 현재 진행 중인 암호 필터 요청 수를 표시합니다. |
최대 암호 필터 요청 | 이 카운터는 마지막 다시 시작한 이후에 동시 암호 필터 요청 최대 수를 표시합니다. |
암호 필터 요청 오류 | 이 카운터는 마지막 다시 시작한 이후에 오류로 인해 실패한 암호 필터 요청의 총 수를 표시합니다. Microsoft Entra 암호 보호 DC 에이전트 서비스가 실행 중이 아닐 때 오류가 발생할 수 있습니다. |
암호 필터 요청 수/초 | 이 카운터는 암호를 처리하는 속도를 표시합니다. |
암호 필터 요청 처리 시간 | 이 카운터는 암호 필터 요청을 처리하는 데 필요한 평균 시간을 표시합니다. |
최대 암호 필터 요청 처리 시간 | 이 카운터는 마지막 다시 시작한 이후에 최대 암호 필터 요청 처리 시간을 표시합니다. |
감사 모드로 인해 허용된 암호 | 이 카운터는 보통 거부됐었으나 (마지막 다시 시작한 이후에) 암호 정책이 감사 모드로 구성됐기 때문에 허용된 암호의 총 수를 표시합니다. |
DC 에이전트 검색
Get-AzureADPasswordProtectionDCAgent
cmdlet은 도메인이나 포리스트에서 실행되는 다양한 DC 에이전트에 대한 기본 정보를 표시하는 데 사용될 수 있습니다. 이 정보는 DC 에이전트 서비스를 실행하여 등록된 serviceConnectionPoint 개체에서 검색됩니다.
이 cmdlet의 출력 예는 다음과 같습니다.
Get-AzureADPasswordProtectionDCAgent
ServerFQDN : bplChildDC2.bplchild.bplRootDomain.com
Domain : bplchild.bplRootDomain.com
Forest : bplRootDomain.com
PasswordPolicyDateUTC : 2/16/2018 8:35:01 AM
HeartbeatUTC : 2/16/2018 8:35:02 AM
다양한 속성이 대략적인 시간 단위로 각 DC 에이전트 서비스에 의해 업데이트됩니다. 데이터는 여전히 Active Directory 복제 대기 시간의 적용을 받습니다.
–Forest 또는 –Domain 매개 변수 중 하나를 사용하면 cmdlet의 쿼리 범위에 영향을 줄 수 있습니다.
HeartbeatUTC 값이 부실해지면 해당 도메인 컨트롤러의 Microsoft Entra 암호 보호 DC 에이전트가 실행되고 있지 않거나, 제거되었거나, 머신이 강등되어 더 이상 도메인 컨트롤러가 아님을 나타낼 수 있습니다.
PasswordPolicyDateUTC 값이 부실해지면 이는 해당 머신의 Microsoft Entra 암호 보호 DC 에이전트가 제대로 작동하지 않는 증상일 수 있습니다.
DC 에이전트 최신 버전 사용 가능
DC 에이전트 서비스는 최신 버전의 DC 에이전트 소프트웨어를 사용할 수 있음을 검색하면 작업 로그에 30034 경고 이벤트를 로그합니다. 예를 들면 다음과 같습니다.
An update for Azure AD Password Protection DC Agent is available.
If autoupgrade is enabled, this message may be ignored.
If autoupgrade is disabled, refer to the following link for the latest version available:
https://aka.ms/AzureADPasswordProtectionAgentSoftwareVersions
Current version: 1.2.116.0
위 이벤트는 최신 소프트웨어의 버전을 지정하지 않습니다. 해당 정보를 확인하려면 이벤트 메시지의 링크로 이동해야 합니다.
참고 항목
위 이벤트 메시지에서 “autoupgrade”에 대한 참조에도 불구하고 DC 에이전트 소프트웨어는 현재 이 기능을 지원하지 않습니다.
프록시 서비스 이벤트 로깅
프록시 서비스는 최소 이벤트 세트를 다음 이벤트 로그에 내보냅니다.
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Admin
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Operational
\Applications and Services Logs\Microsoft\AzureADPasswordProtection\ProxyService\Trace
추적 로그는 기본적으로 꺼져 있습니다.
Warning
사용하도록 설정되면 추적 로그는 많은 양의 이벤트를 받고 도메인 프록시 호스트의 성능에 영향을 줄 수 있습니다. 따라서 이 로그는 문제가 더 세부적인 조사를 필요로 할 때 및 최소한의 시간 동안만 사용하도록 설정돼야 합니다.
이벤트는 다음 범위를 사용하여 다양한 프록시 구성 요소에 의해 기록됩니다.
구성 요소 | 이벤트 ID 범위 |
---|---|
프록시 서비스 호스팅 프로세스 | 10000-19999 |
프록시 서비스 핵심 비즈니스 논리 | 20000-29999 |
PowerShell cmdlet | 30000-39999 |
프록시 서비스 텍스트 로깅
다음 레지스트리 값을 설정하여 텍스트 로그에 작성하도록 프록시 서비스를 구성할 수 있습니다.
HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionProxy\Parameters!EnableTextLogging = 1 (REG_DWORD 값)
텍스트 로그는 기본적으로 사용하지 않도록 설정되어 있습니다. 이 값에 대한 변경 내용을 적용하려면 프록시 서비스를 다시 시작해야 합니다. 사용하도록 설정하면 프록시 서비스는 아래에 있는 로그 파일에 작성합니다.
%ProgramFiles%\Azure AD Password Protection Proxy\Logs
팁
텍스트 로그는 추적 로그에 기록될 수 있는 동일한 디버그 수준 항목을 받지만 일반적으로 검토하고 분석하기 쉬운 형식입니다.
Warning
사용하도록 설정되면 이 로그는 많은 양의 이벤트를 받고 머신 성능에 영향을 줄 수 있습니다. 따라서 이 향상된 로그는 문제가 더 세부적인 조사를 필요로 할 때 및 최소한의 시간 동안만 사용하도록 설정돼야 합니다.
PowerShell cmdlet 로깅
상태를 변경하는 PowerShell cmdlet(예: Register-AzureADPasswordProtectionProxy)은 일반적으로 작업 로그에 결과 이벤트를 기록합니다.
또한 대부분의 Microsoft Entra 암호 보호 PowerShell cmdlet은 다음 아래에 있는 텍스트 로그에 기록합니다.
%ProgramFiles%\Azure AD Password Protection Proxy\Logs
cmdlet 오류가 발생하고 원인 및/또는 솔루션이 쉽게 드러나지 않는 경우 이러한 텍스트 로그를 참조할 수도 있습니다.
프록시 검색
Get-AzureADPasswordProtectionProxy
cmdlet은 도메인이나 포리스트에서 실행되는 다양한 Microsoft Entra 암호 보호 프록시 서비스에 대한 기본 정보를 표시하는 데 사용될 수 있습니다. 이 정보는 프록시 서비스를 실행하여 등록된 serviceConnectionPoint 개체에서 검색됩니다.
이 cmdlet의 출력 예는 다음과 같습니다.
Get-AzureADPasswordProtectionProxy
ServerFQDN : bplProxy.bplchild2.bplRootDomain.com
Domain : bplchild2.bplRootDomain.com
Forest : bplRootDomain.com
HeartbeatUTC : 12/25/2018 6:35:02 AM
다양한 속성이 대략 1시간마다 각 프록시 서비스에 의해 업데이트됩니다. 데이터는 여전히 Active Directory 복제 대기 시간의 적용을 받습니다.
–Forest 또는 –Domain 매개 변수 중 하나를 사용하면 cmdlet의 쿼리 범위에 영향을 줄 수 있습니다.
HeartbeatUTC 값이 부실해지면 해당 머신의 Microsoft Entra 암호 보호 프록시가 실행되지 않거나 제거되었음을 나타낼 수 있습니다.
프록시 에이전트 최신 버전 사용 가능
프록시 서비스는 최신 버전의 프록시 소프트웨어를 사용할 수 있음을 검색하면 작업 로그에 20002 경고 이벤트를 로그합니다. 예를 들면 다음과 같습니다.
An update for Azure AD Password Protection Proxy is available.
If autoupgrade is enabled, this message may be ignored.
If autoupgrade is disabled, refer to the following link for the latest version available:
https://aka.ms/AzureADPasswordProtectionAgentSoftwareVersions
Current version: 1.2.116.0
.
위 이벤트는 최신 소프트웨어의 버전을 지정하지 않습니다. 해당 정보를 확인하려면 이벤트 메시지의 링크로 이동해야 합니다.
프록시 에이전트가 자동 업그레이드를 사용하도록 구성된 경우에도 이 이벤트를 내보냅니다.
다음 단계
전역 및 사용자 지정 금지된 암호 목록에 대한 자세한 내용은 잘못된 암호 금지 문서 참조