Aplicação de patches do SO e do runtime no Serviço de Aplicações do Azure

Este artigo mostra-lhe como obter determinadas informações de versão sobre o SO ou software no Serviço de Aplicações.

Serviço de Aplicações é uma Plataforma como Serviço, o que significa que o SO e a pilha de aplicações são geridos por si pelo Azure; só pode gerir a sua aplicação e os respetivos dados. Está disponível mais controlo sobre o SO e a pilha de aplicações no Azure Máquinas Virtuais. Com isso em mente, é, no entanto, útil que, enquanto utilizador Serviço de Aplicações, saiba mais informações, tais como:

  • Como e quando são aplicadas as atualizações do SO?
  • Como é Serviço de Aplicações corrigido contra vulnerabilidades significativas (como zero dias)?
  • Que versões de SO e runtime estão a executar as suas aplicações?

Por motivos de segurança, determinadas informações de segurança não são publicadas. No entanto, o artigo tem como objetivo aliviar as preocupações ao maximizar a transparência no processo e como pode manter-se atualizado sobre anúncios relacionados com segurança ou atualizações de runtime.

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

O Azure gere a aplicação de patches do SO em dois níveis, os servidores físicos e as máquinas virtuais (VMs) convidadas que executam os recursos Serviço de Aplicações. Ambos são atualizados mensalmente, o que se alinha com a agenda mensal de Terça-feira de Patch . Estas atualizações são aplicadas automaticamente, de forma a garantir o SLA de elevada disponibilidade dos serviços do Azure.

Para obter informações detalhadas sobre como as atualizações são aplicadas, veja Desmistificar a magia por trás Serviço de Aplicações atualizações do SO.

Como é que o Azure lida com vulnerabilidades significativas?

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

Mantenha-se atualizado com anúncios de segurança críticos no Azure ao visitar o Blogue de Segurança do Azure.

Quando é que os runtimes de linguagem suportados são atualizados, adicionados ou preteridos?

As novas versões estáveis dos runtimes de linguagem suportados (principal, secundário ou patch) são adicionadas periodicamente a instâncias de Serviço de Aplicações. Algumas atualizações substituem a instalação existente, enquanto outras são instaladas lado a lado com versões existentes. Uma instalação de substituição significa que a aplicação é executada automaticamente no runtime atualizado. Uma instalação lado a lado significa que tem de migrar manualmente a sua aplicação para tirar partido de uma nova versão do runtime. Para obter mais informações, veja uma das subsecções.

Nota

As informações aqui aplicadas aos runtimes de linguagem incorporados numa aplicação Serviço de Aplicações. Um runtime personalizado que carrega para Serviço de Aplicações, por exemplo, permanece inalterado, a menos que o atualize manualmente.

Novas atualizações de patch

As atualizações de patch para a versão .NET, PHP, Java SDK ou Tomcat são aplicadas automaticamente ao substituir a instalação existente com a versão mais recente. Node.js atualizações de patch são instaladas lado a lado com as versões existentes (semelhantes às versões principais e secundárias na secção seguinte). As novas versões de patch do Python podem ser instaladas manualmente através de extensões de site, lado a lado com as instalações incorporadas do Python.

Novas versões principais e secundárias

Quando é adicionada uma nova versão principal ou secundária, esta é instalada lado a lado com as versões existentes. Pode atualizar manualmente a sua aplicação para a nova versão. Se tiver configurado a versão do runtime num ficheiro de configuração (como web.config e package.json), terá de atualizar com o mesmo método. Se utilizou uma definição de Serviço de Aplicações para configurar a versão do runtime, pode alterá-la no portal do Azure ou ao executar um comando da CLI do Azure no Cloud Shell, conforme mostrado nos exemplos seguintes:

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>

Nota

Este exemplo utiliza a "sintaxe de til" recomendada para visar a versão mais recente disponível do runtime Node.js 16 no Windows Serviço de Aplicações.

Como posso consultar o estado da atualização do SO e do runtime nas minhas instâncias?

Embora as informações críticas do SO estejam bloqueadas no acesso (veja Funcionalidade do sistema operativo no Serviço de Aplicações do Azure), a consola do Kudu permite-lhe consultar a sua instância de Serviço de Aplicações relativamente à versão do SO e às versões do runtime.

A tabela seguinte mostra como as versões do Windows e do runtime de idioma que estão a executar as suas aplicações:

Informações Onde encontrá-lo
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 na linha de comandos:
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 na linha de comandos:
dotnet --version
Versão do PHP Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando na linha de comandos:
php --version
Versão de Node.js predefinida Na Cloud Shell, execute o seguinte comando:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
Versão de Python Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando na linha de comandos:
python --version
Versão java Em https://<appname>.scm.azurewebsites.net/DebugConsole, execute o seguinte comando na linha de comandos:
java -version

Nota

O acesso à localização HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packagesdo registo , onde as informações sobre patches "KB" estão armazenadas , está bloqueado.

Mais recursos

Centro de Confiança: Segurança
ASP.NET Core de 64 bits no Serviço de Aplicações do Azure