Partilhar via


Considerações de segurança para o acelerador de zona de aterrissagem do Azure Spring Apps

Este artigo descreve considerações de segurança e recomendações para uma carga de trabalho hospedada no Azure Spring Apps. Estas orientações ajudam-no a criar uma carga de trabalho capaz de detetar, prevenir e responder a vulnerabilidades de segurança.

Um aplicativo seguro não pode garantir a segurança de toda a carga de trabalho. Como proprietário da carga de trabalho, avalie erros humanos e avalie a superfície de ataque, como o aplicativo e os serviços de infraestrutura com os quais o aplicativo interage.

O Azure fornece controlos de segurança para a rede, identidade e dados para apoiar a sua estratégia de defesa em profundidade. Muitos dos controles são incorporados ao Azure Spring Apps. Esta orientação baseia-se na linha de base de segurança do Azure para Azure Spring Apps, que é derivada do Azure Security Benchmark versão 2.0. A referência fornece recomendações sobre como proteger sua carga de trabalho que é executada na nuvem do Azure Spring Apps.

As equipes centralizadas fornecem controles de rede e identidade como parte da plataforma. Eles fornecem guarda-corpos para manter o controle sobre plataformas, aplicativos e recursos no Azure. A assinatura da zona de aterrissagem do aplicativo fornecida para a carga de trabalho é pré-provisionada com políticas, que são herdadas do grupo de gerenciamento.

Ao projetar a carga de trabalho, certifique-se de que os controles de segurança que você possui estejam alinhados com os controles centrais. O projeto está sujeito a revisões periódicas conduzidas pela equipe de segurança centralizada. Revise regularmente os controles de segurança e as políticas da plataforma com as equipes centrais para garantir que os requisitos de carga de trabalho sejam atendidos.

Para obter informações sobre o design da plataforma, consulte:

Considerações de design

  • Tráfego interno. Restrinja ou permita que o tráfego entre recursos internos siga um princípio de segmentação empresarial alinhado com os riscos do negócio. Quando necessário, crie limites de isolamento através de redes virtuais e sub-redes. Implementar regras para restringir os fluxos de tráfego entre redes.

  • Tráfego externo. Use recursos nativos do Azure para proteger seus recursos de carga de trabalho contra ataques de redes externas, incluindo:

    • Ataques distribuídos de negação de serviço (DDoS).
    • Ataques específicos de aplicativos.
    • Tráfego de Internet não solicitado e potencialmente malicioso.
  • Gestão de identidades. Use os recursos do Microsoft Entra, como identidades gerenciadas, logon único, autenticações fortes, identidades gerenciadas e acesso condicional para fornecer autenticação e autorização por meio do Microsoft Entra ID.

  • Monitorização de segurança. O sistema deve ter ferramentas de monitoramento para detetar ameaças e medir a conformidade usando as metas da organização e os controles de Benchmark de Segurança do Azure. Essas ferramentas devem ser integradas com sistemas centrais de gerenciamento de eventos e informações de segurança (SIEM) para obter uma visão holística da postura de segurança.

  • Dados em trânsito. Os dados transferidos entre componentes, locais ou chamadas de API devem ser criptografados.

  • Dados em repouso. Todos os dados persistentes, incluindo a configuração, devem ser criptografados.

  • Políticas de governação. Você deve detetar desvios dos padrões de conformidade definidos pela sua organização. A Política do Azure fornece definições internas que devem ser aplicadas para detetar os desvios. Quando você aplica políticas, isso não garante que você esteja totalmente em conformidade com todos os requisitos de um controle. Pode haver padrões compatíveis que não são abordados em definições internas.

  • Exposição de credenciais. Você pode implantar e executar código, configurações e dados persistentes com identidades ou segredos. Certifique-se de que as credenciais são examinadas quando você acessa os ativos.

  • Gestão de certificados. Os certificados devem ser carregados com base no princípio Zero Trust de nunca confiar, sempre verificar, e devem ser livres de credenciais. Confie apenas em certificados compartilhados verificando a identidade antes de conceder acesso aos certificados.

  • Implantações consistentes. Use a infraestrutura como código (IaC) para automatizar o provisionamento e a configuração de todos os recursos do Azure e fortalecer a postura de segurança.

Recomendações de design

Rede como perímetro

Esses controles de rede criam limites de isolamento e restringem fluxos de entrada e saída do aplicativo.

Segmentação de rede

Crie ou use uma rede virtual existente ao implantar recursos do serviço Azure Spring Cloud.

Crie isolamento dentro da rede virtual através de sub-rede. Restrinja ou permita o tráfego entre recursos internos usando suas regras NSG. Use o recurso de proteção de rede adaptável do Microsoft Defender for Cloud para fortalecer ainda mais as configurações NSG que limitam portas e IPs de origem. Baseie as configurações em regras de tráfego de rede externa.

Ao criar regras de segurança, use marcas de serviço do Azure para definir os controles de acesso à rede em vez de endereços IP específicos. Ao especificar o nome da etiqueta de serviço no campo de origem ou destino da regra apropriada, permita ou negue o tráfego para o serviço correspondente. A Microsoft gerencia os prefixos de endereço cobertos pela etiqueta de serviço. Ele atualiza automaticamente a etiqueta de serviço à medida que os endereços mudam.

Use a AzureSpringCloud marca de serviço em grupos de segurança de rede ou no Firewall do Azure para permitir o tráfego para aplicativos no Azure Spring Apps.

Para obter mais informações, consulte Responsabilidades do cliente para executar o Azure Spring Cloud em uma rede virtual.

Ligação a redes privadas

Em um ambiente colocalizado, use a Rota Expressa do Azure ou a rede virtual privada (VPN) do Azure para criar conexões privadas entre os datacenters do Azure e a infraestrutura local. As conexões do ExpressRoute não passam pela Internet pública com confiabilidade, velocidades mais rápidas e latências mais baixas.

Para VPN ponto a site e VPN site a site, conecte dispositivos ou redes locais a uma rede virtual. Use qualquer combinação dessas opções de VPN e do Azure ExpressRoute.

Para conectar duas ou mais redes virtuais no Azure, use o emparelhamento de rede virtual. O tráfego de rede entre redes virtuais em modo de peering é privado. Esse tipo de tráfego é mantido na rede de backbone do Azure.

Ataques de redes externas

Coloque controles sobre o tráfego de entrada e bloqueie ataques à camada de aplicativos com o Gateway de Aplicativo do Azure com o WAF (firewall de aplicativo Web) integrado.

Use o Firewall do Azure para restringir o tráfego de saída do aplicativo. Você pode usar o Firewall do Azure para proteger aplicativos e serviços contra tráfego potencialmente mal-intencionado da Internet e de outros locais externos.

A filtragem baseada em inteligência de ameaças do Firewall do Azure pode enviar um alerta ou bloquear o tráfego de e para domínios IP mal-intencionados conhecidos. Os domínios e endereços IP são obtidos a partir do feed das Informações sobre Ameaças da Microsoft. Quando a inspeção de carga útil for necessária, implante um sistema de deteção de intrusão/prevenção de intrusão de terceiros (IDS/IPS) do Azure Marketplace com recursos de inspeção de carga útil. Como alternativa, você pode usar IDS/IPS baseado em host ou uma solução de deteção e resposta de ponto final (EDR) baseada em host com, ou em vez de, IDS/IPS baseado em rede.

Para proteger os recursos de carga de trabalho contra ataques DDoS, habilite a proteção padrão DDoS em suas redes virtuais do Azure. Use o Microsoft Defender for Cloud para detetar riscos de configuração incorreta para seus recursos relacionados à rede.

Proteger o DNS (Serviço de Nomes de Domínio)

Use o DNS do Azure para hospedar domínios DNS. Proteja zonas e registros DNS de agentes mal-intencionados. O controle de acesso baseado em função do Azure (Azure RBAC) e os bloqueios de recursos são recomendados para essa finalidade. Para obter mais informações, consulte Impedir entradas DNS pendentes e evitar a tomada de controle de subdomínio.

Identidade como perímetro

O Azure fornece controles de identidade por meio do Microsoft Entra ID. O aplicativo tem muitos recursos, como logon único, autenticações fortes, identidades gerenciadas e acesso condicional. Para obter informações sobre as opções de design para a arquitetura, consulte Considerações de identidade para o acelerador de zona de aterrissagem do Azure Spring Apps.

A seção a seguir descreve os aspetos de segurança dessas opções.

Integração com o sistema de identidade centralizado

As zonas de aterrissagem do Azure usam o Microsoft Entra ID como o serviço padrão de gerenciamento de identidade e acesso. Para controlar os serviços de carga de trabalho, recomenda-se o Microsoft Entra ID centralizado. O Microsoft Entra ID centralizado inclui acesso aos recursos de rede da organização, ao Armazenamento do Azure, ao Cofre de Chaves e a outros serviços dos quais seu aplicativo depende.

Se você quiser conceder acesso ao plano de dados do Azure Spring Apps, use a função interna do Azure Spring Cloud Data Reader . Essa função dá permissões somente leitura.

Estas funcionalidades do Microsoft Entra são recomendadas:

  • Identidades de aplicativos. O aplicativo pode precisar acessar outros serviços do Azure. Por exemplo, se quiser recuperar segredos do Cofre de Chaves do Azure.

    Use identidades gerenciadas com o Azure Spring Apps para que o aplicativo possa se autenticar em outros serviços usando a ID do Microsoft Entra. Evite usar entidades de serviço para essa finalidade. O processo de autenticação de identidades gerenciadas não usa credenciais codificadas em código-fonte ou arquivos de configuração.

    Se você precisar usar entidades de serviço com credenciais de certificado e retornar aos segredos do cliente, é recomendável usar a ID do Microsoft Entra para criar uma entidade de serviço com permissões restritas no nível do recurso.

    Em ambos os casos, o Cofre da Chave pode ser usado com identidades gerenciadas pelo Azure. Um componente de tempo de execução, como uma função do Azure, pode ser usado para recuperar os segredos do Cofre da Chave. Para obter mais informações, consulte Autenticação no Cofre da Chave do Azure.

  • Microsoft Entra logon único (SSO). O Microsoft Entra SSO é recomendado para autenticar o acesso ao aplicativo de outros aplicativos ou dispositivos executados na nuvem ou no local. O SSO fornece gerenciamento de identidade para usuários internos e externos, como parceiros ou fornecedores.

  • Controles de autenticação forte. O Microsoft Entra ID suporta controlos de autenticação forte através de autenticação multifator (MFA) e métodos sem palavra-passe fortes. Para administradores e usuários privilegiados, use o nível mais alto do método de autenticação forte para reduzir o raio de explosão se houver uma violação. Em seguida, implemente a política de autenticação forte apropriada para outros usuários. Para obter mais informações, consulte Habilitar MFA no Azure e Opções de autenticação sem senha para o Microsoft Entra ID.

  • Acesso condicional aos recursos. O Azure Spring Apps dá suporte ao Acesso Condicional do Microsoft Entra para um controle de acesso mais granular baseado em condições definidas pelo usuário. Você pode definir condições para incluir entradas de usuário de determinados intervalos de IP que precisam entrar usando MFA. Estas políticas de Acesso Condicional aplicam-se apenas a contas de utilizador que se autenticam no Microsoft Entra ID para aceder e gerir aplicações. Essas políticas não se aplicam a entidades de serviço, chaves ou tokens usados para se conectar aos recursos da carga de trabalho.

  • Acesso privilegiado. Implemente o Microsoft Entra Privileged Identity Management para garantir acesso com privilégios mínimos e relatórios profundos em todo o seu ambiente do Azure. As equipes devem iniciar revisões de acesso recorrentes para garantir que as pessoas e os princípios de serviço certos tenham níveis de autorização atuais e corretos.

Controlos de dados

Os controles de rede e identidade restringem o acesso ao aplicativo, mas os dados precisam ser protegidos. A criptografia garante a integridade dos dados e é um recurso de segurança fundamental que deve ser aplicado para mitigar ameaças.

Dados em trânsito

Os dados transferidos são suscetíveis a ataques fora de banda, como a captura de tráfego. Use a criptografia para garantir que os invasores não possam ler ou modificar facilmente esses dados. O Azure fornece criptografia para dados em trânsito entre data centers do Azure.

O Azure Spring Apps suporta encriptação com Transport Layer Security (TLS) v1.2 ou superior. O TLS fornece comunicações seguras por meio de identidade e confiança e criptografa comunicações de todos os tipos. Você pode usar qualquer tipo de certificado TLS. Por exemplo, certificados emitidos por uma autoridade de certificação, certificados de validação estendida, certificados curinga com suporte para qualquer número de subdomínios ou certificados autoassinados para ambientes de desenvolvimento e teste.

A encriptação é crítica para o tráfego em redes externas e públicas. Todos os pontos de extremidade públicos devem usar HTTPS para tráfego de entrada por padrão. As chamadas de gerenciamento para configurar o serviço Azure Spring Apps por meio de chamadas de API do Azure Resource Manager devem ser feitas por HTTPS.

Para tráfego HTTP, certifique-se de que os clientes que se conectam aos seus recursos do Azure podem negociar TLS v1.2 ou posterior. Não use versões ou protocolos obsoletos. Desative cifras fracas.

Para gerenciamento remoto, em vez de usar um protocolo não criptografado, use Secure Shell (SSH) para Linux ou RDP (Remote Desktop Protocol) e TLS para Windows.

Dados inativos

A carga de trabalho precisa de um estado de armazenamento para origem e artefatos, configurações do servidor de configuração, configurações do aplicativo e armazenamento. Os dados do lado do servidor em repouso são protegidos pela criptografia do Armazenamento do Azure. O armazenamento criptografa automaticamente o conteúdo com chaves gerenciadas pela Microsoft.

O cache do servidor de configuração, os binários de tempo de execução criados a partir de fontes carregadas e os logs de aplicativos durante o tempo de vida do aplicativo são salvos em um disco gerenciado do Azure. Esses dados são automaticamente criptografados. As imagens de contêiner, que são criadas a partir da fonte carregada pelo usuário, são criptografadas e salvas no Registro de Contêiner do Azure.

Para cenários de suporte, quando a Microsoft precisar de acesso a dados relevantes do cliente, use o Customer Lockbox for Microsoft Azure porque sua equipe ou organização deve aprovar o acesso.

Monitorizar e alertar para anomalias em contas

Recomenda-se que o Microsoft Defender for Cloud receba alertas sobre atividades suspeitas, como um número excessivo de tentativas de autenticação com falha ou contas preteridas na assinatura.

O Azure Spring Apps está integrado com o Microsoft Entra ID, que pode controlar atividades de início de sessão, incluindo entradas arriscadas. Você pode usar logs de auditoria para detetar alterações feitas em quaisquer recursos dentro do Microsoft Entra ID. Os dados são integrados ao Azure Monitor e podem ser exportados para o Microsoft Sentinel.

Para obter mais informações, consulte:

Políticas de governação

A definição interna do Azure chamada Azure Spring Cloud deve usar a injeção de rede que permite que você imponha controles de rede.

  1. Detete a implementação de limites de isolamento para o aplicativo a partir da Internet.
  2. Habilite o Azure Spring Apps para se comunicar com redes privadas em data centers locais ou serviço do Azure em outras redes virtuais.
  3. Controle as comunicações de rede de entrada e saída para a rede virtual do Azure Spring Apps.

Gestão de certificados

Um aplicativo pode precisar de certificados TLS públicos ao se comunicar com serviços de back-end ou sistemas locais. Você pode carregar os certificados no Cofre da Chave.

Para carregar certificados com segurança do Cofre da Chave, os aplicativos Spring Boot usam identidades gerenciadas e RBAC (controle de acesso baseado em função) do Azure. O Azure Spring Apps usa uma entidade de serviço de provedor e um controle de acesso baseado em função do Azure. Esse carregamento seguro é alimentado usando o Provedor JCA (Java Cryptography Architecture) do Azure Key Vault. Para obter mais informações, consulte Biblioteca de cliente JCA do Azure Key Vault para Java.

Se seu código Spring, código Java ou bibliotecas de código aberto, como OpenSSL, dependerem da cadeia JCA padrão da JVM para carregar implicitamente certificados no armazenamento confiável da JVM, você poderá importar seus certificados TLS do Cofre da Chave para o Azure Spring Apps. Use esses certificados dentro do aplicativo. Para obter mais informações, consulte Usar certificados TLS/SSL em seu aplicativo no Azure Spring Apps.

Análise de credenciais

Implemente o Verificador de Credenciais para identificar credenciais que acessam código, configurações e dados persistentes. O Verificador de Credenciais incentiva que você mova as credenciais descobertas para locais mais seguros, como o Cofre da Chave.

Para o GitHub, você pode usar o recurso de verificação de segredo nativo para identificar credenciais ou outras formas de segredos dentro do código.

Para obter mais informações, consulte:

Próximos passos

Acompanhamento das operações