Aplicação de patch do sistema operacional e do runtime no Serviço de Aplicativo do Azure

Este artigo mostra como obter determinadas informações de versão sobre o sistema operacional ou o software no Serviço de Aplicativo.

O Serviço de Aplicativo é considerado Plataforma como Serviço, o que significa que o sistema operacional e a pilha de aplicativos são gerenciados para você pelo Azure; você apenas gerencia seu aplicativo e os dados do aplicativo. Mais controle sobre o sistema operacional e a pilha de aplicativos está disponível em Máquinas Virtuais do Azure. Mesmo considerando isso, é útil para você, como um usuário do Serviço de Aplicativo, saber mais informações, como:

  • Como e quando as atualizações do sistema operacional são aplicadas?
  • Como o Serviço de Aplicativo é corrigido contra vulnerabilidades significativas (como ameaça de dia zero)?
  • Quais versões do sistema operacional e do runtime estão executando seus aplicativos?

Por motivos de segurança, algumas informações específicas sobre segurança não são publicadas. No entanto, o artigo tem como alvo reduzir preocupações, aumentando a transparência sobre o processo e demonstrar como você pode permanecer atualizado sobre comunicados ou atualizações de runtime relacionados à segurança.

Como e quando as atualizações do sistema operacional são aplicadas?

O Azure gerencia a aplicação de patch do sistema operacional em dois níveis: nos servidores físicos e nas máquinas virtuais (VMs) convidadas que executam os recursos do Serviço de Aplicativo. Ambos são atualizados mensalmente, o que se alinha ao agendamento do Patch Tuesday mensal. Essas atualizações são aplicadas automaticamente, de maneira a garantir o SLA de alta disponibilidade dos serviços do Azure.

Para obter informações detalhadas de como as atualizações são aplicadas, consulte Desmistificando a mágica por trás das atualizações do sistema operacional do Serviço de Aplicativo.

Como o Azure lida com vulnerabilidades significativas?

Quando vulnerabilidades graves exigem aplicação imediata de patches, como vulnerabilidades de dia zero, as atualizações de alta prioridade são tratadas caso a caso.

Mantenha-se atualizado com comunicados de segurança críticos no Azure visitando o Blog de segurança do Azure.

Quando os runtimes de linguagem compatíveis são atualizados, adicionados ou preteridos?

As novas versões estáveis dos runtimes de linguagem compatíveis (principal, secundária ou patch) são acrescentadas periodicamente às instâncias do Serviço de Aplicativo. Algumas atualizações substituem a instalação existente, enquanto outras são instaladas lado a lado com as versões existentes. Em uma instalação de substituição, seu aplicativo é executado automaticamente no runtime atualizado. Em uma instalação lado a lado, você deve migrar manualmente seu aplicativo para aproveitar uma nova versão do runtime. Para obter mais informações, consulte uma das subseções.

Observação

As informações aqui se aplicam a runtimes de linguagem que são criados em um aplicativo do Serviço de Aplicativo. Um runtime personalizado que você carrega no Serviço de Aplicativo, por exemplo, permanece inalterado, a menos que você o atualize manualmente.

Novas atualizações de patch

As atualizações de patch para .NET, PHP, SDK do Java ou para a versão do Tomcat são aplicadas automaticamente, substituindo a instalação existente pela nova versão. As atualizações de patch do Node.js são instaladas lado a lado com as versões existentes (de modo semelhante às versões principais e secundárias na próxima seção). As novas versões de patch do Python podem ser instaladas manualmente por meio de extensões de site, lado a lado com instalações internas do Python.

Novas versões principais e secundárias

Quando uma nova versão principal ou secundária é adicionada, ela é instalada lado a lado com as versões existentes. Você pode atualizar manualmente seu aplicativo para a nova versão. Se você configurou a versão do runtime em um arquivo de configuração (como web.config e package.json), é necessário atualizar com o mesmo método. Se você tiver usado uma configuração do Serviço de Aplicativo para configurar a sua versão do runtime, você poderá alterá-la no Portal do Azure ou por meio da execução de um comando da CLI do Azure no Cloud Shell, como mostrado nos exemplos a seguir:

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>

Observação

Este exemplo usa a "sintaxe de til" recomendada para direcionar a versão mais recente disponível do runtime do Node.js 16 no Serviço de Aplicativo do Windows.

Como faço para consultar o status da atualização do sistema operacional e do runtime nas minhas instâncias?

Embora as informações críticas do sistema operacional tenham acesso bloqueado (consulte Funcionalidade do sistema operacional no Serviço de Aplicativo do Azure), o console Kudu permite que você consulte a sua instância do Serviço de Aplicativo em relação à versão do sistema operacional e às versões do runtime.

A tabela a seguir mostra como encontrar informações sobre as versões do Windows e do runtime da linguagem que está executando seus aplicativos:

Informações do Onde encontrá-las
Versão do Windows Consulte https://<appname>.scm.azurewebsites.net/Env.cshtml (em Informações do Sistema)
Versão do .NET Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando no prompt de comando:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Versão do .NET Core Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando no prompt de comando:
dotnet --version
Versão do PHP Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando no prompt de comando:
php --version
Versão do Node.js padrão No Cloud Shell, execute o seguinte comando:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
Versão do Python Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando no prompt de comando:
python --version
Versão Java Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando no prompt de comando:
java -version

Observação

O acesso ao local do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, em que as informações sobre patches "KB" é armazenada, está bloqueado.

Mais recursos

Central de Confiabilidade: segurança
ASP.NET Core de 64 bits no Serviço de Aplicativo do Azure