Système d’exploitation et mise à jour corrective du runtime dans Azure App Service

Cet article vous explique comment obtenir certaines informations de version concernant le système d’exploitation ou les logiciels dans App Service.

App Service est une plateforme en tant que service (PaaS), ce qui signifie que le système d’exploitation et la pile d’applications sont gérés automatiquement par Azure ; vous ne gérez que votre application et ses données. Vous pouvez obtenir plus de contrôle sur le système d’exploitation et la pile d’applications dans Machines virtuelles Azure. Dans cette optique, il est néanmoins utile pour vous, en tant qu’utilisateur App Service, d’obtenir plus d’informations, telles que :

  • Comment et quand sont appliquées les mises à jour du système d’exploitation ?
  • Comment est appliqué un correctif à App Service pour le protéger contre les vulnérabilités importantes (notamment le risque zero-day) ?
  • Quelles versions du système d’exploitation et du runtime exécutent vos applications ?

Pour des raisons de sécurité, certains détails sur les informations de sécurité ne sont pas publiés. Toutefois, l’article vise à réduire les problèmes en optimisant la transparence du processus, et vous explique comment rester à jour grâce à des annonces relatives à la sécurité ou des mises à jour du runtime.

Comment et quand sont appliquées les mises à jour du système d’exploitation ?

Azure gère l’application de correctifs au système d’exploitation à deux niveaux : les serveurs physiques et les machines virtuelles invitées qui exécutent les ressources App Service. Ces deux niveaux sont mis à jour tous les mois, conformément à la planification mensuelle Patch Tuesday. Ces mises à jour sont appliquées automatiquement, d’une façon qui garantit le contrat de niveau de service (SLA) Azure.

Pour plus d’informations sur la façon dont les mises à jour sont appliquées, consultez *****Demystifying the magic behind App Service OS updates****.

Comment Azure traite-t-il les vulnérabilités importantes ?

Lorsque de graves vulnérabilités nécessitent une mise à jour corrective immédiate, par exemple des vulnérabilités zero-day, les mises à jour à priorité élevée sont gérées au cas par cas.

Restez informé grâce à des annonces de sécurité critique dans Azure en consultant le blog sur la sécurité Azure.

Quand les runtimes de langage pris en charge sont-ils mis à jour, ajoutés ou déconseillés ?

De nouvelles versions stables des runtimes de langage pris en charge (majeures, mineures ou correctifs) sont régulièrement ajoutées aux instances App Service. Certaines mises à jour remplacent l’installation existante, tandis que d’autres sont installées côte à côte avec les versions existantes. Une installation de remplacement implique que votre application s’exécute automatiquement sur le runtime mis à jour. Une installation côte à côte signifie que vous devez migrer manuellement votre application pour tirer parti d’une nouvelle version du runtime. Pour plus d’informations, consultez l’une des sous-sections.

Notes

Ces informations s’appliquent aux runtimes de langage qui sont intégrés à une application App Service. Par exemple, un runtime personnalisé que vous chargez sur App Service reste inchangé, sauf si vous le mettez manuellement à niveau.

Nouvelles mises à jour correctives

Les mises à jour correctives de la version .NET, PHP, Java SDK ou Tomcat sont appliquées automatiquement en remplaçant l’installation existante par la dernière version. Les mises à jour correctives Node.js sont installées côte à côte avec les versions existantes (comme pour les versions majeures et mineures à la section suivante). Les nouvelles versions du correctif Python peuvent être installées manuellement par le biais des extensions de site, côte à côte avec les installations Python intégrées.

Nouvelles versions majeures et mineures

Lorsqu’une nouvelle version majeure ou mineure est ajoutée, elle est installée côte à côte avec les versions existantes. Vous pouvez manuellement mettre à niveau votre application avec la nouvelle version. Si vous avez configuré la version du runtime dans un fichier de configuration (tel que web.config et package.json), vous devez effectuer la mise à niveau avec la même méthode. Si vous avez utilisé un paramètre App Service pour configurer votre version du runtime, vous pouvez le modifier dans le portail Azure ou en exécutant une commande d’interface CLI Azure dans le Cloud Shell, comme indiqué dans les exemples suivants :

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>

Notes

Cet exemple utilise la « syntaxe avec tilde » recommandée pour cibler la dernière version disponible du runtime Node.js 16 sur Windows App Service.

Comment afficher l’état de mise à jour du système d’exploitation et du runtime sur mes instances ?

Bien que les informations critiques sur le système d’exploitation ne soient pas accessibles (voir Fonctionnalités de système d’exploitation sur Azure App Service), la console Kudu vous permet d’interroger votre instance App Service pour connaître la version du système d’exploitation et les versions du runtime.

Le tableau suivant indique comment afficher les versions de Windows et du runtime du langage qui exécutent vos applications :

Information Comment y accéder
Version de Windows Voir https://<appname>.scm.azurewebsites.net/Env.cshtml (sous Informations système)
Version de .NET Dans https://<appname>.scm.azurewebsites.net/DebugConsole, exécutez la commande suivante dans l’invite de commandes :
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Version .NET Core Dans https://<appname>.scm.azurewebsites.net/DebugConsole, exécutez la commande suivante dans l’invite de commandes :
dotnet --version
Version PHP Dans https://<appname>.scm.azurewebsites.net/DebugConsole, exécutez la commande suivante dans l’invite de commandes :
php --version
Version Node.js par défaut Dans le Cloud Shell, exécutez la commande suivante :
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
Version Python Dans https://<appname>.scm.azurewebsites.net/DebugConsole, exécutez la commande suivante dans l’invite de commandes :
python --version
Version de Java Dans https://<appname>.scm.azurewebsites.net/DebugConsole, exécutez la commande suivante dans l’invite de commandes :
java -version

Remarque

L’accès à l’emplacement de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, où sont stockées les informations sur les correctifs KB, est verrouillé.

Plus de ressources

Centre de confidentialité - Sécurité
ASP.NET Core 64 bits sur Azure App Service