Erhöhen der Anwendungssicherheit mithilfe der Zero Trust-Prinzipien
Ein sicherer Netzwerkumkreis um die entwickelten Anwendungen herum kann nicht vorausgesetzt werden. Auf fast jede entwickelte Anwendung wird von vornherein von außerhalb des Netzwerkumkreises zugegriffen. Es kann nicht garantiert werden, dass Anwendungen sicher sind, wenn sie entwickelt werden, oder dass sie es nach der Bereitstellung bleiben. Es liegt in der Verantwortung des Anwendungsentwicklers, nicht nur die Sicherheit der Anwendung zu maximieren, sondern auch den Schaden zu minimieren, den die Anwendung anrichten kann, wenn sie kompromittiert wird.
Darüber hinaus umfasst die Verantwortung die Unterstützung der sich entwickelnden Anforderungen der Kunden und Benutzer, die erwarten, dass die Anwendung die Zero Trust-Sicherheitsanforderungen erfüllt. Erfahren Sie mehr über die Grundsätze des Zero Trust-Modells, und übernehmen Sie die Verfahren. Durch das Erlernen und Anwenden dieser Prinzipien können Anwendungen entwickelt werden, die sicherer sind und den Schaden minimieren, den sie bei einer Sicherheitsverletzung verursachen könnten.
Das Zero Trust-Modell sieht eine Kultur der expliziten Überprüfung anstelle einer impliziten Vertrauensstellung vor. Das Modell basiert auf drei wichtigen Leitprinzipien:
- Explizit verifizieren
- Geringstmögliche Zugriffsberechtigungen verwenden
- Von einer Sicherheitsverletzung ausgehen
Bewährte Zero Trust-Methoden
Verwenden Sie die folgenden bewährten Methoden, um Anwendungen mit Zero Trust-Unterstützung mit Microsoft Identity Platform und den zugehörigen Tools zu erstellen:
Explizit verifizieren
Microsoft Identity Platform bietet Authentifizierungsmechanismen für die Überprüfung der Identität von Personen oder Diensten, die auf eine Ressource zugreifen. Wenden Sie die im Anschluss beschriebenen bewährten Methoden an, um alle Entitäten, die auf Daten oder Ressourcen zugreifen müssen, explizit zu überprüfen.
Empfehlung | Vorteile der Anwendungssicherheit |
---|---|
Verwenden Sie die Microsoft-Authentifizierungsbibliotheken (Microsoft Authentication Libraries, MSAL). | Bei MSAL handelt es sich um einen Satz von Microsoft-Authentifizierungsbibliotheken für Entwickler. Mit MSAL können Benutzer und Anwendungen authentifiziert und Token für den Zugriff auf Unternehmensressourcen mithilfe von nur wenigen Codezeilen abgerufen werden. Dank der verwendeten modernen Protokolle (OpenID Connect und OAuth 2.0) müssen Anwendungen die Anmeldeinformationen von Benutzern nicht mehr direkt verarbeiten. Dieser Umgang mit Anmeldeinformationen verbessert die Sicherheit sowohl für Benutzer als auch für Anwendungen erheblich, da der Identitätsanbieter zum Sicherheitsperimeter wird. Außerdem werden diese Protokolle kontinuierlich weiterentwickelt, um neue Paradigmen, Möglichkeiten und Herausforderungen im Zusammenhang mit der Identitätssicherheit anzugehen. |
Führen Sie ggf. verbesserte Sicherheitserweiterungen wie etwa die fortlaufende Zugriffsevaluierung (Continuous Access Evaluation, CAE) und den Authentifizierungskontext für bedingten Zugriff ein. | Zu den am häufigsten verwendeten Erweiterungen in Microsoft Entra ID zählen Bedingter Zugriff, Authentifizierungskontext für bedingten Zugriff und CAE. Anwendungen, die erweiterte Sicherheitsfeatures wie CAE und den Authentifizierungskontext für bedingten Zugriff nutzen, müssen so programmiert sein, dass sie Anspruchsaufforderungen bewältigen können. Offene Protokolle ermöglichen es, die Anspruchsaufforderungen und -anforderungen zu verwenden, um zusätzliche Clientfunktionen aufzurufen. Die Funktionen können darin bestehen, die Interaktion mit Microsoft Entra ID fortzusetzen, z. B. wenn es eine Anomalie gab oder wenn sich die Bedingungen für die Authentifizierung des Benutzers ändern. Diese Erweiterungen können in eine Anwendung codiert werden, ohne die primären Codeflows für die Authentifizierung zu stören. |
Verwenden Sie den richtigen Authentifizierungsflow gemäß Anwendungstyp. Versuchen Sie bei Webanwendungen immer, vertrauliche Clientflows zu verwenden. Versuchen Sie für mobile Anwendungen, Broker oder Systembrowser für die Authentifizierung zu verwenden. | Die Flows für Webanwendungen, die ein Geheimnis enthalten können (vertrauliche Clients), gelten als sicherer als öffentliche Clients (z. B. Desktop- und Konsolenanwendungen). Wenn der Systemwebbrowser zur Authentifizierung einer mobilen Anwendung verwendet wird, ermöglicht ein sicheres einmaliges Anmelden (Single Sign-On, SSO) die Verwendung von Richtlinien zum Schutz von Anwendungen. |
Geringstmögliche Zugriffsberechtigungen verwenden
Ein Entwickler verwendet die Microsoft Identity Platform-Instanz, um Berechtigungen (Bereiche) zu erteilen und zu überprüfen, ob einem Aufrufer die richtige Berechtigung erteilt wurde, bevor er den Zugriff erlaubt. Erzwingen Sie den Zugriff mit geringsten Rechten in Anwendungen, indem Sie differenzierte Berechtigungen aktivieren, die nur den Zugriff mit geringsten Rechten erlauben. Beachten Sie die folgenden Praktiken, um sicherzustellen, dass das Prinzip der geringsten Rechte eingehalten wird:
- Prüfen Sie die angeforderten Berechtigungen, um sicherzustellen, dass die absolut am wenigsten privilegierten festgelegt sind, um den Auftrag zu erledigen. Erstellen Sie keine umfassenden Berechtigungen mit Zugriff auf die gesamte API-Oberfläche.
- Stellen Sie beim Entwerfen von APIs differenzierte Berechtigungen bereit, um Zugriffe mit geringstmöglichen Berechtigungen zu ermöglichen. Unterteilen Sie zunächst den Funktions- und Datenzugriff in Abschnitte, die über Bereiche und App-Rollen gesteuert werden können. Fügen Sie Ihre APIs nicht auf eine Weise zu vorhandenen Berechtigungen hinzu, die die Semantik der Berechtigung ändert.
- Bieten Sie Leseberechtigungen an.
Write
-Zugriff umfasst Berechtigungen für Erstellungs-, Aktualisierungs- und Löschvorgänge. Ein Client sollte niemals Schreibzugriff auf reine Lesedaten benötigen. - Bieten Sie sowohl delegierte Berechtigungen als auch Anwendungsberechtigungen an. Das Überspringen von Anwendungsberechtigungen kann für Clients eine zwingende Anforderung darstellen, um gängige Szenarien wie Automatisierung, Microservices und Ähnliches zu erreichen.
- Erwägen Sie die Verwendung von Standard- und Vollzugriffsberechtigungen, wenn Sie mit vertraulichen Daten arbeiten. Schränken Sie die vertraulichen Eigenschaften so ein, dass mit einer Standardzugriffsberechtigung nicht auf sie zugegriffen werden kann (beispielsweise
Resource.Read
). Implementieren Sie dann eine Vollzugriffsberechtigung (etwaResource.ReadFull
), die alle verfügbaren Eigenschaften einschließlich vertraulicher Informationen zurückgibt.
Von einer Sicherheitsverletzung ausgehen
Das Anwendungsregistrierungsportal von Microsoft Identity Platform ist der primäre Einstiegspunkt für Anwendungen, bei denen die Plattform zur Authentifizierung sowie für entsprechende Anforderungen verwendet werden soll. Verwenden Sie beim Registrieren und Konfigurieren von Anwendungen die im Anschluss beschriebenen Methoden, um den Schaden zu minimieren, den sie im Falle einer Sicherheitsverletzung verursachen können. Weitere Informationen finden Sie unter Bewährte Methoden für die Sicherheit bei der Microsoft Entra-Anwendungsregistrierung.
Berücksichtigen Sie die folgenden Aktionen, um Sicherheitsverletzungen zu verhindern:
- Definieren Sie die Redirect-URIs für die Anwendung richtig. Verwenden Sie nicht die gleiche Anwendungsregistrierung für mehrere Anwendungen.
- Überprüfen Sie die in der Anwendung verwendeten Umleitungs-URIs auf Eigentümerschaft und zur Vermeidung von Domänenübernahmen. Erstellen Sie die Anwendung nur dann für mehrere Mandanten, wenn dies auch beabsichtigt ist. |
- Stellen Sie sicher, dass die Anwendungs- und Dienstprinzipalbesitzer immer für die im Mandanten registrierten Anwendungen definiert und verwaltet werden.