Przewodnik po operacjach zabezpieczeń usługi Azure Active Directory dla aplikacji

Aplikacje mają obszar ataków na naruszenia zabezpieczeń i muszą być monitorowane. Chociaż nie dotyczy to tak często, jak kont użytkowników, mogą wystąpić naruszenia. Ponieważ aplikacje często działają bez interwencji człowieka, ataki mogą być trudniejsze do wykrycia.

Ten artykuł zawiera wskazówki dotyczące monitorowania i zgłaszania alertów dotyczących zdarzeń aplikacji. Jest ona regularnie aktualizowana w celu zapewnienia, że:

  • Uniemożliwianie złośliwym aplikacjom uzyskania nieuzasadnionego dostępu do danych

  • Zapobieganie naruszeniom zabezpieczeń aplikacji przez złych aktorów

  • Zbieranie szczegółowych informacji, które umożliwiają bezpieczne tworzenie i konfigurowanie nowych aplikacji

Jeśli nie znasz sposobu działania aplikacji w usłudze Azure Active Directory (Azure AD), zobacz Aplikacje i jednostki usługi w Azure AD.

Uwaga

Jeśli jeszcze nie zapoznano się z omówieniem operacji zabezpieczeń usługi Azure Active Directory, rozważ to teraz.

Czego szukać

Podczas monitorowania dzienników aplikacji pod kątem zdarzeń zabezpieczeń zapoznaj się z poniższą listą, aby ułatwić odróżnienie normalnego działania od złośliwych działań. Następujące zdarzenia mogą wskazywać na obawy dotyczące zabezpieczeń. Każdy z nich jest opisany w artykule.

  • Wszelkie zmiany występujące poza normalnymi procesami biznesowymi i harmonogramami

  • Zmiany poświadczeń aplikacji

  • Uprawnienia aplikacji

    • Jednostka usługi przypisana do Azure AD lub roli kontroli dostępu na podstawie ról (RBAC) platformy Azure

    • Aplikacje z uprawnieniami o wysokim poziomie uprawnień

    • Zmiany w usłudze Azure Key Vault

    • Użytkownik końcowy udzielając zgody na aplikacje

    • Zatrzymano zgodę użytkownika końcowego na podstawie poziomu ryzyka

  • Zmiany konfiguracji aplikacji

    • Identyfikator URI (Universal Resource Identifier) został zmieniony lub niestandardowy

    • Zmiany właścicieli aplikacji

    • Zmodyfikowane adresy URL wylogowania

Gdzie szukać

Pliki dziennika używane do badania i monitorowania to:

W Azure Portal można wyświetlić dzienniki inspekcji Azure AD i pobrać je jako pliki z wartościami rozdzielaną przecinkami (CSV) lub JavaScript Object Notation (JSON). Azure Portal oferuje kilka sposobów integrowania dzienników Azure AD z innymi narzędziami, które umożliwiają większą automatyzację monitorowania i zgłaszania alertów:

  • Microsoft Sentinel — umożliwia inteligentną analizę zabezpieczeń na poziomie przedsiębiorstwa dzięki funkcjom zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM).

  • Sigma rules - Sigma to ewoluujący otwarty standard pisania reguł i szablonów, których zautomatyzowane narzędzia do zarządzania mogą używać do analizowania plików dziennika. Jeśli istnieją szablony Sigma dla naszych zalecanych kryteriów wyszukiwania, dodaliśmy link do repozytorium Sigma. Szablony Sigma nie są pisane, testowane i zarządzane przez firmę Microsoft. Zamiast tego repozytorium i szablony są tworzone i zbierane przez społeczność zabezpieczeń IT na całym świecie.

  • Azure Monitor — automatyczne monitorowanie i alerty różnych warunków. Może tworzyć skoroszyty lub używać ich do łączenia danych z różnych źródeł.

  • Azure Event Hubs zintegrowane z rozwiązaniem SIEM- Azure AD dzienniki można zintegrować z innymi rozwiązaniami SIEM, takimi jak Splunk, ArcSight, QRadar i Sumo Logic za pośrednictwem integracji Azure Event Hubs.

  • Microsoft Defender for Cloud Apps — odnajdywanie aplikacji i zarządzanie nimi, zarządzanie aplikacjami i zasobami oraz sprawdzanie zgodności aplikacji w chmurze.

  • Zabezpieczanie tożsamości obciążeń za pomocą usługi Identity Protection w wersji zapoznawczej — wykrywa ryzyko związane z tożsamościami obciążeń w ramach zachowania logowania i wskaźników naruszenia zabezpieczeń w trybie offline.

Wiele z monitorów i alertów jest skutkiem zasad dostępu warunkowego. Możesz użyć skoroszytu szczegółowych informacji o dostępie warunkowym i raportowania , aby sprawdzić wpływ co najmniej jednej zasady dostępu warunkowego na logowania oraz wyniki zasad, w tym stanu urządzenia. Użyj skoroszytu, aby wyświetlić podsumowanie i zidentyfikować efekty w danym okresie. Możesz użyć skoroszytu, aby zbadać logowania określonego użytkownika.

W pozostałej części tego artykułu zalecamy monitorowanie i zgłaszanie alertów. Jest ona zorganizowana według typu zagrożenia. Tam, gdzie istnieją wstępnie utworzone rozwiązania, łączymy się z nimi lub dostarczamy przykłady po tabeli. W przeciwnym razie możesz tworzyć alerty przy użyciu powyższych narzędzi.

Poświadczenia aplikacji

Wiele aplikacji używa poświadczeń do uwierzytelniania w Azure AD. Wszelkie inne poświadczenia dodane poza oczekiwanymi procesami mogą być złośliwym aktorem korzystającym z tych poświadczeń. Zalecamy używanie certyfikatów X509 wystawionych przez zaufane urzędy lub tożsamości zarządzane zamiast używania wpisów tajnych klienta. Jeśli jednak musisz używać wpisów tajnych klienta, postępuj zgodnie z dobrymi praktykami higienicznymi, aby zapewnić bezpieczeństwo aplikacji. Należy pamiętać, że aktualizacje aplikacji i jednostki usługi są rejestrowane jako dwa wpisy w dzienniku inspekcji.

  • Monitorowanie aplikacji w celu identyfikowania długich czasów wygaśnięcia poświadczeń.

  • Zastąp długotrwałe poświadczenia krótkim okresem życia. Upewnij się, że poświadczenia nie są zatwierdzane w repozytoriach kodu i są przechowywane bezpiecznie.

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Dodano poświadczenia do istniejących aplikacji Wys. dzienniki inspekcji Azure AD Service-Core Directory, Category-ApplicationManagement
Działanie: Aktualizowanie zarządzania Application-Certificates i wpisami tajnymi
-i-
Działanie: Aktualizowanie jednostki usługi/aktualizowanie aplikacji
Alert, gdy poświadczenia są: dodawane poza normalnymi godzinami pracy lub przepływami pracy, typów, które nie są używane w danym środowisku, lub dodawane do przepływu bez protokołu SAML obsługującego jednostkę usługi.
Szablon usługi Microsoft Sentinel

Reguły Sigma
Poświadczenia z okresem istnienia dłuższym niż są dozwolone przez zasady. Śred. Microsoft Graph Stan i data zakończenia poświadczeń klucza aplikacji
-i-
Poświadczenia hasła aplikacji
Za pomocą interfejs Graph API MS można znaleźć datę rozpoczęcia i zakończenia poświadczeń oraz ocenić okresy istnienia dłuższe niż dozwolone. Zobacz skrypt programu PowerShell poniżej tej tabeli.

Dostępne są następujące wstępnie utworzone monitorowanie i alerty:

Uprawnienia aplikacji

Podobnie jak konto administratora, aplikacje mogą mieć przypisane role uprzywilejowane. Aplikacje można przypisywać Azure AD role, takie jak administrator globalny lub role RBAC platformy Azure, takie jak właściciel subskrypcji. Ponieważ mogą działać bez użytkownika i jako usługa w tle, należy ściśle monitorować, kiedy aplikacja ma nadaną wysoko uprzywilejowaną rolę lub uprawnienie.

Jednostka usługi przypisana do roli

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Aplikacja przypisana do roli RBAC platformy Azure lub roli Azure AD Wysoki do średni dzienniki inspekcji Azure AD Typ: jednostka usługi
Działanie: "Dodaj członka do roli" lub "Dodaj uprawnionego członka do roli"
-lub-
"Dodaj członka o określonym zakresie do roli".
W przypadku ról o wysokim poziomie uprawnień, takich jak administrator globalny, ryzyko jest wysokie. W przypadku ról o niższych uprawnieniach ryzyko jest średnie. Alert za każdym razem, gdy aplikacja zostanie przypisana do roli platformy Azure lub Azure AD roli poza normalnymi procedurami zarządzania zmianami lub konfiguracji.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Aplikacja przyznała uprawnienia o wysokim poziomie uprawnień

Aplikacje powinny postępować zgodnie z zasadą najniższych uprawnień. Zbadaj uprawnienia aplikacji, aby upewnić się, że są potrzebne. Możesz utworzyć raport udzielania zgody aplikacji , aby ułatwić identyfikowanie aplikacji i wyróżnianie uprawnień uprzywilejowanych.

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Aplikacja udzieliła uprawnień o wysokim poziomie uprawnień, takich jak uprawnienia z parametrem ". Wszystkie" (Directory.ReadWrite.All) lub szerokie uprawnienia (Poczta). Wys. dzienniki inspekcji Azure AD "Dodawanie przypisania roli aplikacji do jednostki usługi",
- gdzie-
Obiekty docelowe identyfikują interfejs API z poufnymi danymi (takimi jak Microsoft Graph)
-and-
AppRole.Value identyfikuje uprawnienie aplikacji o wysokim poziomie uprawnień (rola aplikacji).
Aplikacje przyznały szerokie uprawnienia, takie jak ". Wszystkie" (Directory.ReadWrite.All) lub szerokie uprawnienia (Poczta).
Szablon usługi Microsoft Sentinel

Reguły Sigma
Administrator udzielając uprawnień aplikacji (ról aplikacji) lub uprawnień delegowanych o wysokim poziomie uprawnień Wys. Portal platformy Microsoft 365 "Dodawanie przypisania roli aplikacji do jednostki usługi",
-where-
Obiekty docelowe identyfikują interfejs API z poufnymi danymi (takimi jak Microsoft Graph)
"Dodaj uprawnienie delegowane",
-where-
Obiekty docelowe identyfikują interfejs API z poufnymi danymi (takimi jak Microsoft Graph)
-and-
DelegatedPermissionGrant.Scope obejmuje uprawnienia o wysokim poziomie uprawnień.
Alert, gdy administrator globalny, administrator aplikacji lub administrator aplikacji w chmurze wyraża zgodę na aplikację. Szczególnie poszukaj zgody poza normalnym działaniem i procedurami zmiany.
Szablon usługi Microsoft Sentinel
Szablon usługi Microsoft Sentinel
Szablon usługi Microsoft Sentinel

Reguły Sigma
Aplikacja ma przyznane uprawnienia dla programu Microsoft Graph, programu Exchange, programu SharePoint lub Azure AD. Wys. dzienniki inspekcji Azure AD "Dodawanie uprawnień delegowanych"
-lub-
"Dodawanie przypisania roli aplikacji do jednostki usługi",
-where-
Obiekty docelowe identyfikują interfejs API z poufnymi danymi (takimi jak Microsoft Graph, Exchange Online itd.)
Alert jak w poprzednim wierszu.
Szablon usługi Microsoft Sentinel

Reguły Sigma
Uprawnienia aplikacji (role aplikacji) dla innych interfejsów API są przyznawane Śred. dzienniki inspekcji Azure AD "Dodawanie przypisania roli aplikacji do jednostki usługi",
-where-
Obiekty docelowe identyfikują wszelkie inne interfejsy API.
Alert jak w poprzednim wierszu.
Reguły Sigma
Uprawnienia delegowane o wysokim poziomie uprawnień są przyznawane w imieniu wszystkich użytkowników Wys. dzienniki inspekcji Azure AD "Add delegated permission grant", gdzie target(s) identyfikuje interfejs API z poufnymi danymi (takimi jak Microsoft Graph),
DelegatedPermissionGrant.Scope obejmuje uprawnienia o wysokim poziomie uprawnień,
-and-
DelegatedPermissionGrant.ConsentType to "AllPrincipals".
Alert jak w poprzednim wierszu.
Szablon usługi Microsoft Sentinel
Szablon usługi Microsoft Sentinel
Szablon usługi Microsoft Sentinel

Reguły Sigma

Aby uzyskać więcej informacji na temat monitorowania uprawnień aplikacji, zobacz ten samouczek: Badanie i korygowanie ryzykownych aplikacji OAuth.

Azure Key Vault

Użyj usługi Azure Key Vault do przechowywania wpisów tajnych dzierżawy. Zalecamy zwrócenie uwagi na wszelkie zmiany w konfiguracji i działaniach Key Vault.

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Jak i kiedy uzyskujesz dostęp do usługi Key Vault i przez kogo Śred. Dzienniki usługi Azure Key Vault Typ zasobu: Magazyny kluczy Poszukaj: dowolny dostęp do Key Vault poza regularnymi procesami i godzinami, wszelkie zmiany listy ACL Key Vault.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Po skonfigurowaniu usługi Azure Key Vault włącz rejestrowanie. Zobacz, jak i kiedy uzyskujesz dostęp do usługi Key Vault, i skonfiguruj alerty dotyczące Key Vault powiadamiania przypisanych użytkowników lub list dystrybucyjnych za pośrednictwem poczty e-mail, telefonu, tekstu lub powiadomienia usługi Event Grid, jeśli ma to wpływ na kondycję. Ponadto konfigurowanie monitorowania za pomocą Key Vault szczegółowych informacji zapewnia migawkę Key Vault żądań, wydajności, awarii i opóźnień. Usługa Log Analytics zawiera również kilka przykładowych zapytań dotyczących usługi Azure Key Vault, do których można uzyskać dostęp po wybraniu Key Vault, a następnie w obszarze "Monitorowanie" wybierz pozycję "Dzienniki".

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Zgoda użytkownika końcowego na aplikację Niski dzienniki inspekcji Azure AD Działanie: Zgoda na aplikację/ConsentContext.IsAdminConsent = false Wyszukaj: konta o wysokim poziomie uprawnień lub wysoce uprzywilejowane, aplikacja żąda uprawnień wysokiego ryzyka, aplikacji o podejrzanych nazwach, na przykład ogólnych, błędnie napisanych itp.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Czynność wyrażania zgody na aplikację nie jest złośliwa. Jednak zbadaj nowe zgody użytkownika końcowego na wyszukiwanie podejrzanych aplikacji. Można ograniczyć operacje zgody użytkownika.

Aby uzyskać więcej informacji na temat operacji wyrażania zgody, zobacz następujące zasoby:

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Zgoda użytkownika końcowego została zatrzymana z powodu zgody opartej na ryzyku Śred. dzienniki inspekcji Azure AD Katalog podstawowy /ApplicationManagement / Zgoda na aplikację
Przyczyna stanu błędu = Microsoft.online.Security.userConsent
BlockedForRiskyAppsExceptions
Monitorowanie i analizowanie zgody w dowolnym momencie jest zatrzymywane z powodu ryzyka. Wyszukaj: konta o wysokim poziomie uprawnień lub wysoce uprzywilejowane, aplikacja żąda uprawnień wysokiego ryzyka lub aplikacji o podejrzanych nazwach, na przykład ogólnych, błędnie napisanych itp.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Przepływy uwierzytelniania aplikacji

Istnieje kilka przepływów w protokole OAuth 2.0. Zalecany przepływ aplikacji zależy od typu tworzonej aplikacji. W niektórych przypadkach istnieje wybór przepływów dostępnych dla aplikacji. W tym przypadku niektóre przepływy uwierzytelniania są zalecane w innych. W szczególności należy unikać poświadczeń hasła właściciela zasobu (ROPC), ponieważ wymagają one od użytkownika ujawnienia bieżących poświadczeń hasła aplikacji. Następnie aplikacja używa poświadczeń do uwierzytelniania użytkownika względem dostawcy tożsamości. Większość aplikacji powinna używać przepływu kodu uwierzytelniania lub przepływu kodu uwierzytelniania z kluczem dowodowym dla wymiany kodu (PKCE), ponieważ ten przepływ jest zalecany.

Jedynym scenariuszem, w którym sugerowane jest ropc, jest automatyczne testowanie aplikacji. Aby uzyskać szczegółowe informacje, zobacz Uruchamianie zautomatyzowanych testów integracji .

Przepływ kodu urządzenia to kolejny przepływ protokołu OAuth 2.0 dla urządzeń z ograniczeniami wejściowymi i nie jest używany we wszystkich środowiskach. Gdy przepływ kodu urządzenia jest wyświetlany w środowisku i nie jest używany w scenariuszu urządzenia z ograniczonymi danymi wejściowymi. Dalsze badanie jest uzasadnione błędnie skonfigurowaną aplikacją lub potencjalnie złośliwą.

Monitoruj uwierzytelnianie aplikacji przy użyciu następującej formacji:

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Aplikacje korzystające z przepływu uwierzytelniania ROPC Śred. dziennik Azure AD logowania Status=Success

Protokół uwierzytelniania ROPC
Wysoki poziom zaufania jest umieszczany w tej aplikacji, ponieważ poświadczenia mogą być buforowane lub przechowywane. Przenieś, jeśli to możliwe, do bezpieczniejszego przepływu uwierzytelniania. Powinno to być używane tylko w automatycznym testowaniu aplikacji, jeśli w ogóle. Aby uzyskać więcej informacji, zobacz Platforma tożsamości Microsoft i poświadczenia hasła właściciela zasobu OAuth 2.0

Reguły Sigma
Aplikacje korzystające z przepływu kodu urządzenia Niski do średniej dziennik Azure AD logowania Status=Success

Kod Protocol-Device uwierzytelniania
Przepływy kodu urządzenia są używane dla urządzeń z ograniczonymi danymi wejściowymi, które mogą nie znajdować się we wszystkich środowiskach. Jeśli pojawią się pomyślne przepływy kodu urządzenia, bez konieczności ich używania należy zbadać poprawność. Aby uzyskać więcej informacji, zobacz Platforma tożsamości Microsoft i przepływ udzielania autoryzacji urządzenia OAuth 2.0

Reguły Sigma

Zmiany konfiguracji aplikacji

Monitorowanie zmian w konfiguracji aplikacji. W szczególności konfiguracja zmienia się na jednolity identyfikator zasobu (URI), własność i adres URL wylogowywania.

Zwisające zmiany identyfikatora URI i identyfikatora URI przekierowania

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Zwisający identyfikator URI Wys. dzienniki Azure AD i rejestracja aplikacji Service-Core Directory, Category-ApplicationManagement
Działanie: Aktualizowanie aplikacji
Success — nazwa właściwości AppAddress
Na przykład wyszukaj zwisające identyfikatory URI wskazujące nazwę domeny, która już nie istnieje lub nie jest jawnie właścicielem.
Szablon usługi Microsoft Sentinel

Łącze do repozytorium Sigma
Zmiany konfiguracji identyfikatora URI przekierowania Wys. dzienniki Azure AD Service-Core Directory, Category-ApplicationManagement
Działanie: Aktualizowanie aplikacji
Success — nazwa właściwości AppAddress
Poszukaj identyfikatorów URI, które nie używają protokołu HTTPS*, identyfikatorów URI z symbolami wieloznacznymi na końcu lub domeny adresu URL, identyfikatorów URI, które nie są unikatowe dla aplikacji, identyfikatory URI wskazujące domenę, którą nie kontrolujesz.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Alert po wykryciu tych zmian.

Identyfikator URI appID został dodany, zmodyfikowany lub usunięty

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Zmiany identyfikatora URI identyfikatora AppID Wys. dzienniki Azure AD Service-Core Directory, Category-ApplicationManagement
Działanie: Aktualizacja
Aplikacja
Działanie: Aktualizowanie jednostki usługi
Poszukaj wszelkich modyfikacji identyfikatora URI identyfikatora AppID, takich jak dodawanie, modyfikowanie lub usuwanie identyfikatora URI.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Alert po wykryciu tych zmian poza zatwierdzonymi procedurami zarządzania zmianami.

Nowy właściciel

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Zmiany własności aplikacji Śred. dzienniki Azure AD Service-Core Directory, Category-ApplicationManagement
Działanie: Dodawanie właściciela do aplikacji
Poszukaj dowolnego wystąpienia użytkownika dodawanego jako właściciel aplikacji poza normalnymi działaniami zarządzania zmianami.
Szablon usługi Microsoft Sentinel

Reguły Sigma

Adres URL wylogowania został zmodyfikowany lub usunięty

Co monitorować Poziom ryzyka Lokalizacja Filtr/filtr podrzędny Uwagi
Zmiany w adresie URL wylogowania Niski dzienniki Azure AD Service-Core Directory, Category-ApplicationManagement
Działanie: Aktualizowanie aplikacji
-and-
Działanie: Aktualizowanie zasady usługi
Poszukaj wszelkich modyfikacji adresu URL wylogowywania. Puste wpisy lub wpisy w nieistniejących lokalizacjach uniemożliwiłyby użytkownikowi zakończenie sesji.
Szablon usługi Microsoft Sentinel
Reguły Sigma

Zasoby

Następne kroki

Omówienie operacji zabezpieczeń Azure AD

Operacje zabezpieczeń dla kont użytkowników

Operacje zabezpieczeń dla kont użytkowników

Operacje zabezpieczeń dla kont uprzywilejowanych

Operacje zabezpieczeń dla Privileged Identity Management

Operacje zabezpieczeń dla urządzeń

Operacje zabezpieczeń dla infrastruktury