Patchen von Betriebssystem und Runtime in Azure App Service

Dieser Artikel veranschaulicht das Abrufen bestimmter Versionsinformationen zu Betriebssystem oder Software in App Service.

App Service ist eine Platform as a Service, d.h., Betriebssystem und Anwendungsstapel werden für Sie von Azure verwaltet; Sie verwalten nur Ihre Anwendung und deren Daten. Mehr Kontrolle über Betriebssystem und Anwendungsstapel können Sie mit Azure Virtual Machines erhalten. Vor diesem Hintergrund ist es dennoch für Sie als App Service-Benutzer hilfreich, weitere Informationen zu kennen, z.B.:

  • Wie und wann werden Betriebssystemupdates angewendet?
  • Wie wird App Service für erhebliche Sicherheitsrisiken (z.B. Zero-Day-Bedrohungen) gepatcht?
  • Von welchen Betriebssystem- und Runtimeversionen werden Ihre Apps ausgeführt?

Aus Sicherheitsgründen werden bestimmte Einzelheiten von Sicherheitsinformationen nicht veröffentlicht. Allerdings zielt der Artikel darauf ab, Bedenken durch Maximierung der Transparenz des Prozesses abzuschwächen, und indem Sie erfahren, wie Sie hinsichtlich sicherheitsbezogener Ankündigungen oder Runtimeupdates auf dem neuesten Stand bleiben können.

Wie und wann werden Betriebssystemupdates angewendet?

Azure verwaltet Betriebssystempatches auf zwei Ebenen, den physischen Servern und den virtuellen Gastcomputern (VMs), die die App Service-Ressourcen ausführen. Beide werden monatlich aktualisiert, was dem monatlichen Patch-Dienstag-Zeitplan entspricht. Diese Updates werden automatisch auf eine Weise angewendet, die die Hochverfügbarkeits-SLA der Azure-Dienste erfüllt.

Ausführliche Informationen zur Anwendung von Updates finden Sie unter Demystifying the magic behind App Service OS updates (Entmystifizierung des hinter App Service-Betriebssystemupdates steckenden Zaubers).

Wie geht Azure mit erheblichen Sicherheitsrisiken um?

Wenn schwerwiegende Sicherheitslücken sofortiges Patchen erfordern, z.B. Zero-Day-Bedrohungen, werden die Updates mit hoher Priorität von Fall zu Fall behandelt.

Der Azure Security Blog hält Sie stets über kritische Sicherheitsankündigungen in Azure auf dem Laufenden.

Wann werden unterstützte Language Runtimes aktualisiert, hinzugefügt, oder wann sind sie veraltet?

Neue stabile Versionen der unterstützten Language Runtimes (Hauptversion, Nebenversion oder Patch) werden in regelmäßigen Abständen den App Service-Instanzen hinzugefügt. Einige Updates überschreiben die vorhandene Installation, während andere parallel zu vorhandenen Versionen installiert werden. Eine überschreibende Installation bedeutet, dass Ihre App automatisch auf der aktualisierten Runtime ausgeführt wird. Eine parallele Installation bedeutet, dass Sie Ihre App manuell migrieren müssen, um eine neue Version der Runtime zu nutzen. Weitere Informationen finden Sie in einem der Unterabschnitte.

Hinweis

Hier bereitgestellte Informationen gelten für Language Runtimes, die in einer App Service-App integriert sind. Eine benutzerdefinierte Runtime, die Sie in App Service hochladen, bleibt z.B. unverändert, solange Sie sie nicht manuell aktualisieren.

Neue Patchupdates

Patchupdates für .NET-, PHP-, Java SDK- oder Tomcat-Version werden automatisch durch Überschreiben der vorhandenen Installation mit der aktuellen Version angewendet. Node.js-Patchupdates werden parallel zu den vorhandenen Versionen installiert (ähnlich wie Haupt- und Nebenversionen im nächsten Abschnitt). Neue Python-Patchversionen können manuell über Websiteerweiterungen parallel zu integrierten Python-Installationen installiert werden.

Neue Haupt- und Nebenversionen

Wenn eine neue Haupt- oder Nebenversion hinzugefügt wird, wird sie parallel zu vorhandenen Versionen installiert. Sie können Ihre App manuell auf die neue Version aktualisieren. Wenn Sie die Runtimeversion in einer Konfigurationsdatei (z.B. web.config und package.json) konfiguriert haben, müssen Sie sie mit der gleichen Methode aktualisieren. Bei Verwendung einer App Service-Einstellung zum Konfigurieren der Runtimeversion können Sie sie im Azure-Portal oder durch Ausführen eines Azure CLI-Befehls in der Cloud Shell ändern, wie in den folgenden Beispielen gezeigt:

az webapp config set --net-framework-version v4.7 --resource-group <groupname> --name <appname>
az webapp config set --php-version 7.0 --resource-group <groupname> --name <appname>
az webapp config appsettings set --settings WEBSITE_NODE_DEFAULT_VERSION=~14 --resource-group <groupname> --name <appname>
az webapp config set --python-version 3.8 --resource-group <groupname> --name <appname>
az webapp config set --java-version 1.8 --java-container Tomcat --java-container-version 9.0 --resource-group <groupname> --name <appname>

Hinweis

In diesem Beispiel wird die empfohlene Tildensyntax verwendet, um die neueste verfügbare Version der Node.js 16-Runtime für App Service als Ziel zu verwenden.

Wie kann ich den Updatestatus von Betriebssystem und Runtime auf meinen Instanzen abfragen?

Der Zugriff auf kritische Betriebssysteminformationen ist zwar gesperrt (siehe Betriebssystemfunktionen für Azure App Service), aber die Kudu-Konsole ermöglicht Ihnen, Ihre App Service-Instanz bezüglich der Betriebssystem- und Runtimeversion abzufragen.

Die folgende Tabelle zeigt, wie Sie die Versionen von Windows und der Language Runtime, die Ihre Apps ausführen, abfragen:

Information Ort
Windows-Version Siehe https://<appname>.scm.azurewebsites.net/Env.cshtml (unter Systeminfo)
.NET-Version Geben Sie unter https://<appname>.scm.azurewebsites.net/DebugConsole im Eingabeaufforderungsfenster den folgenden Befehl ein:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
.NET Core-Version Geben Sie unter https://<appname>.scm.azurewebsites.net/DebugConsole im Eingabeaufforderungsfenster den folgenden Befehl ein:
dotnet --version
PHP-Version Geben Sie unter https://<appname>.scm.azurewebsites.net/DebugConsole im Eingabeaufforderungsfenster den folgenden Befehl ein:
php --version
Standardmäßige Node.js-Version Führen Sie in der Cloud Shell-Instanz folgenden Befehl aus:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
Python-Version Geben Sie unter https://<appname>.scm.azurewebsites.net/DebugConsole im Eingabeaufforderungsfenster den folgenden Befehl ein:
python --version
Java-Version Geben Sie unter https://<appname>.scm.azurewebsites.net/DebugConsole im Eingabeaufforderungsfenster den folgenden Befehl ein:
java -version

Hinweis

Der Zugriff auf den Registrierungsspeicherort HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, wo Informationen zu „KB“-Patches gespeichert sind, ist gesperrt.

Weitere Ressourcen

Trust Center: Sicherheit
64 bit ASP.NET Core on Azure App Service (64-Bit-ASP.NET Core in Azure App Service)