Partilhar via


Considerações de segurança para o acelerador de zona de aterrissagem do Azure Integration Services

Uma boa segurança é a pedra angular de qualquer aplicação do Azure. O Azure Integration Services enfrenta um desafio específico, pois há muitos recursos que compõem um aplicativo e cada um desses recursos tem suas próprias considerações de segurança. Para garantir que você compreenda as considerações específicas de cada serviço, consulte as seguintes linhas de base de segurança:

Considerações de design

Ao projetar seu modelo de segurança, há duas áreas de design diferentes: segurança em tempo de design e segurança em tempo de execução.

  • A segurança em tempo de design envolve o acesso ao gerenciamento e à criação de recursos do Azure por meio do portal do Azure ou de uma API de gerenciamento. No Azure, usamos a ID do Microsoft Entra e o controle de acesso baseado em função (RBAC) para conseguir isso.

  • A segurança em tempo de execução envolve o acesso a pontos de extremidade e recursos durante o fluxo de um aplicativo - por exemplo, autenticar e autorizar um usuário que chama um aplicativo lógico ou uma operação de API no Gerenciamento de API.

Decida antecipadamente se precisa:

  • Nuvem privada - todos os seus recursos residem em uma VNet e usam apenas endereçamento privado, sem acesso ou a partir da Internet pública, potencialmente disponível para seus recursos locais via VPN ou Rota Expressa.

  • Nuvem pública - todos os seus recursos voltados para o público têm acesso à internet pública, embora bloqueados para restringir o acesso da internet pública.

  • Híbrido - alguns recursos são privados e outros públicos.

A escolha que você fizer afetará o custo de seus recursos, juntamente com a quantidade de segurança que você pode implementar para seus aplicativos.

As considerações gerais de segurança incluem:

  • Usando os serviços do Azure para proteger o tráfego de entrada e saída.

  • Usando o Microsoft Entra ID e OAuth 2.0 para gerenciar a autenticação.

  • Aplicando políticas de governança com a Política do Azure.

  • Bloqueio do acesso aos recursos (controlo de acesso).

  • Encriptação de dados em trânsito e em repouso.

  • Registro de todas as tentativas de acesso a recursos.

  • Auditoria do acesso aos recursos.

Recomendações de design

Recomendações de design de rede

  • Observe o uso de um Gateway de Aplicativo (Azure Application Gateway ou Azure Front Door) com um Web Application Firewall (WAF) na frente de seus pontos de extremidade acessíveis, isso ajudará com a criptografia automática de dados e permitirá que você monitore e configure seus pontos de extremidade com mais facilidade.

    • O Front Door é uma rede de entrega de aplicativos que fornece balanceamento de carga global e serviço de aceleração de site para aplicativos Web. O Front Door oferece recursos de camada 7, como descarregamento SSL, roteamento baseado em caminho, failover rápido e cache para melhorar o desempenho e a disponibilidade de seus aplicativos.

    • O Gestor de Tráfego é um balanceador de carga de tráfego baseado em DNS que lhe permite distribuir o tráfego de forma otimizada para serviços em regiões globais do Azure, ao mesmo tempo que fornece alta disponibilidade e capacidade de resposta. Como o Gerenciador de Tráfego é um serviço de balanceamento de carga baseado em DNS, ele carrega balanceamentos somente no nível do domínio. Por esse motivo, ele não pode fazer failover tão rapidamente quanto o Front Door devido a desafios comuns em torno do cache de DNS e sistemas que não respeitam o DNS TTL.

    • O Application Gateway fornece um controlador de entrega de aplicativos gerenciado com vários recursos de balanceamento de carga da Camada 7. Você pode usar o Application Gateway para otimizar a produtividade do webfarm descarregando a terminação SSL com uso intensivo de CPU para o gateway.

    • O Azure Load Balancer é um serviço de balanceamento de carga de entrada e saída de Camada 4 de alto desempenho e latência ultrabaixa para todos os protocolos UDP e TCP. O Load Balancer lida com milhões de solicitações por segundo. O Load Balancer é redundante em zona, garantindo alta disponibilidade em zonas de disponibilidade.

  • Implemente o isolamento de rede para seus recursos de serviços de integração usando a integração de VNet para colocá-los em uma sub-rede isolada combinada com o uso do link privado do Azure e pontos de extremidade privados. Consulte o artigo Topologia de rede e conectividade desta série para obter uma revisão destas diretrizes de design.

  • Proteja seu tráfego de saída com o Firewall do Azure

  • Use a Filtragem de IP para bloquear seus pontos de extremidade para que eles só possam ser acessados por endereços de rede conhecidos (isso é aplicável para aplicativos lógicos não integrados a redes virtuais).

  • Se você tiver recursos disponíveis publicamente, use ofuscação de DNS para dissuadir quaisquer invasores; ofuscação significa nomes de domínio personalizados ou nomes de recursos específicos do Azure que não revelam a finalidade ou o proprietário de um recurso.

Recomendações de design de criptografia

  • Ao armazenar dados (no Armazenamento do Azure ou no SQL Server do Azure, por exemplo), sempre habilite a Criptografia em repouso. Bloqueie o acesso aos dados, idealmente apenas a serviços e a um número limitado de administradores. Lembre-se de que isso também se aplica aos dados de log. Para obter mais informações, consulte Criptografia de dados do Azure em repouso e Visão geral da criptografia do Azure.

  • Use sempre a Criptografia em Trânsito (tráfego TLS, por exemplo) ao transferir dados entre recursos, nunca envie dados por um canal não criptografado.

  • Ao usar protocolos TLS, sempre use TLS 1.2 ou superior.

  • Mantenha segredos no Cofre da Chave do Azure e vincule-os às Configurações do Aplicativo (Funções, Aplicativos Lógicos), Valores Nomeados (Gerenciamento de API) ou Entradas de Configuração (Configuração do Aplicativo).

  • Implemente uma política de rotação de chaves para garantir que todas as chaves em uso em seu ambiente sejam alternadas regularmente para evitar ataques usando chaves comprometidas

  • Para o Logic App, use ofuscação para proteger dados no histórico de execução.

Recomendações de design de autenticação e acesso

  • Siga sempre o princípio do menor privilégio ao atribuir acesso: dê a uma identidade as permissões mínimas necessárias. Às vezes, isso envolverá a criação de uma função personalizada do Microsoft Entra. Se não houver uma função interna com as permissões mínimas necessárias, considere criar uma função personalizada apenas com essas permissões.

  • Sempre que possível, use sempre Identidades Gerenciadas quando um recurso precisar acessar um serviço. Por exemplo, se o fluxo de trabalho do Aplicativo Lógico precisar acessar o Cofre da Chave para recuperar um segredo, use a Identidade Gerenciada do Aplicativo Lógico para conseguir isso; As Identidades Geridas fornecem um mecanismo mais seguro e fácil de gerir para aceder a recursos, uma vez que o Azure gere a identidade em seu nome.

  • Use o OAuth 2.0 como o mecanismo de autenticação entre pontos de extremidade de recurso:

    • Em Aplicativos ou Funções Lógicas, habilite o Easy Auth, que exige que todos os chamadores externos usem uma identidade OAuth (geralmente Microsoft Entra ID, mas pode ser qualquer provedor de Identidade).

    • No Gerenciamento de API, use o elemento de política de validação jwt para exigir um fluxo OAuth para conexões com pontos de extremidade.

    • No Armazenamento do Azure e no Cofre da Chave, configure políticas de acesso para restringir o acesso a identidades específicas.

Recomendações de design de governança

  • Use ativamente a Política do Azure para procurar problemas ou falhas de segurança. Por exemplo, pontos de extremidade sem filtragem de IP.

  • Quando disponível, use o Microsoft Defender for Cloud para verificar seus recursos e identificar possíveis fraquezas.

  • Analise regularmente os logs de auditoria (idealmente usando uma ferramenta automatizada) para identificar ataques de segurança e qualquer acesso não autorizado aos seus recursos.

  • Considere o uso de testes de penetração para identificar quaisquer fraquezas em seu projeto de segurança.

  • Use processos de implantação automatizados para configurar a segurança. Sempre que possível, use um pipeline de CI/CD como o Azure DevOps com Terraform não apenas para implantar seus recursos, mas também para configurar a segurança. Isso garante que seus recursos serão protegidos automaticamente sempre que forem implantados.

Próximo passo

Analise as áreas críticas de design para fazer considerações e recomendações completas para sua arquitetura.