Freigeben über


Sicherheit in Azure App Service

In diesem Artikel wird beschrieben, wie Azure App Service Ihre Web-App, ihr mobiles App-Back-End, die API-App oder die Funktions-App sichert. Im Artikel wird auch beschrieben, wie Sie Ihre App mithilfe integrierter App Service-Features weiter sichern können.

Azure App Service sichert und schützt seine Plattformkomponenten aktiv, einschließlich azure virtual machines (VMs), Speicher, Netzwerkverbindungen, Webframeworks sowie Verwaltungs- und Integrationsfeatures. Der App-Dienst wird kontinuierlichen, strengen Compliance-Prüfungen unterzogen, um folgendes sicherzustellen:

  • Jede App ist von anderen Azure-Apps und -Ressourcen getrennt.
  • Regelmäßige Updates von VMs und Laufzeitsoftware beheben neu entdeckte Sicherheitsrisiken.
  • Die Kommunikation von geheimen Schlüsseln und Verbindungszeichenfolgen zwischen Apps und anderen Azure-Ressourcen wie Azure SQL-Datenbank erfolgt nur innerhalb von Azure, ohne Netzwerkgrenzen zu überschreiten. Gespeicherte geheime Schlüssel werden immer verschlüsselt.
  • Alle Kommunikationen über App Service-Konnektivitätsfeatures wie Hybridverbindung werden verschlüsselt.
  • Alle Verbindungen über Remoteverwaltungstools wie Azure PowerShell, Azure CLI, Azure SDKs und REST-APIs werden verschlüsselt.
  • Kontinuierliches Bedrohungsmanagement schützt die Infrastruktur und Plattform vor Schadsoftware, verteilten Denial-of-Service (DDoS) und Man-in-the-Middle-Angriffen und anderen Bedrohungen.

Weitere Informationen zur Infrastruktur- und Plattformsicherheit in Azure finden Sie im Azure Trust Center.

In den folgenden Abschnitten werden weitere Möglichkeiten zum Schutz Ihrer App Service-App vor Bedrohungen beschrieben.

HTTPS und Zertifikate

Sie können App Service verwenden, um Ihre Apps über HTTPS zu sichern. Wenn Ihre App erstellt wird, ist der Standarddomänenname <app_name>.azurewebsites.net bereits über HTTPS zugänglich. Wenn Sie eine benutzerdefinierte Domäne für Ihre App konfigurieren, schützen Sie sie mit einem TLS/SSL-Zertifikat , damit Clientbrowser sichere HTTPS-Verbindungen mit Ihrer benutzerdefinierten Domäne herstellen können.

Der App-Dienst unterstützt die folgenden Arten von Zertifikaten:

  • Verwaltetes Zertifikat für kostenlosen App-Dienst
  • App Service-Zertifikat
  • Zertifikat von Drittanbietern
  • Aus Azure Key Vault importiertes Zertifikat

Weitere Informationen finden Sie unter Hinzufügen und Verwalten von TLS/SSL-Zertifikaten in Azure App Service.

Unsichere Protokolle (HTTP, TLS 1.0, FTP)

Standardmäßig erzwingt App Service eine Umleitung von HTTP-Anforderungen an HTTPS. Ungesicherte Anforderungen werden umgeleitet, bevor sie Ihren Anwendungscode erreichen. Informationen zum Ändern dieses Verhaltens finden Sie unter Konfigurieren allgemeiner Einstellungen.

Azure App Service unterstützt die folgenden TLS-Versionen (Transport Layer Security) für eingehende Anforderungen an Ihre Web-App:

  • TLS 1.3: Die neueste und sicherste Version.
  • TLS 1.2: Die standardmäßige Mindest-TLS-Version für neue Web-Apps.
  • TLS 1.1 und TLS 1.0: Versionen, die aus Gründen der Abwärtskompatibilität unterstützt werden, von Branchenstandards wie dem Payment Card Industry Data Security Standard (PCI DSS) jedoch nicht als sicher angesehen werden.

Sie können die minimale TLS-Version für eingehende Anforderungen an Ihre Web-App und ihre SCM-Website (Source Control Manager) konfigurieren. Standardmäßig ist das Minimum auf TLS 1.2 festgelegt. Informationen zum Zulassen verschiedener TLS-Versionen finden Sie unter Konfigurieren allgemeiner Einstellungen.

Der App Service unterstützt sowohl FTP als auch FTPS für die Bereitstellung von App-Dateien. Neue Apps sind so eingestellt, dass nur FTPS standardmäßig akzeptiert wird. Um die Sicherheit zu erhöhen, verwenden Sie FTPS anstelle von FTP, wenn möglich. Wenn Sie FTP/S nicht verwenden, sollten Sie sie deaktivieren. Weitere Informationen finden Sie unter Deploy your app to Azure App Service using FTP/S.

Einschränkungen für statische IP-Adressen

Standardmäßig akzeptiert Ihre App Service-App Anforderungen von allen Internet-IP-Adressen, aber Sie können den Zugriff auf eine Teilmenge von IP-Adressen einschränken. Sie können den App-Dienst unter Windows verwenden, um eine Liste der IP-Adressen zu definieren, die auf Ihre App zugreifen dürfen. Die Liste mit den zulässigen IP-Adressen kann einzelne IP-Adressen oder einen durch eine Subnetzmaske definierten IP-Adressbereich enthalten. Weitere Informationen finden Sie unter Einrichten von Azure App Service-Zugriffseinschränkungen.

Für Den App-Dienst unter Windows können Sie ip-Adressen auch dynamisch einschränken, indem Sie die web.config Datei konfigurieren. Weitere Informationen finden Sie unter Dynamic IP Security <dynamicIpSecurity>.

Clientauthentifizierung und -autorisierung

Der App-Dienst bietet integrierte Authentifizierung und Autorisierung von Benutzern oder Client-Apps. Sie können Ihre eigene Authentifizierungs- und Autorisierungslösung implementieren oder app Service erlauben, sie für Sie zu verarbeiten.

Wenn aktiviert, können eingebaute Authentifizierungs- und Autorisierungsfunktionen die Anmeldung von Benutzern und Client-Apps mit wenig oder gar keinem Code durchführen. Das Authentifizierungs- und Autorisierungsmodul verarbeitet Webanforderungen, bevor sie an Ihren Anwendungscode übergeben werden, und verweigert nicht autorisierte Anforderungen.

App Service-Authentifizierung und Autorisierung unterstützen mehrere Authentifizierungsanbieter, einschließlich Microsoft Entra-ID, Microsoft-Konten, Facebook, Google und X. Weitere Informationen finden Sie unter Authentifizierung und Autorisierung in Azure App Service.

Dienst-zu-Dienst-Authentifizierung

Wenn Sie sich bei einem Back-End-Dienst authentifizieren, bietet App Service je nach Ihren Anforderungen zwei Mechanismen:

Konnektivität mit Remoteressourcen

Ihre App muss möglicherweise auf Azure-Ressourcen, lokale Ressourcen oder Ressourcen in einem virtuellen Azure-Netzwerk zugreifen. App Service stellt eine sichere Verbindungsmethode für jedes dieser Szenarien bereit. Außerdem sollten Sie bewährte Methoden für die Sicherheit beachten, z. B. immer verschlüsselte Verbindungen verwenden, auch wenn die Back-End-Ressource unverschlüsselte Verbindungen zulässt.

Stellen Sie außerdem sicher, dass Ihr Back-End-Azure-Dienst den kleinsten möglichen Satz von IP-Adressen zulässt. Informationen zu den ausgehenden IP-Adressen für Ihre App finden Sie unter "Ausgehende IP-Adressen".

Azure-Ressourcen

Wenn Ihre App eine Verbindung mit Azure-Ressourcen wie Azure SQL-Datenbank und Azure Storage herstellt, bleibt die Verbindung in Azure und überschreitet keine Netzwerkgrenzen. Die Verbindung verwendet freigegebene Netzwerke in Azure. Stellen Sie daher sicher, dass sie verschlüsselt ist.

Wenn Ihre App in einer App-Dienstumgebung gehostet wird, sollten Sie mithilfe von Endpunkten des virtuellen Netzwerks eine Verbindung mit unterstützten Azure-Diensten herstellen.

Ressourcen in einem virtuellen Azure-Netzwerk

Ihre App kann auf Ressourcen in einem Azure Virtual Network durch virtuelle Netzwerk-Integration unter Verwendung von Point-to-Site-VPN zugreifen. Die App kann dann mithilfe ihrer privaten IP-Adressen auf die Ressourcen im virtuellen Netzwerk zugreifen. Die Point-to-Site-Verbindung durchläuft weiterhin die gemeinsamen Netzwerke in Azure.

Um die Ressourcenkonnektivität vollständig von den freigegebenen Netzwerken in Azure zu isolieren, erstellen Sie Ihre App in einer App Service-Umgebung. Da eine App Service-Umgebung immer in einem dedizierten virtuellen Netzwerk bereitgestellt wird, ist die Konnektivität zwischen Ihrer App und anderen Ressourcen im virtuellen Netzwerk vollständig isoliert. Weitere Informationen zur Netzwerksicherheit in einer App-Dienstumgebung finden Sie unter Netzwerkisolation.

Lokale Ressourcen

Sie können auf folgende Weise sicher auf lokale Ressourcen wie Datenbanken zugreifen:

  • Eine Hybridverbindung stellt eine Punkt-zu-Punkt-Verbindung mit Ihrer Remoteressource über einen TCP-Tunnel (Transmission Control Protocol) her, der TLS 1.2 mit gemeinsam genutzten Zugriffssignaturschlüsseln verwendet.

  • Integration eines virtuellen Netzwerks in eine Standort-zu-Standort-VPN- oder App-Dienstumgebung mit einem Standort-zu-Standort-VPN. Diese Methoden verbinden das virtuelle Netzwerk der App mit dem lokalen Netzwerk, wie in Ressourcen in einem virtuellen Azure-Netzwerk beschrieben, aber das virtuelle Netzwerk stellt über ein Standort-zu-Standort-VPN eine Verbindung mit dem lokalen Netzwerk her. In diesen Netzwerktopologien kann Ihre App eine Verbindung mit lokalen Ressourcen auf die gleiche Weise herstellen, wie sie eine Verbindung mit anderen Ressourcen im virtuellen Netzwerk herstellt.

Anwendungsgeheimnisse

Speichern Sie keine geheimen Anwendungsschlüssel wie Datenbankanmeldeinformationen, API-Token und private Schlüssel in Code- oder Konfigurationsdateien. Zugriff auf sie als Umgebungsvariablen unter Verwendung des Standardmusters für Ihre Codesprache. In App Service definieren Sie Umgebungsvariablen über App-Einstellungen und insbesondere für .NET-Anwendungen über Verbindungszeichenfolgen.

App-Einstellungen und Verbindungszeichenfolgen werden in Azure verschlüsselt gespeichert und werden entschlüsselt, bevor sie beim Starten der App in den Prozessspeicher Ihrer App eingefügt werden. Die Verschlüsselungsschlüssel werden regelmäßig rotiert.

Wenn Sie eine erweiterte Geheimnisverwaltung benötigen, können Sie Ihre App Service-App auch in Azure Key Vault integrieren. Ihre App Service-App kann mithilfe einer verwalteten Identität sicher auf den Schlüsseltresor zugreifen, um die benötigten Geheimnisse abzurufen.

Netzwerkisolation

Alle App Service-Preisstufen führen Ihre Apps auf der Azure freigegebenen Netzwerkinfrastruktur aus, mit Ausnahme der Isolierten Preisstufe. So werden beispielsweise die öffentlichen IP-Adressen und Front-End-Lastenausgleichsmodule gemeinsam mit anderen Mandanten genutzt.

Die isolierte Ebene bietet vollständige Netzwerkisolation, indem Ihre Apps in einer dedizierten App Service-Umgebung in Ihrer eigenen Instanz von Azure Virtual Network ausgeführt werden. Mithilfe der Netzwerkisolation können Sie:

  • Bedienen Sie Ihre Apps über einen dedizierten öffentlichen Endpunkt mit dedizierten Front-Ends.
  • Stellen Sie interne Apps mithilfe eines internen Lastenausgleichs (ILB) bereit, der den Zugriff nur aus Ihrem virtuellen Azure-Netzwerk erlaubt. Das interne Lastenausgleichsmodul besitzt eine IP-Adresse aus Ihrem privaten Subnetz, sodass Ihre Apps vollständig vom Internet isoliert sind.
  • Sie können ein internes Lastenausgleichsmodul hinter einer Web Application Firewall (WAF) verwenden. Die WAF bietet URI-Filterung auf Unternehmensebene, Schutz vor verteilten DDoS-Angriffen (Denial-of-Service) und SQL-Einfügungsschutz für Ihre öffentlich zugänglichen Anwendungen.

DDoS-Schutz

Verwenden Sie für Webworkloads einen WAF - und Azure DDoS-Schutz , um neue DDoS-Angriffe zu schützen. Eine weitere Möglichkeit besteht darin, Azure Front Door mit einem WAF für den Schutz auf Plattformebene gegen DDoS-Angriffe auf Netzwerkebene bereitzustellen.