Compartilhar via


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

Uma boa segurança é a base de qualquer aplicativo do Azure. Os Serviços de Integração do Azure enfrentam 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 sobre o 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 RBAC (controle de acesso baseado em função) 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 desde cedo se você precisa:

  • Nuvem privada - todos os seus recursos residem em uma rede virtual e usam apenas endereçamento privado, sem acesso à Internet pública ou a partir dele, 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 são 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 o OAuth 2.0 para gerenciar a autenticação.

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

  • Bloqueio de acesso a recursos (controle de acesso).

  • Criptografia de dados em trânsito e em repouso.

  • Registro em log de todas as tentativas de acesso a recursos.

  • Auditoria de acesso a recursos.

Recomendações sobre design

Recomendações de design de rede

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

    • O Azure 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 Azure Front Door oferece recursos de Camada 7 como o descarregamento de SSL, roteamento com base em caminho, failover rápido e cache para aprimorar o desempenho e a disponibilidade dos seus aplicativos.

    • O Gerenciador de Tráfego é um balanceador de carga de tráfego baseado em DNS que permite distribuir o tráfego de maneira ideal para serviços em todas as regiões globais do Azure, fornecendo alta disponibilidade e capacidade de resposta. Como o Gerenciador de Tráfego é um serviço de balanceamento de carga baseado em DNS, ele faz o balanceamento de carga somente no nível de 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 DNS e sistemas que não respeitam o TTL DNS.

    • O Gateway de Aplicativo fornece um controlador de entrega de aplicativo gerenciado, com vários recursos de balanceamento de carga de camada 7. Você pode usar o Gateway de Aplicativo para otimizar a produtividade do Web farm 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 ultra baixa para todos os protocolos UDP e TCP. O Load Balancer lida com milhões de solicitações por segundo. O Load Balancer tem redundância de zona, garantindo alta disponibilidade nas Zonas de Disponibilidade.

  • Implemente o isolamento de rede para seus recursos de serviços de integração usando a integração de rede virtual para colocá-los em uma sub-rede isolada combinada com o uso de 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 desta diretriz 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 a aplicativos lógicos não integrados a redes virtuais).

  • Se você tiver recursos disponíveis publicamente, use a 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), habilite sempre 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, confira Criptografia de dados em repouso do Azure e Visão geral da criptografia do Azure.

  • Sempre use 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 de Chaves do Azure e vincule-os a 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 giradas 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

  • Sempre siga o princípio do privilégio mínimo ao atribuir acesso: dê a uma identidade as permissões mínimas necessárias. Às vezes, isso envolve 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 a criação de uma função personalizada apenas com essas permissões.

  • Sempre que possível, use 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 de Chaves para recuperar um segredo, use a Identidade Gerenciada do Aplicativo Lógico para conseguir isso; As Identidades Gerenciadas fornecem um mecanismo mais seguro e fácil de gerenciar para acessar recursos, já que o Azure gerencia a identidade em seu nome.

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

    • Em Aplicativos Lógicos ou Funções, habilite a Autenticação Fácil, que exige que todos os chamadores externos usem uma identidade OAuth (geralmente a ID do Microsoft Entra, mas pode ser qualquer provedor de Identidade).

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

    • No Armazenamento do Azure e no Cofre de Chaves, 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 para não apenas 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óxima etapa

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