Microsoft Entra Domain Services에 대한 보안 및 DNS 감사 사용
Microsoft Entra Domain Services 보안 및 DNS 감사를 통해 Azure는 이벤트를 대상 리소스로 스트리밍할 수 있습니다. 이러한 리소스에는 Azure Storage, Azure Log Analytics 작업 영역 또는 Azure Event Hub가 포함됩니다. 보안 감사 이벤트를 사용하도록 설정하면 Domain Services는 선택한 범주에 대해 감사된 모든 이벤트를 대상 리소스로 보냅니다.
Azure Event Hubs를 사용하여 이벤트를 Azure Storage에 보관하고 이벤트를 SIEM(보안 정보 및 이벤트 관리) 소프트웨어(또는 이에 상응하는 소프트웨어)로 스트리밍하거나, Microsoft Entra 관리 센터의 Azure Log Analytics 작업 영역을 사용하여 자체 분석을 수행할 수 있습니다.
보안 감사 대상
Azure Storage, Azure Event Hubs 또는 Azure Log Analytics 작업 영역을 Domain Services 보안 감사의 대상 리소스로 사용할 수 있습니다. 이러한 대상은 조합할 수 있습니다. 예를 들어 Azure Storage를 사용하여 보안 감사 이벤트를 보관할 수 있지만 Azure Log Analytics 작업 영역을 사용하여 단기로 정보를 분석 및 보고할 수 있습니다.
다음 표에서는 각 대상 리소스 종류에 대한 시나리오를 간략하게 설명합니다.
중요
Domain Services 보안 감사를 사용하도록 설정하기 전에 대상 리소스를 만들어야 합니다. Microsoft Entra 관리 센터, Azure PowerShell 또는 Azure CLI를 사용하여 이러한 리소스를 만들 수 있습니다.
대상 리소스 | 시나리오 |
---|---|
Azure Storage | 이 대상은 보관 목적으로 보안 감사 이벤트를 저장해야 하는 경우에 사용해야 합니다. 다른 대상은 보관 목적으로 사용할 수 있지만 이러한 대상은 보관의 기본 요구를 벗어난 기능을 제공합니다. Domain Services 보안 감사 이벤트를 사용하도록 설정하기 전에 먼저 Azure Storage 계정을 만듭니다. |
Azure Event Hubs | 이 대상은 데이터 분석 소프트웨어 또는 SIEM(보안 정보 및 이벤트 관리) 소프트웨어와 같은 추가 소프트웨어를 사용하여 보안 감사 이벤트를 공유해야 하는 경우에 사용해야 합니다. Domain Services 보안 감사 이벤트를 사용하도록 설정하기 전에 Microsoft Entra 관리 센터를 사용하여 이벤트 허브 만들기 |
Azure Log Analytics 작업 영역 | 이 대상은 Microsoft Entra 관리 센터에서 직접 보안 감사를 분석하고 검토해야 하는 경우에 사용해야 합니다. Domain Services 보안 감사 이벤트를 사용하도록 설정하기 전에 Microsoft Entra 관리 센터에서 Log Analytics 작업 영역을 만듭니다. |
Microsoft Entra 관리 센터를 사용하여 보안 감사 이벤트 사용
Microsoft Entra 관리 센터를 사용하여 Domain Services 보안 감사 이벤트를 사용하도록 설정하려면 다음 단계를 완료합니다.
중요
Domain Services 보안 감사는 소급 적용되지 않습니다. 이전의 이벤트를 검색하거나 재생할 수 없습니다. Domain Services는 보안 감사가 사용하도록 설정된 후에 발생하는 이벤트만 보낼 수 있습니다.
-
전역 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
Microsoft Entra Domain Services를 검색하여 선택합니다. aaddscontoso.com과 같이 관리되는 도메인을 선택합니다.
Domain Services 창의 왼쪽에 있는 진단 설정을 선택합니다.
기본적으로 구성된 진단이 없습니다. 시작하려면 진단 설정 추가를 선택합니다.
aadds-auditing과 같이 진단 구성에 대한 이름을 입력합니다.
원하는 보안 또는 DNS 감사 대상의 확인란을 선택합니다. Log Analytics 작업 영역, Azure Storage 계정, Azure Event Hubs 또는 파트너 솔루션 중에서 선택할 수 있습니다. 이러한 대상 리소스는 Azure 구독에 이미 있어야 합니다. 이 마법사에서는 대상 리소스를 만들 수 없습니다.
- Azure Log Analytics 작업 영역
- Log Analytics로 보내기를 선택하고 감사 이벤트를 저장하는 데 사용하려는 구독 및 Log Analytics 작업 영역을 선택합니다.
- Azure Storage
- 스토리지 계정에 보관을 선택한 다음 구성을 선택합니다.
- 감사 이벤트를 보관하는 데 사용할 구독 및 스토리지 계정을 선택합니다.
- 준비가 되면 확인을 선택합니다.
- Azure Event Hubs
- 이벤트 허브로 스트림을 선택한 다음 구성을 선택합니다.
- 구독을 선택하고 이벤트 허브 네임스페이스를 선택합니다. 필요한 경우 이벤트 허브 이름 및 이벤트 허브 정책 이름을 선택합니다.
- 준비가 되면 확인을 선택합니다.
- 파트너 솔루션
- 파트너 솔루션으로 보내기를 선택한 다음 감사 이벤트를 저장하는 데 사용할 구독 및 대상을 선택합니다.
- Azure Log Analytics 작업 영역
특정 대상 리소스에 포함하려는 로그 범주를 선택합니다. Azure Storage 계정에 감사 이벤트를 보내는 경우 데이터를 보존할 일 수를 정의하는 보존 정책을 구성할 수도 있습니다. 기본 설정인 0은 모든 데이터를 유지하고 일정 시간 후에 이벤트를 삭제하지 않습니다.
단일 구성 내에서 각 대상 리소스에 대해 서로 다른 로그 범주를 선택할 수 있습니다. 이 기능을 사용하여 Log Analytics에 대해 유지할 로그 범주와 보관할 로그 범주를 선택할 수 있습니다.
완료되면 저장을 선택하여 변경 사항을 커밋합니다. 대상 리소스는 구성이 저장된 직후 Domain Services 감사 이벤트를 수신하기 시작합니다.
Azure PowerShell을 사용하여 보안 및 DNS 감사 이벤트를 사용하도록 설정합니다.
Azure PowerShell을 사용하여 Domain Services 보안 및 DNS 감사 이벤트를 사용하도록 설정하려면 다음 단계를 완료합니다. 필요한 경우 우선 Azure PowerShell 모듈을 설치하고 Azure 구독에 연결합니다.
중요
Domain Services 감사는 소급 적용되지 않습니다. 이전의 이벤트를 검색하거나 재생할 수 없습니다. Domain Services는 감사가 사용하도록 설정된 후에 발생하는 이벤트만 보낼 수 있습니다.
Connect-AzAccount cmdlet을 사용하여 Azure 구독에 인증합니다. 메시지가 표시되면 계정 자격 증명을 입력합니다.
Connect-AzAccount
감사 이벤트에 대한 대상 리소스를 만듭니다.
Azure Log Analytic 작업 영역 - Azure PowerShell을 사용하여 Log Analytics 작업 영역을 만듭니다.
Azure Storage - Azure PowerShell을 사용하여 스토리지 계정 만들기
Azure Event Hubs - Azure PowerShell을 사용하여 이벤트 허브 만들기. 또한 이벤트 허브 네임스페이스에 Domain Services 권한을 부여하는 권한 부여 규칙을 만들려면 New-AzEventHubAuthorizationRule cmdlet을 사용해야 할 수도 있습니다. 권한 부여 규칙에는 관리, 수신 대기 및 전송 권한이 포함되어야 합니다.
중요
이벤트 허브 자체가 아니라 이벤트 허브 네임스페이스에 대한 권한 부여 규칙을 설정했는지 확인합니다.
Get-AzResource cmdlet을 사용하여 Domain Services 관리되는 도메인의 리소스 ID를 가져옵니다. $aadds.ResourceId라는 변수를 만들어 값을 보유합니다.
$aadds = Get-AzResource -name aaddsDomainName
Set-AzDiagnosticSetting cmdlet을 사용하여 Azure Diagnostic 설정을 구성하고 Microsoft Entra Domain Services 감사 이벤트에 대한 대상 리소스를 사용합니다. 다음 예제에서는 이전 단계의 $aadds.ResourceId 변수가 사용됩니다.
Azure Storage - storageAccountId를 스토리지 계정 이름으로 바꿉니다.
Set-AzDiagnosticSetting ` -ResourceId $aadds.ResourceId ` -StorageAccountId storageAccountId ` -Enabled $true
Azure Event Hubs - eventHubName을 이벤트 허브의 이름으로, eventHubRuleId를 권한 부여 규칙 ID로 바꿉니다.
Set-AzDiagnosticSetting -ResourceId $aadds.ResourceId ` -EventHubName eventHubName ` -EventHubAuthorizationRuleId eventHubRuleId ` -Enabled $true
Azure Log Analytic 작업 영역 - workspaceId를 Log Analytics 작업 영역의 ID로 바꿉니다.
Set-AzureRmDiagnosticSetting -ResourceId $aadds.ResourceId ` -WorkspaceID workspaceId ` -Enabled $true
Azure Monitor를 사용하여 보안 및 DNS 감사 이벤트 쿼리 및 보기
Log Analytic 작업 영역을 사용하면 Azure Monitor 및 Kusto 쿼리 언어를 사용하여 보안 및 DNS 감사 이벤트를 보고 분석할 수 있습니다. 이 쿼리 언어는 읽기 쉬운 구문으로 강력한 분석 기능을 지원하는 읽기 전용 용도로 설계되었습니다. Kusto 쿼리 언어를 시작하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.
- Azure Monitor 설명서
- Azure Monitor에서 Log Analytics 시작
- Azure Monitor에서 로그 쿼리 시작
- Log Analytics 데이터 대시보드 만들기 및 공유
다음 샘플 쿼리를 사용하여 Domain Services에서 감사 이벤트 분석을 시작할 수 있습니다.
샘플 쿼리 1
지난 7일 간의 모든 계정 잠금 이벤트를 봅니다.
AADDomainServicesAccountManagement
| where TimeGenerated >= ago(7d)
| where OperationName has "4740"
샘플 쿼리 2
2020년 6월 3일 오전 9시부터 2020년 6월 10일 자정 사이의 모든 계정 잠금 이벤트(4740)를 날짜 및 시간을 기준으로 오름차순으로 정렬하여 봅니다.
AADDomainServicesAccountManagement
| where TimeGenerated >= datetime(2020-06-03 09:00) and TimeGenerated <= datetime(2020-06-10)
| where OperationName has "4740"
| sort by TimeGenerated asc
샘플 쿼리 3
user라는 계정에 대해 (지금으로부터) 7일 전의 계정 로그인 이벤트를 확인합니다.
AADDomainServicesAccountLogon
| where TimeGenerated >= ago(7d)
| where "user" == tolower(extract("Logon Account:\t(.+[0-9A-Za-z])",1,tostring(ResultDescription)))
샘플 쿼리 4
잘못된 암호를 사용하여 로그인을 시도한 user라는 계정에 대해 지금으로부터 7일 전의 계정 로그인 이벤트를 확인합니다(0xC0000006a).
AADDomainServicesAccountLogon
| where TimeGenerated >= ago(7d)
| where "user" == tolower(extract("Logon Account:\t(.+[0-9A-Za-z])",1,tostring(ResultDescription)))
| where "0xc000006a" == tolower(extract("Error Code:\t(.+[0-9A-Fa-f])",1,tostring(ResultDescription)))
샘플 쿼리 5
계정이 잠긴 동안 로그인을 시도한 User라는 계정에 대해 지금으로부터 7일 전의 계정 로그인 이벤트를 확인합니다(0xC0000234).
AADDomainServicesAccountLogon
| where TimeGenerated >= ago(7d)
| where "user" == tolower(extract("Logon Account:\t(.+[0-9A-Za-z])",1,tostring(ResultDescription)))
| where "0xc0000234" == tolower(extract("Error Code:\t(.+[0-9A-Fa-f])",1,tostring(ResultDescription)))
샘플 쿼리 6
모든 잠긴 사용자에게 발생한 모든 로그인 시도에 대해 지금으로부터 7일 전의 계정 로그인 이벤트 수를 확인합니다.
AADDomainServicesAccountLogon
| where TimeGenerated >= ago(7d)
| where "0xc0000234" == tolower(extract("Error Code:\t(.+[0-9A-Fa-f])",1,tostring(ResultDescription)))
| summarize count()
보안 및 DNS 이벤트 범주 감사
Domain Services 보안 및 DNS 감사는 기존 AD DS 도메인 컨트롤러에 대한 기존 감사와 일치합니다. 하이브리드 환경에서는 기존 감사 패턴을 다시 사용할 수 있으므로 이벤트를 분석할 때 동일한 논리를 사용할 수 있습니다. 문제를 해결하거나 분석해야 하는 시나리오에 따라 다른 감사 이벤트 범주를 대상으로 해야 합니다.
다음 감사 이벤트 범주를 사용할 수 있습니다.
감사 범주 이름 | 설명 |
---|---|
계정 로그온 | 도메인 컨트롤러 또는 로컬 SAM(보안 계정 관리자)의 계정 데이터 인증 시도를 감사합니다. -로그온 및 로그오프 정책 설정 및 이벤트 추적은 특정 컴퓨터에 대한 액세스를 시도합니다. 이 범주의 설정 및 이벤트는 사용되는 계정 데이터베이스에 중점을 둡니다. 이 범주에는 다음 하위 범주가 포함됩니다. -자격 증명 유효성 감사 -Kerberos 인증 서비스 감사 -Kerberos 서비스 티켓 작업 감사 -기타 로그온/로그오프 이벤트 감사 |
계정 관리 | 사용자, 컴퓨터 계정 및 그룹에 대한 변경 내용을 감사합니다. 이 범주에는 다음 하위 범주가 포함됩니다. -애플리케이션 그룹 관리 감사 -컴퓨터 계정 관리 감사 -메일 그룹 관리 감사 -기타 계정 관리 감사 -보안 그룹 관리 감사 -사용자 계정 관리 감사 |
DNS 서버 | DNS 환경의 변경 내용을 감사합니다. 이 범주에는 다음 하위 범주가 포함됩니다. - DNSServerAuditsDynamicUpdates(미리 보기) - DNSServerAuditsGeneral(미리 보기) |
세부 정보 추적 | 해당 컴퓨터에 있는 개별 애플리케이션 및 사용자의 작업을 감사하고 컴퓨터가 사용되는 방식을 이해합니다. 이 범주에는 다음 하위 범주가 포함됩니다. -DPAPI 활동 감사 -PNP 활동 감사 -프로세스 만들기 감사 -프로세스 종료 감사 -RPC 이벤트 감사 |
디렉터리 서비스 액세스 | Active Directory Domain Services(AD DS)에 있는 개체에 대한 액세스 및 수정 시도를 감사합니다. 이러한 감사 이벤트는 도메인 컨트롤러에만 로그됩니다. 이 범주에는 다음 하위 범주가 포함됩니다. -상세 디렉터리 서비스 복제 감사 -디렉터리 서비스 액세스 감사 -디렉터리 서비스 변경 감사 -디렉터리 서비스 복제 감사 |
로그온-로그오프 | 대화형으로 또는 네트워크를 통한 컴퓨터 로그온 시도를 감사합니다. 이러한 이벤트는 사용자 작업을 추적하고 네트워크 리소스에 대한 잠재적인 공격을 식별하는 데 유용합니다. 이 범주에는 다음 하위 범주가 포함됩니다. -계정 잠금 감사 -사용자/장치 클레임 감사 -IPsec 확장 모드 감사 -그룹 멤버 자격 감사 -IPsec 기본 모드 감사 -IPsec 빠른 모드 감사 -로그오프 감사 -로그온 감사 -네트워크 정책 서버 감사 -기타 로그온/로그오프 이벤트 감사 -특수 로그온 감사 |
개체 액세스 | 네트워크 또는 컴퓨터에서 특정 개체 또는 개체 유형에 대한 액세스 시도를 감사합니다. 이 범주에는 다음 하위 범주가 포함됩니다. -생성된 애플리케이션 감사 -인증 서비스 감사 -세부 파일 공유 감사 -파일 공유 감사 -파일 시스템 감사 -필터링 플랫폼 연결 감사 -필터링 플랫폼 패킷 삭제 감사 -핸들 조작 감사 -커널 개체 감사 -기타 개체 액세스 이벤트 감사 -레지스트리 감사 -이동식 저장소 감사 -SAM 감사 -중앙 액세스 정책 준비 감사 |
정책 변경 | 로컬 시스템 또는 네트워크에서 중요 보안 정책 변경을 감사합니다. 정책은 일반적으로 관리자가 네트워크 리소스의 보안을 유지하도록 설정됩니다. 이러한 정책의 변경 또는 변경 시도 모니터링은 네트워크의 보안 관리에 있어 중요한 요소입니다. 이 범주에는 다음 하위 범주가 포함됩니다. -감사 정책 변경 감사 -인증 정책 변경 감사 -권한 부여 정책 변경 감사 -필터링 플랫폼 정책 변경 감사 -MPSSVC 규칙 수준 정책 변경 감사 -기타 정책 변경 감사 |
권한 사용 | 하나 이상의 시스템에서 특정 사용 권한의 사용을 감사합니다. 이 범주에는 다음 하위 범주가 포함됩니다. -중요하지 않은 권한 사용 감사 -중요한 권한 사용 감사 -기타 권한 사용 이벤트 감사 |
시스템 | 다른 범주에 포함되지 않고 잠재적으로 보안에 영향을 미칠 수 있는 시스템 수준 변경 내용을 감사합니다. 이 범주에는 다음 하위 범주가 포함됩니다. -IPsec 드라이버 감사 -기타 시스템 이벤트 감사 -보안 상태 변경 감사 -보안 시스템 익스텐션 감사 -시스템 무결성 감사 |
범주별 이벤트 ID
Domain Services 보안 및 DNS 감사는 특정 작업이 감사 가능한 이벤트를 트리거할 때 다음 이벤트 ID를 기록합니다.
이벤트 범주 이름 | 이벤트 ID |
---|---|
계정 로그온 보안 | 4767, 4774, 4775, 4776, 4777 |
계정 관리 보안 | 4720, 4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4737, 4738, 4740, 4741, 4742, 4743, 4754, 4755, 4756, 4757, 4758, 4764, 4765, 4766, 4780, 4781, 4782, 4793, 4798, 4799, 5376, 5377 |
세부 정보 추적 보안 | 없음 |
DNS 서버 | 513-523, 525-531, 533-537, 540-582 |
DS 액세스 보안 | 5136, 5137, 5138, 5139, 5141 |
로그온-로그오프 보안 | 4624, 4625, 4634, 4647, 4648, 4672, 4675, 4964 |
개체 액세스 보안 | 없음 |
정책 변경 보안 | 4670, 4703, 4704, 4705, 4706, 4707, 4713, 4715, 4716, 4717, 4718, 4719, 4739, 4864, 4865, 4866, 4867, 4904, 4906, 4911, 4912 |
권한 사용 보안 | 4985 |
시스템 보안 | 4612, 4621 |
다음 단계
Kusto 관련 정보는 다음 문서를 참조하세요.