W tym artykule opiszemy jak skonfigurować sensor XDR Office 365.
Platforma Microsoft Office 365 obejmuje sensory Mail i Audit, które rozszerzają wykrywanie XDR o dane dotyczące ruchu i zawartości poczty e-mail, a także działań użytkowników i administratorów pobranych z ujednoliconego dziennika audytu Microsoft 365.
Czujnik Mail uzyskuje dostęp do zdarzeń, takich jak czas dostępu do elementów poczty, czas odpowiedzi i przekazywania elementów poczty, a także czas i to, czego użytkownik szukał w usługach Exchange Online i SharePoint Online.
Czujnik Audit uzyskuje dostęp do działań użytkowników i administratorów wykonywanych w usługach i rozwiązaniach Microsoft 365. Operacje te są przechwytywane, rejestrowane i przechowywane w ujednoliconym dzienniku inspekcji organizacji.
Wymagania Office365
Zanim zintegrujesz sensor Office365 z GravityZone musisz najpierw skonfigurować sensory Mail i Audit.
Konfiguracja sensora Mail
1. Zarejestruj aplikację w Azure AD.
2. Ustaw uprawnienia w Microsoft Graph API > Application permissions w zależności od tego jak chcesz skonfigurować sensor:
a) Jeżeli chcesz otrzymywać powiadomienia i móc podejmować działania bezpośrednio z GravityZone:
User.ReadWrite.All
, dla wymuszania resetów haseł i wyłączania użytkowników
Aby wymusić resetowanie hasła na kontach O365 bezpośrednio z incydentów GravityZone XDR, należy przypisać rolę administratora do aplikacji Azure.
W Azure AD admin center przejdź do Roles and administrators > User administrator role > Add assignments, wyszukaj nazwę aplikacji używanej do integracji sensora poczty O365 GravityZone i przypisz ją.
IdentityRiskyUser.ReadWrite.All
, dla oznaczania kont na zainfekowane/zhackowane.
IdentityRiskyUser.ReadWrite.All
wymaga licencji Azure AD Premium P2 license. Inne uprawnienia nie wymagają licencji premium.
b) Jeżeli tylko chcesz otrzymywać powiadomienia, potrzebujesz następujących uprawnień: AuditLog.Read.All
, Mail.Read
and User.Read.All
3. Przyznaj Admin Consent.
4. Wygeneruj Client secret value.
Konfiguracja sensora Audit
1. Zarejestruj aplikację w Azure AD.
2. Ustaw uprawnienia w Microsoft Graph API > Application permissions w zależności od tego jak chcesz skonfigurować sensor:
a) Jeżeli chcesz otrzymywać powiadomienia i móc podejmować działania bezpośrednio z GravityZone:
W Microsoft Graph API > Application permissions dodaj User.ReadWrite.All
i IdentityRiskyUser.ReadWrite.All
.
W Office 365 Management APIs > Application permissions dodaj ActivityFeed.Read
, ActivityFeed.ReadDlp
i ServiceHealth.Read
.
IdentityRiskyUser.ReadWrite.All
wymaga licencji Azure AD Premium P2 license. Inne uprawnienia nie wymagają licencji premium.
Aby wymusić resetowanie hasła na kontach O365 bezpośrednio z incydentów GravityZone XDR, należy przypisać rolę administratora do aplikacji Azure.
W Azure AD admin center przejdź do Roles and administrators > User administrator role > Add assignments, wyszukaj nazwę aplikacji używanej do integracji sensora poczty O365 GravityZone i przypisz ją.
b) Jeżeli tylko chcesz otrzymywać powiadomienia, potrzebujesz następujących uprawnień w Office 365 Management APIs > Application permissions: ActivityFeed.Read
, ActivityFeed.ReadDlp
i ServiceHealth.Read
.
3. Przyznaj Admin Consent.
4. Wygeneruj Client secret value.
5. Przejdź do Microsoft Compliance > Audit i zacznij rejestrować aktywność użytkowników i administratorów.
6. Włącz Audit.AzureActiveDirectory
, Audit.Exchange
, Audit.General
, Audit.SharePoint
, i DLP.All
używając poniższego skryptu. Koniecznie podmień wartości w czterech pierwszych linijkach kodu:
$ClientID = "client_id" // @zamień na swój client id, np: f5b17a13-6e4e-4c3e-81f4-51fb9a377182
$ClientSecretValue = "client_secret_value" // @zamień na swój client secret value, enp: UOJ7Q~YN5hkilURseLkfRN6~kTQp80Fndn9eJ
$tenantdomain = "tenant_domain" // @zamień na swoją domenę, np: albert@osf.onmicrosoft.com
$TenantGUID = "tenant_guid" // @zamień na swój tenant guid, np: ac593d47-7293-47ed-a8fc-c5824d38673a
$body = @{grant_type="client_credentials";resource="https://manage.office.com";client_id=$ClientID;client_secret=$ClientSecretValue}
$oauth = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantGUID/oauth2/token?api-version=1.0" -Body $body
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
$p = @{
"webhook"= $null
}
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.AzureActiveDirectory" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.Exchange" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.SharePoint" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.General" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=DLP.All" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Uwaga: Synchronizacja danych może zająć do 24 godzin.
Konfiguracja sensorów Office365
1. Przejdź do Konfiguracja > Zarządzanie sensorami.
2. Kliknij Integruj obok Sensora Office 365.
3. Sprawdź czy spełniasz wszystkie wymagania.
4. Nazwij swoją integrację.
5. Podaj poświadczenia Office 365: Application ID, Tenant ID i Client Secret.
6. Kliknij Testuj łączność.
7. Kliknij Zastosuj.
Rozwiązywanie problemów
Jeżeli integracja się nie powiodła, użyj poniższego skryptu by włączyć następujące subskrypcje:
$ClientID = "client_id" // @zamień na swój client id, np: f5b17a13-6e4e-4c3e-81f4-51fb9a377182
$ClientSecretValue = "client_secret_value" // @zamień na swój client secret value, enp: UOJ7Q~YN5hkilURseLkfRN6~kTQp80Fndn9eJ
$tenantdomain = "tenant_domain" // @zamień na swoją domenę, np: albert@osf.onmicrosoft.com
$TenantGUID = "tenant_guid" // @zamień na swój tenant guid, np: ac593d47-7293-47ed-a8fc-c5824d38673a
$body = @{grant_type="client_credentials";resource="https://manage.office.com";client_id=$ClientID;client_secret=$ClientSecretValue}
$oauth = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantGUID/oauth2/token?api-version=1.0" -Body $body
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
$p = @{
"webhook"= $null
}
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.AzureActiveDirectory" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.Exchange" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.SharePoint" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=Audit.General" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Invoke-WebRequest "https://manage.office.com/api/v1.0/$TenantGUID/activity/feed/subscriptions/start?contentType=DLP.All" -Headers $headerParams -Method POST -Body $p -UseBasicParsing
Źródło: https://www.bitdefender.com/business/support/en/77209-151141-edr-configuration.html#UUID-f32f525c-6e5b-3baa-be17-b0c5c1e3cfb5