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.