Zwiększanie zabezpieczeń aplikacji przy użyciu zasad zero trust

Nie można założyć bezpiecznego obwodu sieci wokół tworzonych aplikacji. Prawie każda opracowana aplikacja, zgodnie z projektem, będzie uzyskiwana dostęp z zewnątrz obwodu sieci. Nie można zagwarantować bezpieczeństwa aplikacji podczas ich tworzenia lub pozostaną tak po ich wdrożeniu. Jest to obowiązek dewelopera aplikacji nie tylko zmaksymalizować bezpieczeństwo aplikacji, ale także zminimalizować szkody, jakie może spowodować naruszenie zabezpieczeń aplikacji.

Ponadto odpowiedzialność obejmuje wspieranie zmieniających się potrzeb klientów i użytkowników, którzy oczekują, że aplikacja spełnia wymagania zabezpieczeń Zero Trust. Poznaj zasady modelu Zero Trust i zastosuj praktyki. Ucząc się i przyjmując zasady, można opracowywać aplikacje, które są bezpieczniejsze i zminimalizować szkody, które mogą spowodować, jeśli wystąpi przerwa w zabezpieczeniach.

Model Zero Trust określa kulturę jawnej weryfikacji, a nie niejawnej relacji zaufania. Model jest zakotwiczony na trzech kluczowych zasadach przewodnich:

  • Jawną weryfikację
  • Używanie dostępu z jak najmniejszą liczbą uprawnień
  • Zakładanie naruszeń zabezpieczeń

Najlepsze rozwiązania dotyczące zerowego zaufania

Postępuj zgodnie z tymi najlepszymi rozwiązaniami, aby tworzyć aplikacje gotowe do zaufania zero trust za pomocą Platforma tożsamości Microsoft i jej narzędzi.

Jawną weryfikację

Platforma tożsamości Microsoft oferuje mechanizmy uwierzytelniania na potrzeby weryfikowania tożsamości osoby lub usługi uzyskiwania dostępu do zasobu. Zastosuj najlepsze rozwiązania opisane poniżej, aby zweryfikować jawnie wszystkie jednostki, które muszą uzyskiwać dostęp do danych lub zasobów.

Najlepsze rozwiązanie Korzyści z zabezpieczeń aplikacji
Użyj bibliotek uwierzytelniania firmy Microsoft (MSAL). Biblioteka MSAL to zestaw bibliotek uwierzytelniania firmy Microsoft dla deweloperów. Za pomocą biblioteki MSAL użytkownicy i aplikacje mogą być uwierzytelniani, a tokeny można uzyskać w celu uzyskania dostępu do zasobów firmy przy użyciu zaledwie kilku wierszy kodu. Biblioteka MSAL używa nowoczesnych protokołów (OpenID Połączenie i OAuth 2.0), które usuwają potrzebę, aby aplikacje kiedykolwiek obsługiwały poświadczenia użytkownika bezpośrednio. Ta obsługa poświadczeń znacznie poprawia bezpieczeństwo zarówno użytkowników, jak i aplikacji, ponieważ dostawca tożsamości staje się obwodem zabezpieczeń. Ponadto te protokoły stale ewoluują, aby sprostać nowym paradygmatom, możliwościom i wyzwaniom związanym z bezpieczeństwem tożsamości.
W razie potrzeby zastosuj rozszerzone rozszerzenia zabezpieczeń, takie jak ciągła ocena dostępu (CAE) i kontekst uwierzytelniania dostępu warunkowego. W usłudze Microsoft Entra ID niektóre z najczęściej używanych rozszerzeń to dostęp warunkowy, kontekst uwierzytelniania dostępu warunkowego i caE . Aplikacje korzystające z rozszerzonych funkcji zabezpieczeń, takich jak CAE i kontekst uwierzytelniania dostępu warunkowego, muszą być kodowane, aby sprostać wyzwaniom związanym z oświadczeniami. Otwarte protokoły umożliwiają wywoływanie dodatkowych możliwości klienta przez żądania oświadczeń i żądań oświadczeń. Możliwości mogą być kontynuowanie interakcji z identyfikatorem Entra firmy Microsoft, na przykład w przypadku wystąpienia anomalii lub zmiany warunków uwierzytelniania użytkownika. Te rozszerzenia można kodować do aplikacji bez zakłócania przepływów kodu podstawowego na potrzeby uwierzytelniania.
Użyj prawidłowego przepływu uwierzytelniania według typu aplikacji. W przypadku aplikacji internetowych zawsze próbuj używać poufnych przepływów klienta. W przypadku aplikacji mobilnych spróbuj użyć brokerów lub przeglądarki systemowej do uwierzytelniania. Przepływy dla aplikacji internetowych, które mogą przechowywać wpis tajny (poufnych klientów) są uważane za bezpieczniejsze niż klienci publiczni (na przykład: aplikacje klasyczne i konsolowe). Gdy systemowa przeglądarka internetowa jest używana do uwierzytelniania aplikacji mobilnej, bezpieczne środowisko logowania jednokrotnego umożliwia korzystanie z zasad ochrony aplikacji.

Używanie dostępu z jak najmniejszą liczbą uprawnień

Deweloper używa Platforma tożsamości Microsoft, aby udzielić uprawnień (zakresów) i sprawdzić, czy obiekt wywołujący otrzymał odpowiednie uprawnienia przed zezwoleniem na dostęp. Wymusić najmniej uprzywilejowany dostęp w aplikacjach, włączając szczegółowe uprawnienia, które zezwalają na najmniejszą ilość dostępu niezbędnego do udzielenia. Należy wziąć pod uwagę następujące rozwiązania, aby upewnić się, że przestrzeganie zasady najniższych uprawnień:

  • Oceń uprawnienia, które są żądane, aby upewnić się, że bezwzględnie najmniej uprzywilejowane jest ustawione, aby wykonać zadanie. Nie twórz uprawnień "catch-all" z dostępem do całej powierzchni interfejsu API.
  • Podczas projektowania interfejsów API należy zapewnić szczegółowe uprawnienia, aby zezwolić na dostęp z najniższymi uprawnieniami. Zacznij od podzielenia funkcji i dostępu do danych na sekcje, które mogą być kontrolowane przy użyciu zakresów i ról aplikacji. Nie dodawaj interfejsów API do istniejących uprawnień w sposób, który zmienia semantyka uprawnień.
  • Oferowanie uprawnień tylko do odczytu. Write dostęp, obejmuje uprawnienia do operacji tworzenia, aktualizowania i usuwania. Klient nigdy nie powinien wymagać dostępu do zapisu tylko do odczytu danych.
  • Oferują zarówno uprawnienia delegowane, jak i uprawnienia aplikacji . Pomijanie uprawnień aplikacji może powodować trudne wymaganie dla klientów w celu osiągnięcia typowych scenariuszy, takich jak automatyzacja, mikrousługi i inne.
  • Rozważ "standardowe" i "pełne" uprawnienia dostępu, jeśli pracujesz z poufnymi danymi. Ogranicz poufne właściwości, aby nie można było uzyskać do nich dostępu przy użyciu uprawnień dostępu "standardowego", na przykład Resource.Read. Następnie zaimplementuj uprawnienie dostępu "pełne", na przykład Resource.ReadFull , które zwraca wszystkie dostępne właściwości, w tym informacje poufne.

Zakładanie naruszeń zabezpieczeń

Portal rejestracji aplikacji Platforma tożsamości Microsoft jest podstawowym punktem wejścia dla aplikacji, które zamierzają używać platformy do uwierzytelniania i skojarzonych potrzeb. Podczas rejestrowania i konfigurowania aplikacji postępuj zgodnie z poniższymi rozwiązaniami, aby zminimalizować szkody, które mogą spowodować, jeśli wystąpi naruszenie zabezpieczeń. Aby uzyskać więcej informacji, zobacz Microsoft Entra application registration security best practices (Najlepsze rozwiązania dotyczące zabezpieczeń rejestracji aplikacji firmy Microsoft).

Rozważ następujące działania zapobiegające naruszeniom zabezpieczeń:

  • Poprawnie zdefiniuj identyfikatory URI przekierowania dla aplikacji. Nie używaj tej samej rejestracji aplikacji dla wielu aplikacji.
  • Sprawdź identyfikatory URI przekierowania używane w rejestracji aplikacji na potrzeby własności i aby uniknąć przejęcia domeny. Nie twórz aplikacji jako wielodostępnej, chyba że ma być przeznaczona. |
  • Upewnij się, że właściciele aplikacji i jednostki usługi są zawsze zdefiniowane i obsługiwane dla aplikacji zarejestrowanych w dzierżawie.

Zobacz też