Proteja a sua implementação do Serviço de Aplicações do Azure

O Serviço de Aplicações do Azure fornece um ambiente de plataforma como serviço (PaaS) que lhe permite construir, implementar e escalar aplicações web, backends de aplicações móveis, APIs RESTful e aplicações funcionais. Ao implementar este serviço, é importante seguir as melhores práticas de segurança para proteger as suas aplicações, dados e infraestrutura.

Este artigo fornece orientações sobre como proteger melhor a implementação do seu Serviço de Aplicações do Azure.

O Serviço de Aplicativo do Azure protege e endurece ativamente os componentes da sua plataforma, incluindo máquinas virtuais (VMs) do Azure, armazenamento, conexões de rede, frameworks web, e funcionalidades de gestão e integração. O Serviço de Aplicativo passa por verificações de conformidade contínuas e rigorosas para garantir que:

Para obter mais informações sobre segurança de infraestrutura e plataforma no Azure, consulte a Central de Confiabilidade do Azure.

As recomendações de segurança neste artigo implementam os princípios do Confiança Zero: "Verificar explicitamente", "Usar acesso com privilégios mínimos" e "Assumir violação". Para obter orientações abrangentes sobre Confiança Zero, consulte o Centro de Orientação Confiança Zero.

Segurança específica do serviço

O Serviço de Aplicações do Azure tem considerações de segurança únicas que deve abordar para garantir a segurança global das suas aplicações web.

  • Desativar autenticação básica: Desativar a autenticação básica por nome de utilizador e palavra-passe para endpoints FTP e SCM em favor da autenticação baseada em ID Microsoft Entra, que fornece autenticação OAuth 2.0 baseada em token com segurança reforçada. Para mais informações, consulte Desativar autenticação básica nas implementações do Serviço de Aplicações do Azure.

  • Implementações FTP/FTPS seguras: Desativar o acesso FTP ou aplicar o modo apenas FTPS ao usar FTP para implementações, para evitar que credenciais e conteúdos sejam transmitidos em texto claro. Para mais informações, consulte Implementar a sua aplicação no Serviço de Aplicações do Azure usando FTP/S.

  • Alcance isolamento total da rede: Use o Ambiente de Serviços de Aplicações para executar as suas aplicações dentro de um Ambiente de Serviços de Aplicações dedicado na sua própria instância de Rede Virtual Azure. Esta configuração proporciona isolamento total da rede da infraestrutura partilhada com endpoints públicos dedicados, opções internas de balanceador de carga (ILB) para acesso apenas interno, e a capacidade de usar um ILB atrás de um firewall de aplicações web para proteção ao nível empresarial. Para mais informações, consulte Introdução aos Ambientes do Serviço de Aplicações do Azure.

  • Implemente proteção DDoS: Implemente o Azure Front Door com um Firewall de Aplicações Web (WAF) em frente à sua aplicação de Serviços de Aplicações para absorver e filtrar ataques DDoS da camada de rede e da aplicação antes de chegarem à sua aplicação. Para mais informações, consulte Azure Front Door e proteção DDoS.

Segurança de rede

O Serviço de Aplicações suporta muitas funcionalidades de segurança de rede para bloquear as suas aplicações e evitar acessos não autorizados.

  • Configure endereços privados: Elimine a exposição pública à Internet redirecionando o tráfego para o seu App Service através da sua rede virtual utilizando o Azure Private Link, garantindo uma conectividade segura para os clientes nas suas redes privadas. Para mais informações, consulte Utilizar pontos finais privados para o Serviço de Aplicações do Azure.

  • Implemente integração com redes virtuais: Proteja o seu tráfego de saída permitindo que a sua aplicação aceda a recursos dentro ou através de uma rede virtual Azure, mantendo o isolamento da internet pública. Para obter mais informações, veja Integrar a sua aplicação numa rede virtual do Azure.

  • Configure restrições de acesso ao IP: Restringa o acesso à sua aplicação definindo uma lista de autorização de endereços IP e sub-redes que possam aceder à sua aplicação, bloqueando todo o restante tráfego. Pode definir endereços IP individuais ou intervalos definidos por máscaras de sub-rede e configurar restrições dinâmicas de IP através de ficheiros web.config nas aplicações Windows. Para obter mais informações, consulte Configurar restrições de acesso do Serviço de Aplicativo do Azure.

  • Configure restrições nos pontos finais de serviço: Bloqueie o acesso de entrada à sua aplicação a partir de sub-redes específicas nas suas redes virtuais usando endpoints de serviço, que trabalham em conjunto com restrições de acesso IP para fornecer filtragem a nível de rede. Para obter mais informações, consulte Restrições de acesso do Serviço de Aplicativo do Azure.

  • Use o Firewall de Aplicações Web: Aumente a proteção contra vulnerabilidades e ataques comuns na web implementando o Azure Front Door ou o Application Gateway com capacidades de Firewall de Aplicações Web em frente ao seu Serviço de Aplicações. Para obter mais informações, consulte Firewall de Aplicações Web do Azure no Gateway de Aplicações do Azure.

Gestão de identidades e acessos

Gerir corretamente identidades e controlos de acesso é essencial para proteger as implementações do seu Serviço de Aplicações do Azure contra uso não autorizado e potencial roubo de credenciais.

  • Ative identidades geridas para pedidos de saída: Autentique os serviços Azure de forma segura a partir da sua aplicação sem armazenar credenciais no seu código ou configuração, usando identidades geridas, eliminando a necessidade de gerir os principais de serviço e as cadeias de ligação. As identidades geridas fornecem uma identidade gerida automaticamente no Microsoft Entra ID para a sua aplicação usar ao fazer pedidos de saída para outros serviços Azure como Base de Dados SQL do Azure, Azure Key Vault e Armazenamento do Azure. O App Service suporta identidades geridas atribuídas pelo sistema e atribuídas pelo utilizador. Para obter mais informações, consulte Usar identidades gerenciadas para o Serviço de Aplicativo e o Funções do Azure.

  • Configure autenticação e autorização: Implemente a Autenticação/Autorização de Serviços de Aplicações para proteger a sua aplicação com o Microsoft Entra ID ou outros fornecedores de identidade, prevenindo acessos não autorizados sem escrever um código de autenticação personalizado. O módulo de autenticação incorporado gere pedidos web antes de os passar para o código da sua aplicação e suporta múltiplos fornecedores, incluindo Microsoft Entra ID, contas Microsoft, Facebook, Google e X. Para mais informações, consulte Autenticação e autorização no Serviço de Aplicações do Azure.

  • Implementar controlo de acesso baseado em funções para operações de gestão: Controla quem pode gerir e configurar os recursos do teu Serviço de Aplicações (plano de gestão) atribuindo as permissões mínimas necessárias do Azure RBAC aos utilizadores e principais de serviço, seguindo o princípio do privilégio mínimo. Este controla o acesso administrativo a operações como criação de aplicações, modificação de definições de configuração e gestão de implementações, separadamente da autenticação ao nível da aplicação (Easy Auth) ou autenticação app-to-resource (identidades geridas). Para mais informações, consulte funções incorporadas no Azure para web e mobile.

  • Implementar autenticação em nome do utilizador: Delegar o acesso a recursos remotos em nome dos utilizadores que utilizam o Microsoft Entra ID como fornecedor de autenticação. A sua aplicação de Serviços de Aplicações pode realizar login delegado em serviços como o Microsoft Graph ou aplicações remotas da API de Serviços de Aplicações. Para mais informações, consulte Autenticar e autorizar utilizadores de ponta a ponta no Serviço de Aplicações do Azure.

  • Permitir autenticação TLS mútua: Exija certificados de cliente para maior segurança quando a sua aplicação precisa de verificar a identidade do cliente, especialmente para cenários B2B ou aplicações internas. Para mais informações, consulte Configurar autenticação mútua TLS para Serviço de Aplicações do Azure.

Proteção de dados

Proteger os dados em trânsito e em repouso é crucial para manter a confidencialidade e integridade das suas aplicações e dos seus dados.

  • Aplicar HTTPS: Redirecione todo o tráfego HTTP para HTTPS ativando o modo apenas HTTPS, garantindo que toda a comunicação entre os clientes e a sua aplicação está encriptada. O redirecionamento apenas em HTTPS não está ativado por defeito, por isso ative-o explicitamente; note que o nome <app_name>.azurewebsites.net de domínio predefinido da sua aplicação já está acessível via HTTPS. Para mais informações, consulte Configurar definições gerais.

  • Configurar a versão TLS: Utilize protocolos TLS modernos configurando a versão mínima TLS para 1.2 ou superior, e desative protocolos desatualizados e inseguros para evitar potenciais vulnerabilidades. App Service suporta TLS 1.3 (mais recente), TLS 1.2 (mínimo padrão) e TLS 1.1/1.0 (apenas para compatibilidade retroativa). Configura a versão mínima do TLS tanto para a tua aplicação web como para o site SCM. Para mais informações, consulte Configurar definições gerais.

  • Gerir certificados TLS/SSL: Proteger domínios personalizados utilizando certificados TLS/SSL devidamente configurados para estabelecer ligações de confiança. O App Service suporta vários tipos de certificados: certificados gratuitos geridos pelo App Service, certificados de App Service, certificados de terceiros e certificados importados do Azure Key Vault. Se configurares um domínio personalizado, protege-o com um certificado TLS/SSL para que os navegadores possam criar ligações HTTPS seguras. Para mais informações, consulte Adicionar e gerir certificados TLS/SSL em Serviço de Aplicações do Azure.

  • Armazene segredos no Key Vault: Proteja valores de configuração sensíveis como credenciais de base de dados, tokens API e chaves privadas, armazenando-os no Azure Key Vault e atendendo-os usando identidades geridas, em vez de os armazenar nas definições ou código da aplicação. A sua aplicação de Serviços de Aplicações pode aceder de forma segura ao Key Vault usando autenticação de identidade gerida. Para obter mais informações, consulte Referências do Azure Key Vault para App Service e Funções do Azure.

  • Evite codificar segredos diretamente nas definições da aplicação: Não armazene segredos em código ou ficheiros de configuração. A App Service armazena as definições e cadeias de ligação encriptadas em repouso e desencripta-as pouco antes de as injetar na memória de processos da aplicação, mas para segredos sensíveis prefere referências ao Key Vault para que os segredos sejam geridos centralmente e nunca armazenados na configuração da aplicação. Acede a estes valores como variáveis de ambiente usando padrões padrão para a tua linguagem de programação. Para obter mais informações, consulte Definir configurações do aplicativo.

  • Ligações remotas seguras: Use sempre ligações encriptadas ao aceder a recursos remotos, mesmo que o recurso de back-end permita ligações não encriptadas. Para recursos Azure como Base de Dados SQL do Azure e Armazenamento do Azure, as ligações mantêm-se dentro do Azure e não atravessam fronteiras de rede. Para recursos de rede virtual, utilize integração de rede virtual com VPN ponto-para-local. Para recursos locais, utilize ligações híbridas com TLS 1.2 ou integração de rede virtual com VPN site-to-site. Garante que os serviços de back-end do Azure permitem apenas o menor conjunto possível de endereços IP da tua aplicação. Para mais informações, consulte Descobrir IPs de saída.

Registo e monitorização

Implementar registos e monitorização abrangentes é essencial para detetar potenciais ameaças de segurança e resolver problemas na implementação do seu Serviço de Aplicações do Azure.

  • Ative registos de diagnóstico: Configure os registos de diagnóstico do Serviço de Aplicações do Azure para rastrear erros de aplicação, registos do servidor web, rastreios de pedidos falhados e mensagens de erro detalhadas para identificar problemas de segurança e resolver problemas. Para mais informações, consulte Ativar registo de diagnósticos para aplicações no Serviço de Aplicações do Azure.

  • Integre com o Azure Monitor: Configure o Azure Monitor para recolher e analisar registos e métricas do seu App Service, permitindo monitorização e alertas abrangentes para eventos de segurança e problemas de desempenho. Para mais informações, consulte Monitorizar aplicações no Serviço de Aplicações do Azure.

  • Configure Application Insights: Implemente o Application Insights para obter informações detalhadas sobre o desempenho da aplicação, padrões de utilização e potenciais problemas de segurança, com capacidades de monitorização e análise em tempo real. Para obter mais informações, consulte Monitorar o desempenho do Serviço de Aplicativo do Azure.

  • Configure alertas de segurança: Crie alertas personalizados para o notificar sobre padrões de utilização anormais, potenciais violações de segurança ou interrupções do serviço que afetem os recursos do seu Serviço de Aplicações. Para obter mais informações, consulte Criar, exibir e gerenciar alertas métricos usando o Azure Monitor.

  • Ative verificações de saúde: Configure verificações de saúde para monitorizar o estado operacional da sua aplicação e remediar automaticamente os problemas sempre que possível. Para obter mais informações, consulte Monitorizar instâncias do App Service usando a verificação de integridade.

Conformidade e governança

Estabelecer uma governação adequada e garantir a conformidade com os padrões relevantes é crucial para o funcionamento seguro das aplicações Serviço de Aplicações do Azure.

  • Implemente a Política Azure: Imponha padrões de segurança a nível organizacional para as suas implementações de Serviços de Aplicação, criando e atribuindo definições de Política Azure que auditam e aplicam os requisitos de conformidade. Para mais informações, consulte controlos de Conformidade Regulamentar do Azure Policy para o Serviço de Aplicações do Azure.

  • Revise as recomendações de segurança: Avalie regularmente a postura de segurança dos seus serviços de aplicações utilizando o Microsoft Defender para a Cloud para identificar e corrigir vulnerabilidades e configurações incorretas. Para mais informações, consulte Proteger as suas aplicações web e APIs do Serviço de Aplicações do Azure.

  • Realize avaliações de segurança: Realize avaliações regulares de segurança e testes de penetração das suas aplicações de Serviços de Aplicações para validar restrições de acesso, definições TLS e configuração Easy Auth. Siga as regras de engajamento dos testes de penetração na cloud da Microsoft. Para mais informações, consulte Testes de penetração.

  • Manter a conformidade regulatória: Atribuir iniciativas de políticas de conformidade regulamentar incorporadas (como PCI DSS, HIPAA/HITRUST ou ISO 27001) que incluam controlos de Serviços de Aplicações para auditar as suas aplicações face aos requisitos do seu setor e região, especialmente no que diz respeito à proteção e privacidade de dados. Para obter mais informações, consulte Conformidade regulatória na Política do Azure.

  • Implementar práticas DevOps seguras: Estabelecer pipelines seguros de CI/CD para implementação em App Service: usar slots de implementação para validação em etapas, desativar a autenticação básica nos endpoints SCM/FTP em favor da implementação baseada em identidade gerida, e adicionar varreduras de código e verificações de dependências. Para mais informações, consulte as melhores práticas de implementação.

Backup e recuperação

Implementar mecanismos robustos de backup e recuperação é essencial para garantir a continuidade do negócio e a proteção de dados nas suas implementações do Serviço de Aplicações do Azure.

  • Ative cópias de segurança automatizadas: Configure cópias de segurança agendadas para aplicações do seu Serviço de Aplicações para garantir que pode recuperar as suas aplicações e dados em caso de eliminação acidental, corrupção ou outras falhas. Para mais informações, consulte Backup e restauração da sua aplicação no Serviço de Aplicações do Azure.

  • Configure a retenção de backups: Defina períodos de retenção adequados para os seus backups com base nos requisitos do seu negócio e das necessidades de conformidade, garantindo que os dados críticos são preservados durante o período exigido. Para mais informações, consulte Backup e restauração da sua aplicação no Serviço de Aplicações do Azure.

  • Implemente implantações multirregionais: Implemente as suas aplicações críticas em múltiplas regiões para garantir alta disponibilidade e capacidades de recuperação de desastres em caso de falhas regionais. Para mais informações, consulte Tutorial: Criar uma aplicação multi-região altamente disponível no App Service.

  • Teste a restauração de cópias de segurança: Teste regularmente o seu processo de restauração de cópias de segurança para garantir que as cópias de segurança são válidas e podem ser restauradas com sucesso quando necessário, verificando tanto a funcionalidade da aplicação como a integridade dos dados. Para mais informações, consulte Restaurar uma aplicação a partir de uma cópia de segurança.

  • Procedimentos de recuperação de documentos: Crie e mantenha documentação abrangente para os procedimentos de recuperação, garantindo uma rápida e eficaz resposta em caso de interrupções ou desastres no serviço. Para mais informações, consulte Fiabilidade em Serviço de Aplicações do Azure.