Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Serviço de Aplicativo do Azure fornece um ambiente paaS (plataforma como serviço) que permite criar, implantar e dimensionar aplicativos Web, back-ends de aplicativo móvel, APIs RESTful e aplicativos de funções. Ao implantar esse serviço, é importante seguir as práticas recomendadas de segurança para proteger seus aplicativos, dados e infraestrutura.
Este artigo fornece diretrizes sobre como proteger melhor sua implantação do Serviço de Aplicativo do Azure.
O Serviço de Aplicativo do Azure protege e fortalece ativamente seus componentes de plataforma, incluindo máquinas virtuais (VMs) do Azure, armazenamento, conexões de rede, estruturas web e recursos de gerenciamento e integração. O Serviço de Aplicativo passa por verificações de conformidade contínuas e rigorosas para garantir que:
- Cada aplicativo é separado de outros aplicativos e recursos do Azure.
- Atualizações regulares de VMs e software de tempo de execução tratam de vulnerabilidades recém-descobertas.
- A comunicação de segredos e cadeias de conexão entre aplicativos e outros recursos do Azure, como o Banco de Dados SQL do Azure , ocorre somente dentro do Azure, sem cruzar limites de rede. Os segredos armazenados são sempre criptografados.
- Todas as comunicações por meio de recursos de conectividade do Serviço de Aplicativo, como Conexão Híbrida , são criptografadas.
- Todas as conexões por meio de ferramentas de gerenciamento remoto, como o Azure PowerShell, a CLI do Azure, os SDKs do Azure e as APIs REST são criptografadas.
- O gerenciamento contínuo de ameaças protege a infraestrutura e a plataforma contra malware, DDoS (negação de serviço distribuído) e ataques man-in-the-middle e outras ameaças.
Para obter mais informações sobre infraestrutura e segurança de plataforma no Azure, consulte a Central de Confiabilidade do Azure.
As recomendações de segurança neste artigo implementam os princípios de Confiança Zero: "Verificar explicitamente", "Usar acesso de privilégio mínimo" e "Presumir violação". Para obter diretrizes abrangentes sobre Confiança Zero, consulte o Centro de Diretrizes de Confiança Zero.
Segurança específica do serviço
O Serviço de Aplicativo do Azure possui considerações de segurança únicas que você deve considerar para garantir a segurança geral das suas aplicações web.
Desabilitar a autenticação básica: Desabilite a autenticação básica de nome de usuário e senha nos pontos de extremidade FTP e SCM, em favor da autenticação baseada em ID do Microsoft Entra, que oferece autenticação com token OAuth 2.0 e aprimora a segurança. Para mais informações, veja Desabilitar a autenticação básica nas implantações do Serviço de Aplicativo do Azure.
Implantações FTP/FTPS seguras: desabilite o acesso ftp ou imponha o modo somente FTPS ao usar FTP para implantações para impedir que credenciais e conteúdo sejam transmitidos em texto claro. Para mais informações, veja Implantar seu aplicativo no Serviço de Aplicativo do Azure usando FTP/S.
Obter isolamento de rede completo: use o Ambiente do Serviço de Aplicativo para executar seus aplicativos dentro de um Ambiente de Serviço de Aplicativo dedicado em sua própria instância da Rede Virtual do Azure. Essa configuração oferece isolamento completo da rede da infraestrutura compartilhada 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 em nível empresarial. Para mais informações, veja Introdução aos Ambientes do Serviço de Aplicativo do Azure.
Implemente proteção DDoS: Implante o Azure Front Door com um Firewall de Aplicativo Web (WAF) na frente do seu app de App Service para absorver e filtrar ataques DDoS da camada de rede e da aplicação antes que cheguem ao seu app. Para mais informações, veja Azure Front Door e proteção contra DDoS.
Segurança de rede
O Serviço de Aplicativo dá suporte a muitos recursos de segurança de rede para bloquear seus aplicativos e impedir o acesso não autorizado.
Configurar pontos de extremidade privados: elimine a exposição pública à Internet roteando o tráfego para o Azure App Service por meio da sua rede virtual, usando o Link Privado do Azure, garantindo conectividade segura para clientes nas suas redes privadas. Para mais informações, consulte Usar pontos de extremidade privados para o Serviço de Aplicativo do Azure.
Implemente a integração de rede virtual: proteja o tráfego de saída permitindo que seu aplicativo acesse recursos dentro ou por meio de uma rede virtual do Azure, mantendo o isolamento da Internet pública. Para saber mais, confira Integrar o aplicativo a uma rede virtual do Azure.
Configurar restrições de acesso ip: restringir o acesso ao seu aplicativo definindo uma lista de permissões de endereços IP e sub-redes que podem acessar seu aplicativo, bloqueando todo o tráfego. Você pode definir endereços IP individuais ou intervalos definidos por máscaras de sub-rede e configurar restrições de IP dinâmicas por meio de arquivos web.config em aplicativos do Windows. Para obter mais informações, consulte Configurar as restrições de acesso do Serviço de Aplicativo do Azure.
Configurar restrições de ponto de extremidade do serviço: Limite o acesso de entrada ao seu aplicativo a partir de sub-redes específicas em suas redes virtuais usando pontos de extremidade de serviço, que funcionam em conjunto com restrições de acesso IP para fornecer filtragem em nível de rede. Para obter mais informações, confira Restrições de acesso do Serviço de Aplicativo do Azure.
Use o Firewall do Aplicativo Web: aprimore a proteção contra vulnerabilidades e ataques comuns da Web implementando o Azure Front Door ou o Gateway de Aplicativo com funcionalidades de Firewall de Aplicativo Web na frente do Serviço de Aplicativo. Para obter mais informações, consulte Firewall de Aplicativo Web do Azure no Gateway de Aplicativo do Azure.
Gerenciamento de identidade e acesso
O gerenciamento adequado de identidades e controles de acesso é essencial para proteger suas implantações do Serviço de Aplicativo do Azure contra uso não autorizado e possível roubo de credenciais.
Habilite identidades gerenciadas para solicitações de saída: autentique nos serviços do Azure com segurança do seu aplicativo sem armazenar credenciais em seu código ou configuração usando identidades gerenciadas, eliminando a necessidade de gerenciar entidades de serviço e cadeias de conexão. As identidades gerenciadas fornecem uma identidade gerenciada automaticamente no Microsoft Entra ID para seu aplicativo usar ao fazer solicitações de saída para outros serviços do Azure, como o Banco de Dados SQL do Azure, o Azure Key Vault e o Armazenamento do Azure. O Serviço de Aplicativo dá suporte a identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário. Para obter mais informações, consulte Usar identidades gerenciadas para o Serviço de Aplicativo e o Azure Functions.
Configurar autenticação e autorização: implemente a autenticação/autorização do Serviço de Aplicativo para proteger seu aplicativo com a ID do Microsoft Entra ou outros provedores de identidade, impedindo o acesso não autorizado sem escrever código de autenticação personalizado. O módulo de autenticação embutido gerencia as requisições web antes de encaminhá-las para o código da sua aplicação e suporta múltiplos provedores, incluindo Microsoft Entra ID, contas Microsoft, Facebook, Google e X. Para mais informações, veja Autenticação e autorização no Serviço de Aplicativo do Azure.
Implementar o controle de acesso baseado em função para operações de gerenciamento: controle quem pode gerenciar e configurar seus recursos do Serviço de Aplicativo (plano de gerenciamento) atribuindo as permissões mínimas necessárias do RBAC do Azure a usuários e entidades de serviço seguindo o princípio de privilégio mínimo. Isso controla o acesso administrativo a operações como criação de aplicativos, modificação de configurações e gerenciamento de implantações, separadamente da autenticação em nível de aplicação (Easy Auth) ou autenticação app-to-resource (identidades gerenciadas). Para mais informações, veja funções integradas no Azure para web e mobile.
Implemente a autenticação "em nome de":: delegue acesso a recursos remotos em nome dos usuários com o Microsoft Entra ID como provedor de autenticação. Seu aplicativo de Serviço de Aplicativo pode executar a autenticação delegada em serviços como o Microsoft Graph ou aplicativos de API remota do Serviço de Aplicativo. Para mais informações, veja Autenticar e autorizar usuários de ponta a ponta no Serviço de Aplicativo do Azure.
Habilitar a autenticação TLS mútua: exigir certificados de cliente para maior segurança quando o aplicativo precisar verificar a identidade do cliente, especialmente para cenários B2B ou aplicativos internos. Para mais informações, veja Configurar autenticação mútua TLS para Serviço de Aplicativo do Azure.
Proteção de dados
Proteger dados em trânsito e em repouso é crucial para manter a confidencialidade e a integridade de seus aplicativos e seus dados.
Impor HTTPS: redirecione todo o tráfego HTTP para HTTPS habilitando o modo somente HTTPS, garantindo que toda a comunicação entre clientes e seu aplicativo seja criptografada. O redirecionamento apenas HTTPS não está ativado por padrão, então ative-o explicitamente; note que o nome
<app_name>.azurewebsites.netde domínio padrão do seu app já está acessível via HTTPS. Para mais informações, veja Configurar configurações gerais.Configurar a versão do TLS: use protocolos TLS modernos configurando a versão mínima do TLS para 1.2 ou superior e desabilite protocolos desatualizados e inseguros para evitar possíveis vulnerabilidades. O Serviço de Aplicativo dá suporte ao TLS 1.3 (mais recente), ao TLS 1.2 (mínimo padrão) e ao TLS 1.1/1.0 (somente para compatibilidade com versões anteriores). Configure a versão mínima do TLS para seu aplicativo Web e o site do SCM. Para mais informações, veja Configurar configurações gerais.
Gerenciar certificados TLS/SSL: proteja domínios personalizados usando certificados TLS/SSL configurados corretamente para estabelecer conexões confiáveis. O Serviço de Aplicativo dá suporte a vários tipos de certificado: certificados gerenciados gratuitos do Serviço de Aplicativo, certificados do Serviço de Aplicativo, certificados de terceiros e certificados importados do Azure Key Vault. Se você configurar um domínio personalizado, proteja-o com um certificado TLS/SSL para que os navegadores possam fazer conexões HTTPS seguras. Para obter mais informações, consulte Adicionar e gerenciar certificados TLS/SSL no Serviço de Aplicativo do Azure.
Armazene segredos no Key Vault: proteja valores confidenciais de configuração, como credenciais de banco de dados, tokens de API e chaves privadas, armazenando-os no Azure Key Vault e acessando-os usando identidades gerenciadas, em vez de armazená-los em configurações de aplicativo ou código. Seu aplicativo do Serviço de Aplicativo pode acessar com segurança o Key Vault usando a autenticação de identidade gerenciada. Para obter mais informações, veja Usar as referências do Key Vault para o Serviço de Aplicativo e o Azure Functions.
Evite codificar segredos fixamente nas configurações do aplicativo: Não armazene segredos em arquivos de código ou configuração. O App Service armazena as configurações do aplicativo e as cadeias de conexão criptografadas em repouso e as descriptografa pouco antes de injetá-las na memória do processo do aplicativo, mas, para segredos sensíveis, prefira referências ao Key Vault, para que os segredos sejam gerenciados centralmente e nunca sejam armazenados na configuração do aplicativo. Acesse esses valores como variáveis de ambiente usando padrões padrão para sua linguagem de programação. Para saber mais, confira Definir configurações de aplicativo.
Proteger conexões remotas: sempre use conexões criptografadas ao acessar recursos remotos, mesmo que o recurso de back-end permita conexões não criptografadas. Para recursos do Azure, como o Banco de Dados SQL do Azure e o Armazenamento do Azure, as conexões permanecem dentro do Azure e não ultrapassam os limites de rede. Para recursos de rede virtual, use a integração de rede virtual com VPN ponto a site. Para recursos locais, use conexões híbridas com o TLS 1.2 ou a integração de rede virtual com VPN site a site. Verifique se os serviços do Azure de back-end permitem apenas o menor conjunto possível de endereços IP de seu aplicativo. Para mais informações, veja Descobrir IPs de saída.
Registro e monitoramento
Implementar o registro em log e o monitoramento abrangentes é essencial para detectar possíveis ameaças à segurança e solucionar problemas com a implantação do Serviço de Aplicativo do Azure.
Habilitar o registro em log de diagnóstico: configure os logs de diagnóstico do Serviço de Aplicativo do Azure para acompanhar erros de aplicativo, logs de servidor web, rastros de solicitações malsucedidas e mensagens de erro detalhadas para identificar problemas de segurança e solucionar problemas técnicos. Para mais informações, veja Habilitar o registro de diagnósticos para aplicativos no Serviço de Aplicativo do Azure.
Integre-se ao Azure Monitor: configure o Azure Monitor para coletar e analisar logs e métricas de seu Serviço de Aplicativo, permitindo monitoramento e alertas abrangentes para eventos de segurança e problemas de desempenho. Para mais informações, veja Monitorar aplicativos no Serviço de Aplicativo do Azure.
Configurar o Application Insights: implementar o Application Insights para obter insights detalhados sobre o desempenho do aplicativo, padrões de uso e possíveis problemas de segurança, com recursos de monitoramento e análise em tempo real. Para obter mais informações, consulte Monitorar o desempenho do Serviço de Aplicativo do Azure.
Configurar alertas de segurança: crie alertas personalizados para notificar você sobre padrões de uso anormais, possíveis violações de segurança ou interrupções de serviço que afetam os recursos do Serviço de Aplicativo. Para obter mais informações, confira Criar, exibir e gerenciar alertas de métrica usando o Azure Monitor.
Habilitar verificações de integridade: configure verificações de integridade para monitorar o status operacional do aplicativo e corrija automaticamente os problemas quando possível. Para saber mais, confira Monitorar instâncias do Serviço de Aplicativo usando a verificação de Integridade.
Conformidade e governança
Estabelecer a governança adequada e garantir a conformidade com padrões relevantes é crucial para a operação segura de aplicativos do Serviço de Aplicativo do Azure.
Implementar o Azure Policy: impor padrões de segurança em toda a organização para suas implantações do Serviço de Aplicativo criando e atribuindo definições do Azure Policy que auditam e impõem requisitos de conformidade. Para mais informações, consulte os controles de conformidade regulatória do Azure Policy para o Serviço de Aplicativo do Azure.
Revise recomendações de segurança: Avalie regularmente sua postura de segurança de serviços de aplicativos usando o Microsoft Defender para Nuvem para identificar e corrigir vulnerabilidades e configurações incorretas. Para mais informações, veja Proteja seus aplicativos web e APIs do Serviço de Aplicativo do Azure.
Realize avaliações de segurança: Realize avaliações regulares de segurança e testes de penetração em seus aplicativos de App Service para validar restrições de acesso, configurações de TLS e configuração de Easy Auth. Siga as regras de engajamento dos testes de penetração em nuvem da Microsoft. Para mais informações, veja Testes de penetração.
Manter a conformidade regulatória: Atribuir iniciativas de políticas de conformidade regulatória incorporadas (como PCI DSS, HIPAA/HITRUST ou ISO 27001) que incluam controles de App Service para auditar seus aplicativos em relação aos requisitos do seu setor e região, especialmente no que diz respeito à proteção de dados e privacidade. Para obter mais informações, consulte Conformidade Regulatória no Azure Policy.
Implementar práticas DevOps seguras: Estabelecer pipelines seguros de CI/CD para implantação em App Service: usar slots de implantação para validação em etapas, desativar a autenticação básica nos endpoints SCM/FTP em favor da implantação baseada em identidade gerenciada e adicionar varreduras de código e verificações de dependência. Para mais informações, veja Melhores práticas de implantação.
Backup e recuperação
Implementar mecanismos robustos de backup e recuperação é essencial para garantir a continuidade dos negócios e a proteção de dados em suas implantações do Serviço de Aplicativo do Azure.
Habilitar backups automatizados: configure backups agendados para seus aplicativos do Serviço de Aplicativo para garantir que você possa recuperar seus aplicativos e dados em caso de exclusão acidental, corrupção ou outras falhas. Para mais informações, veja Backup e restauração do seu app no Serviço de Aplicativo do Azure.
Configurar a retenção de backup: defina os períodos de retenção apropriados para seus backups com base nos requisitos de negócios e nas necessidades de conformidade, garantindo que os dados críticos sejam preservados durante a duração necessária. Para mais informações, veja Backup e restauração do seu app no Serviço de Aplicativo do Azure.
Implemente implantações multirregionais: Implante suas aplicações críticas em múltiplas regiões para oferecer alta disponibilidade e capacidades de recuperação de desastres em caso de quedas regionais. Para mais informações, veja Tutorial: Criar um aplicativo multi-região altamente disponível no App Service.
Testar a restauração do backup: teste regularmente o processo de restauração de backup para garantir que os backups sejam válidos e possam ser restaurados com êxito quando necessário, verificando a funcionalidade do aplicativo e a integridade dos dados. Para mais informações, veja Restaurar um aplicativo a partir de um backup.
Procedimentos de recuperação de documentos: crie e mantenha uma documentação abrangente para procedimentos de recuperação, garantindo uma resposta rápida e eficaz durante interrupções ou desastres de serviço. Para obter mais informações, consulte Confiabilidade no Serviço de Aplicativo do Azure.