Установка исправлений для ОС и среды выполнения в Службе приложений Azure

В этой статье объясняется, как получить сведения о версии операционной системы или программного обеспечения в службе приложений.

Служба приложений предоставляется в качестве платформы как услуги (PaaS). Это означает, что операционной системой и стеком приложений управляет Azure. Вы управляете только своим приложением и его данными. Дополнительные возможности управления операционной системой и стеком приложений доступны в Azure Виртуальные машины. С учетом вышесказанного, вам, как пользователю службы приложений, пригодится эта информация:

  • Как и когда применяются обновления ОС?
  • Как в службе приложений устанавливаются исправления для защиты от значительных уязвимостей (например, нулевого дня).
  • В каких версиях операционной системы и среды выполнения работают ваши приложения?

В целях безопасности некоторые детали сведений о безопасности не публикуются. Эта статья поможет вам устранить проблемы за счет повышения прозрачности процесса. Из нее вы узнаете, как получать актуальные объявления, связанные с безопасностью, и сведения об обновлениях среды выполнения.

Как и когда применяются обновления ОС?

Azure управляет установкой исправлений ОС на двух уровнях: физические серверы и гостевые виртуальные машины, на которых работают ресурсы службы приложений. Физические серверы и гостевые виртуальные машины обновляются раз в месяц, что соответствует графика, называемого вторником обновлений. Эти обновления применяются автоматически. Во время обновлений гарантируется высокий уровень доступности служб Azure согласно Соглашению об уровне обслуживания.

Подробные сведения о применении обновлений см. в статье Demystifying the magic behind App Service OS updates (Базовые сведения об обновлениях ОС с помощью службы приложений).

Как Azure устраняет значительные уязвимости?

Когда серьезные уязвимости требуют немедленного применения исправлений, как например уязвимость нулевого дня, высокоприоритетные обновления обрабатываются для каждого отдельного случая.

Чтобы получать критически важные извещения о безопасности в Azure, просматривайте блог, посвященный вопросам безопасности Azure.

Когда среды выполнения на поддерживаемых языках обновляются, добавляются или устаревают?

В экземпляры службы приложений периодически добавляются новые стабильные версии сред выполнения на поддерживаемых языках (основная, дополнительная и исправленная). Некоторые обновления перезаписывают существующую установку, пока другие устанавливаются параллельно с существующими версиями. Установка перезаписи означает, что приложение автоматически выполняется в обновленной среде выполнения. При параллельной установке необходимо вручную перенести приложение, чтобы воспользоваться преимуществами новой версии среды выполнения. Дополнительные сведения см. в одном из подразделов.

Примечание

Эти сведения относятся к языковым средам выполнения, которые встроены в приложение служб приложений. Например, среда выполнения, которую вы отправляете в службу приложений, остается неизменной, пока вы вручную не обновите ее.

Новые обновления исправлений

Исправления для версии .NET, PHP, Java SDK или Tomcat применяются автоматически: существующая установка перезаписывается новой версией. Обновления исправлений Node.js устанавливаются параллельно с существующими версиями (как основная и дополнительная версии в следующем разделе). Новые версии исправлений Python можно установить вручную с помощью расширений сайта параллельно со встроенными установками Python.

Новые основная и вспомогательная версии

Когда добавляется новая основная или вспомогательная версия, она устанавливается параллельно с существующими. Можно вручную обновить приложение до новой версии. Если вы настроили версию среды выполнения в файле конфигурации (например, в web.config и package.json), необходимо выполнить обновление с помощью того же метода. Если вы использовали параметр службы приложений для настройки версии среды выполнения, вы можете изменить его на портале Azure или с помощью командыAzure CLI в Cloud Shell, как показано в следующих примерах:

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>

Примечание

В этом примере используется рекомендуемый синтаксис с "тильдой" для последней доступной версии среды выполнения Node.js 16 в Службе приложений Windows.

Как запросить состояние обновления среды выполнения и ОС в моих экземплярах?

Если блокируется доступ к критически важной информации ОС (см. статью Функциональные возможности операционной системы для службы приложений Azure), с помощью консоли Kudu к экземпляру службы приложения можно отправить запрос на получение данных о версии среды выполнения и операционной системы.

В следующей таблице показано, как запросить версии Windows и языковой среды выполнения, в которых работают ваши приложения:

Сведения Где ее найти
Версия Windows См. https://<appname>.scm.azurewebsites.net/Env.cshtml (в разделе "Сведения о системе")
Версия .NET Откройте https://<appname>.scm.azurewebsites.net/DebugConsole и выполните следующую команду в командной строке:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Версия .NET Core Откройте https://<appname>.scm.azurewebsites.net/DebugConsole и выполните следующую команду в командной строке:
dotnet --version
Версия PHP Откройте https://<appname>.scm.azurewebsites.net/DebugConsole и выполните следующую команду в командной строке:
php --version
Версия Node.js по умолчанию В Cloud Shell введите следующую команду:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
Версия Python Откройте https://<appname>.scm.azurewebsites.net/DebugConsole и выполните следующую команду в командной строке:
python --version
Версия Java Откройте https://<appname>.scm.azurewebsites.net/DebugConsole и выполните следующую команду в командной строке:
java -version

Примечание

Доступ к расположению реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, где хранятся сведения об исправлениях (номер в базе знаний), заблокирован.

Дополнительные ресурсы

Центр управления безопасностью: безопасность
64-разрядная версия ASP.NET Core в службе приложений Azure