Azure AD 감사: 감사 로그 활성화 및 구성

Azure AD 감사: 감사 로그 활성화 및 구성. 현재 급속히 변화하는 디지털 환경에서 데이터 침해와 사이버 위협이 계속해서 증가하는 가운데, 견고한 보안 조치를 마련하는 것이 기업에게 절대적으로 중요해졌습니다. Azure Active Directory (Azure AD)는 보안을 강화하기 위한 종합적인 도구 세트를 제공하며, 이 중요한 측면 중 하나는 감사입니다. Azure AD 내에서 감사 로그 및 Microsoft Graph 활동 로그를 활성화하고 구성함으로써, 기업은 사용자 활동, 잠재적인 취약점 및 규정 준수에 대한 소중한 통찰력을 얻을 수 있습니다. 이 문서는 Azure AD 감사를 시작하는 중요성에 대해 탐구하며, 이러한 로그가 예방적이고 효과적인 보안 포지션에 기여하는 방법을 강조합니다.

Azure AD 감사: 감사 로그 활성화 및 구성

사용자가 특정 서비스에 액세스하기 위해 Azure Active Directory에 인증하는 경우, Office 365 또는 다른 SaaS 애플리케이션과 같이, Azure AD로의 인증 워크플로우가 시도됩니다. 첫 번째 부분은 사용자가 지정된 테넌트 내에 있는지 여부를 평가하거나, 그렇지 않은 경우 올바른 디렉터리 테넌트로 사용자를 경로 지정합니다. 다음으로, 그룹 멤버십 및 암호를 결정합니다. 모든 인증 시도가 성공하든 실패하든 상관없이 로깅됩니다.

그런 다음 조건부 액세스 정책을 평가하여 사용자에게 액세스할지 또는 차단해야 하는지를 결정합니다. Azure Active Directory 내에서 일부 감사 로그는 로컬 Azure AD 데이터베이스에 기본으로 저장됩니다. Azure AD 로그인에 대한 로그 항목은 다음과 같습니다.

참고: Azure AD 로그인 활동은 두 가지 다른 속성과 관련이 있습니다. 디바이스 정보조건부 액세스 정책.

로그 항목

이 로그 항목은 특정 사용자가 Azure PowerShell 클라이언트를 사용하여 Azure에 로그인했지만 우리가 적용한 조건부 액세스 정책이 없었음을 나타냅니다. 고려해야 할 가장 중요한 사항은 다음과 같습니다:

1. 인증이 성공한 경우, 트래픽이 알려진 위치와 장치에서 발생하는가?
2. 인증이 실패한 경우, 실패한 이유는 무엇인가?

이러한 이벤트는 시스템 로그에 기록되며, 우리는 이를 활동을 통해 확인할 수 있습니다. 그러나 기본적으로 우리는 모든 이러한 로그를 Azure AD 데이터베이스에 저장하며, 이러한 로그의 보존은 Azure AD에 대한 라이센스 종류에 따라 다릅니다 (P1 또는 P2). 그러나 Azure AD 밖으로 로그를 내보내기 위해 진단을 정의하는 옵션도 있습니다. Log Analytics Workspace에 로그를 내보낼 수 있습니다.

참고:우리 조직은 Azure AD P1 또는 P2 라이센스가 필요합니다.

Azure AD 로그 소스

디지털 보안 분야에서 계속 진화하는 가운데, 민감한 데이터의 보호와 견고한 사이버 보안 자세를 유지하는 것이 조직의 핵심 목표가 되었습니다. 다른 로그 소스들은 다른 데이터 집합을 기록합니다:

  • 감사 로그: 이러한 로그는 Azure AD 내에서 수행된 다양한 관리 작업 및 변경 사항을 기록합니다. 사용자 및 그룹 관리, 애플리케이션 할당 및 정책 수정과 같은 내용으로, 디렉터리를 관리하는 데 통찰력을 제공합니다.

  • 로그인 로그: 이 로그들은 인증 활동을 추적하여 사용자, 애플리케이션 및 서비스 주체에 의한 성공적이고 실패한 로그인 시도에 대한 세부 정보를 캡처하여, 무단 접근이나 의심스러운 행동을 탐지하는 데 도움을 줍니다.

  • 비대화식 사용자 로그인 로그: 이 로그는 사용자에 의한 비대화식(프로그래밍적) 로그인에 중점을 두어 자동화된 프로세스나 스크립트에서 자주 볼 수 있으며, 서비스 계정 및 자동화된 활동을 볼 수 있습니다.

  • 서비스 주체 로그인 로그: 이 로그는 응용 프로그램이 리소스에 액세스하기 위해 사용되는 식별자인 서비스 주체에 의한 로그인 활동을 특히 추적합니다. 이러한 로그를 모니터링함으로써 비정상적인 동작이나 응용 프로그램 식별자의 잘못된 사용을 식별할 수 있습니다.

  • 관리 신원 로그인 로그: Azure 리소스가 Azure AD와 인증하는 데 사용됩니다. 이러한 로그는 관리 신원의 로그인 활동을 문서화하여 리소스 수준의 액세스 패턴을 이해하는 데 기여합니다.

  • 배정 로그: 온프레미스 디렉터리와 Azure AD 간의 사용자 및 그룹 동기화 활동에 대한 통찰력을 제공하여 데이터 일관성과 정확성을 보장하는 데 도움이 됩니다.

  • ADFS 로그인 로그: Active Directory 연합 서비스(ADFS) 로그는 연합을 통한 로그인 시도를 추적하여 연합 환경에서 리소스에 액세스하는 사용자에 대한 정보를 제공하고 외부 액세스 패턴을 모니터링하는 데 도움이 됩니다.

감사 로그의 중요성

각 로그 유형은 Azure AD 환경 내에서 보안을 강화하고 활동을 모니터링하며 규정 준수를 유지하는 데 명확한 역할을 합니다. 로그를 Sentinel과 함께 Log Analytics로 이동하면 의심스러운 행동이 발생할 경우 자동으로 경보를 트리거하는 분석 쿼리를 생성할 수도 있습니다.

참고:또한 데이터를 Azure Storage Account 및 Azure Event Hub로 내보내는 옵션이 있습니다. 예를 들어, 여러 워크스페이스로 데이터를 보내기 위해 여러 내보내기 흐름을 정의합니다. 먼저, 로그하는 다양한 EventIDs를 이해해야 합니다.더 읽기Get-AzureADAuditSignInLogs – 최근 30일간의 로그인 로그 찾기 PowerShell

Azure AD를 모니터링할 때의 모범 사례

Log Analytics 및 Azure Sentinel은 데이터를 분석하기 위해 Kusto 쿼리를 사용합니다. Kusto는 포털의 일부로 놀랍도록 좋은 시각화 기능을 갖춘 읽기 전용 쿼리 언어입니다. 우리가 만드는 몇 가지 다른 규칙이 있습니다. 우리는 탐색 규칙을 사용하여 데이터를 탐색합니다(하지만 정기적으로 실행하지는 않음). 두 번째로는 미리 정의된 일정에 따라 실행되는 분석 규칙입니다.

일반적으로 사용하는 탐색 규칙의 한 예는 로그인 위치를 결정하는 간단한 것입니다.

SigninLogs
| summarize count() by Location

또 다른 좋은 예는 오류 코드가 50126 또는 50020인 Azure AD에 대한 로그인 시도 실패를 표시하는 것입니다.

SigninLogs
| where ResultType in ("50126", "50020")
| extend OS = DeviceDetail.operatingSystem, Browser = DeviceDetail.browser
| extend StatusCode = tostring(Status.errorCode), StatusDetails = tostring(Status.additionalDetails)
| extend State = tostring(LocationDetails.state), City = tostring(LocationDetails.city)
| summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), IPAddresses = makeset(IPAddress), DistinctIPCount = dcount(IPAddress),
makeset(OS), makeset(Browser), makeset(City), AttemptCount = count()
by UserDisplayName, UserPrincipalName, AppDisplayName, ResultType, ResultDescription, StatusCode, StatusDetails, Location, State
| extend timestamp = StartTime, AccountCustomEntity = UserPrincipalName
| Sort by AttemptCount

여기서 다른 예는 MFA 인증 시도에 실패한 사용자를 살펴보는 것입니다.

SigninLogs
| where TimeGenerated >= ago(31d)
| where ResultType == "50074"

또 다른 예는 외부 게스트 사용자 및 Conditional Access 정책에 대한 변경 사항을 살펴보는 것입니다.

AuditLogs
| where Category == "UserManagement"
| where OperationName == "Invite external user" or OperationName == "Redeem external user invite"
AuditLogs | where Category == "Policy" |
 project ActivityDateTime, ActivityDisplayName , TargetResources[0].displayName, InitiatedBy.user.userPrincipalName

이러한 쿼리가 Kusto를 통해 실행되는 유일한 쿼리라는 것을 유의해 주십시오.

마이크로소프트 그래프 활동 로그를 사용한 새로운 Azure AD 감사 로그

마이크로소프트는 새로운 Azure AD 감사 로그를 소개했습니다. 우리는 이러한 로그를 로그 분석 작업 영역에 저장합니다. 2023년 3월 14일에 새로운 마이크로소프트 그래프 활동 로그를 Azure Active Directory 진단 설정에 도입했습니다.새로운 로그를 소개했습니다: MicrosoftGraphActivityLogs, 다른 로그 파일들과 함께 목록에 있습니다.

특히, 이러한 로그 파일은 테넌트 내 자원에 대한 Microsoft Graph에 대한 API 요청의 세부 정보를 제공합니다.EnrichedOffice365AuditLogs는 문제 해결에 매우 유용한 또 다른 흥미로운 로그 파일입니다. 다행히도 Azure Active Directory (Azure AD) 진단 설정을 통해 Azure AD에서의 활동을 모니터링하고 분석하기 위해 로그 및 지표를 구성할 수 있습니다.

우리가진단 설정을 만들 때, 우리는 감사 로그, 로그인 로그, 또는 디렉터리 로그와 같은 수집하려는 데이터 유형과 저장할 위치인 스토리지 계정, 이벤트 허브 또는 로그 분석 워크스페이스와 같은 데이터를 보내고자 하는 위치를 지정합니다. Microsoft Graph Activity Logs는 Azure AD 테넌트 내의 리소스에 대한 Microsoft Graph의 모든 API 요청을 포괄적으로 기록합니다. 따라서 이러한 로그는 요청의 성격을 포함하여 요청을 한 사용자 또는 애플리케이션, 접근한 리소스 및 특정 조치에 대한 상세한 정보를 제공합니다.

New Azure AD Audit Logs의 개요

미국 워싱턴주 레드몬드 시티에 위치한 마이크로소프트 본사의 전경마이크로소프트 그래프 액티비티 로그를 통해 관리자및 개발자는 해당 테넌트 내에서 마이크로소프트 그래프의 사용 패턴을 모니터링하고 분석할 수 있습니다. 또한 잠재적 문제나 이상 현상을 식별하고, 애플리케이션과 사용자의 성능을 추적하며, 자원 사용을 최적화하는 데 도움을 줍니다.테넌트. 또한 마이크로소프트는 아래에 나열된 새로운 Azure AD 로그를 소개했습니다. 이 데이터를 선택한 로그 분석 작업 영역으로 보냅니다. 우리 조직은

Azure AD P1또는P2라이선스가 필요합니다.

  1. 네트워크 액세스 트래픽 로그
  2. 위험한 서비스 사용자
  3. 서비스 사용자 위험 이벤트
  4. 풍부한 Office 365 감사 로그
  5. 마이크로소프트 그래프 액티비티 로그

Microsoft Graph 활동 로그

전반적으로, MicrosoftGraphActivityLogs는강력한진단 도구로서 Microsoft의 관리 및 모니터링에 도움이 되는Graph사용 사례 및해결책을 아래 목록과 스크린샷에 표시한 MicrosoftGraphActivityLogs의 범주입니다:

  • 카테고리
    • 감사 카테고리: 관리자 변경 내용, 컴플라이언스를 기록합니다.
    • 보안 카테고리: 로그인 및 액세스를 모니터링하여 위협을 탐지하는 데 도움이 됩니다.
  • 솔루션
    • 로그 관리 솔루션: 보안 관행을 간소화하여 적극적인 대응을 가능하게 합니다.

공식 Microsoft 문서에서 Microsoft Graph Activity Logs 열과 속성의 전체 목록을 참조하십시오.

Azure Active Directory (Azure AD)의 Microsoft Graph Activity Logs

진단 설정을 사용하여 구성한 리소스에 대한 플랫폼 로그 및 지표의 스트리밍 내보내기. 최대 다섯 개의 진단 설정을 만들어 로그와 지표를 독립적인 대상에 보냅니다.

  • Azure 포털의 Azure AD 블레이드로 이동하십시오
  • 왼쪽 메뉴에서 진단 설정를 선택하십시오
  • 진단 설정에서 새 Microsoft Graph Activity Logs가 표시됩니다

Microsoft Graph Activity Logs에 대한 진단 설정

스크린샷 위의 진단 설정 추가을 클릭하여 Microsoft 그래프 활동 로그를 구성합니다. Microsoft 그래프 활동 로그는다른 Azure AD 진단 도구와 결합하여 Azure AD 환경의보안 및 신뢰성을 보장합니다.보안과 신뢰성을 유지하기 위해 이러한 로그를 사용합니다.

Azure AD 감사: 감사 로그 활성화 및 구성 결론

결론적으로, 감사 로그와 Microsoft 그래프 활동 로그를 활성화하고 구성함으로써 보안과 규정 준수를 추구하는 조직에게 중요합니다. 이러한 로그는 사용자 활동 추적, 위협 감지 및 규정 준수에 대한 가치 있는 통찰력을 제공합니다. 이러한 로그를 함께 활용하여 조직은 보안 전략을 적극적으로 강화할 수 있으며, Azure AD 기능을 지속적으로 모니터링하고 최신 상태로 유지하는 것이 중요합니다.

Source:
https://infrasos.com/azure-ad-auditing-enabling-and-configuring-audit-logs/