Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diagramm der Sequenz des Bereitstellungshandbuchs einschließlich der folgenden Bereiche in folgender Reihenfolge: Übersicht, Plan, Vorbereiten, Veröffentlichen, Überwachen und Optimieren. Der Standort "Optimieren" ist derzeit hervorgehoben.
Dieser Artikel enthält die aktuellen empfohlenen bewährten Methoden für die Sicherheit im Daten-API-Generator. Dieser Artikel enthält keine vollständige Liste aller Sicherheitsüberlegungen für Ihre Daten-API-Generator-Lösung.
Deaktivieren von Legacyversionen von TLS auf Serverebene
Daten, die zwischen einem Client und dem Daten-API-Generator gesendet werden, sollten über eine sichere Verbindung erfolgen, um vertrauliche oder wertvolle Informationen zu schützen. Eine sichere Verbindung wird in der Regel mithilfe von TLS-Protokollen (Transport Layer Security) hergestellt.
Wie in der Transport Layer Protection-Anleitung von OWASP beschrieben, bietet TLS bei der korrekten Implementierung zahlreiche Sicherheitsvorteile:
- Vertraulichkeit – Schutz vor angreifern vor dem Lesen des Inhalts des Datenverkehrs.
- Integrität – Schutz vor einem Angreifer, der Datenverkehr ändert.
- Wiedergabeverhinderung – Schutz vor einem Angreifer, der Anfragen gegen den Server wiederholt.
- Authentifizierung – Der Client kann sicherstellen, dass er mit dem echten Server verbunden ist (beachten Sie, dass die Identität des Clients nicht überprüft wird, es sei denn, Clientzertifikate werden verwendet).
Empfehlungen
Eine Möglichkeit zum sicheren Konfigurieren von TLS besteht darin, die Verwendung von Legacyversionen von TLS auf Serverebene zu deaktivieren. Der Daten-API-Generator basiert auf Kestrel, einem plattformübergreifenden Webserver für ASP.NET Core und ist standardmäßig so konfiguriert, dass er auf die TLS-Versionskonfiguration des Betriebssystems zurückstellung. Die bewährten Verfahren von Microsoft für .NET-Richtlinien beschreiben die Motivation hinter diesem Verhalten.
Hinweis
TLS 1.2 ist ein Standard, der Sicherheitsverbesserungen gegenüber früheren Versionen bereitstellt. Der neueste veröffentlichte Standard TLS 1.3, der schneller und sicherer ist, ersetzt schließlich TLS 1.2.
Um sicherzustellen, dass .NET Framework-Anwendungen sicher bleiben, sollte die TLS-Version nicht hartcodiert werden. .NET Framework-Anwendungen sollten die TLS-Version verwenden, die vom Betriebssystem unterstützt wird.
Während die explizite Definition unterstützter TLS-Protokollversionen für Kestrel unterstützt wird, wird dies nicht empfohlen. Diese Definitionen werden in eine Zulassungsliste übersetzt, die die Unterstützung zukünftiger TLS-Versionen verhindert, sobald sie verfügbar sind. Weitere Informationen zum Standardmäßigen TLS-Protokollversionsverhalten von Kestrel finden Sie hier.
TLS-Unterstützung
TLS 1.2 ist standardmäßig in den neuesten Versionen von .NET und vielen der neuesten Betriebssystemversionen aktiviert.
- Installieren von .NET unter Windows – Microsoft Learn
- Aktivieren der Unterstützung für TLS 1.2 in Ihrer Umgebung – Leitfaden zur Microsoft Entra-ID
- TLS 1.2-Support bei Microsoft – Microsoft Security Blog
Konfigurieren der Authentifizierung für die Produktion
Ab DAB 2.0, das sich derzeit in der Vorschau befindet, ist der Standardauthentifizierungsanbieter Unauthenticated. Dies bedeutet, dass DAB kein JSON-Web-Token (JWT) überprüft oder validiert und dass alle Anfragen als anonymous ausgeführt werden. Ein anderer Dienst vor DAB kann Anrufer authentifizieren oder den Zugriff einschränken, aber DAB autorisiert weiterhin nur als anonymous.
Von Bedeutung
Wenn Sie DAB direkt für Clients verfügbar machen, konfigurieren Sie einen Authentifizierungsanbieter auf Produktionsniveau (z. B. EntraID oder Custom) anstatt sich auf Unauthenticated zu verlassen. Wenn Unauthenticated aktiv ist, werden authenticated und benutzerdefinierte Rollen, die in Entitätsberechtigungen definiert sind, nie aktiviert.
Weitere Informationen finden Sie unter Configure the Unauthenticated provider and runtime authentication configuration.
On-Behalf-Of (OBO) benutzerdelegierte Authentifizierung
Für SQL Server- und Azure SQL-Bereitstellungen, die Sicherheit auf Zeilenebene mit der echten Benutzeridentität erfordern, sollten Sie die On-Behalf-Of-Authentifizierung (OBO) aktivieren. OBO tauscht das eingehende Benutzertoken gegen ein nachgeschaltetes SQL-Token aus, sodass die Datenbank im Namen des tatsächlichen aufrufenden Benutzers authentifiziert wird. Weitere Informationen finden Sie unter benutzerdelegierte Authentifizierung.