Proteção multicamada para acesso a máquinas virtuais do Azure

Microsoft Entra ID
Azure Bastion
Controle de acesso baseado em função do Azure
Microsoft Defender para Nuvem
Cofre de Chave do Azure

Ideias de soluções

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos de sua carga de trabalho.

Essa solução oferece uma estratégia multicamadas para proteger VMs (máquinas virtuais) no Azure, garantindo acessibilidade e minimizando a superfície de ataque para fins administrativos e de gerenciamento.

Alinhada com a recomendação de segurança da Microsoft, essa solução incorpora vários mecanismos de proteção oferecidos pelos serviços Microsoft Azure e Entra, aderindo aos princípios de segurança por design, segurança por padrão e operações seguras.

  • Intencionalmente seguro A solução obtém acesso granular não persistente a máquinas virtuais ao implementar o princípio de privilégios mínimos e o conceito de separação de tarefas. Isso garante que a autorização para as máquinas virtuais seja concedida apenas por motivos legítimos, reduzindo o risco de acesso não autorizado.

  • Seguro por padrão. O tráfego de entrada para máquinas virtuais é bloqueado, o que permite conectividade somente quando necessário. Essa postura de segurança padrão minimiza a exposição a diversos ataques cibernéticos populares, como ataques de força bruta e ataques distribuídos de negação de serviço (DDoS).

  • Operações seguras. É fundamental implementar o monitoramento contínuo e investir na melhoria dos controles de segurança para responder às ameaças atuais e futuras. Use vários serviços e recursos do Azure, como o Microsoft Entra Privileged Identity Management (PIM), o recurso de acesso à VM JIT (just-in-time) do Microsoft Defender para Nuvem, Azure Bastion, funções personalizadas do Azure RBAC (controle de acesso baseado em funções do Azure). Como alternativa, você pode considerar o Acesso Condicional do Microsoft Entra para regular o acesso aos recursos do Azure e o Azure Key Vault para armazenar senhas locais de máquina virtual se não estiver integrado ao Entra ID ou ao Active Direcory Domain Services.

Possíveis casos de uso

A defesa em profundidade é a premissa essencial subjacente a essa arquitetura. Essa estratégia desafia os usuários com várias linhas de defesa antes de conceder aos usuários o acesso a VMs. A meta é garantir que:

  • Cada usuário é verificado.
  • Cada usuário tenha intenções legítimas.
  • A comunicação seja segura.
  • O acesso a VMs no Azure é fornecido apenas quando necessário.

A estratégia de defesa em profundidade e a solução neste artigo se aplicam a diversos cenários:

  • Um administrador precisa acessar uma VM do Azure nas seguintes circunstâncias:

    • O administrador precisa solucionar um problema, investigar o comportamento ou aplicar uma atualização importante.
    • O administrador usa o protocolo RDP (Remote Desktop Protocol) para acessar uma VM do Windows ou um SSH (shell seguro) para acessar uma VM do Linux.
    • O acesso deve incluir o número mínimo de permissões exigido para realizar a tarefa.
    • O acesso deve ser válido por tempo limitado.
    • Quando o acesso expirar, o sistema deverá bloquear o acesso à VM para evitar tentativas de acesso mal-intencionadas.
  • Os funcionários precisam de acesso a uma estação de trabalho remota hospedada no Azure como uma VM. As seguintes condições se aplicam:

    • Os funcionários devem acessar a VM somente no horário de trabalho.
    • O sistema de segurança deve considerar as solicitações de acesso à VM fora do horário de trabalho desnecessárias e mal-intencionadas.
  • Os usuários desejam se conectar às cargas de trabalho de VM do Azure. O sistema deve aprovar conexões que são somente de dispositivos gerenciados e compatíveis.

  • Um sistema sofreu muitos ataques de força bruta:

    • O alvo desses ataques eram VMs do Azure nas portas 3389 e 22 de RDP e SSH.
    • Os ataques tentaram adivinhar as credenciais.
    • A solução deve impedir a exposição de portas de acesso como 3389 e 22 à Internet ou a ambientes locais.

Arquitetura

Diagrama de arquitetura mostrando como um usuário obtém acesso temporário a uma VM do Azure.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. Decisões de autenticação e acesso: o usuário é autenticado no Microsoft Entra ID para acessar o portal do Azure, as APIs REST do Azure, o Azure PowerShell ou a CLI do Azure. Se a autenticação for bem-sucedida, uma política de Acesso Condicional do Microsoft Entra entrará em vigor. Essa política verifica se o usuário atende a certos critérios. Os exemplos incluem o uso de um dispositivo gerenciado ou o login de um local conhecido. Se o usuário atender aos critérios, o Acesso Condicional concederá a ele o acesso ao Azure usando o portal do Azure ou outra interface.

  2. Acesso just-in-time baseado em identidade: durante a autorização, o Microsoft Entra PIM atribui ao usuário uma função personalizada de tipo qualificado. A qualificação é limitada aos recursos necessários e é uma função de tempo limitado, não permanente. Dentro de um período especificado, o usuário solicita a ativação dessa função via interface do PIM do Azure. Essa solicitação pode disparar outras ações, como iniciar um fluxo de trabalho de aprovação ou solicitar ao usuário a autenticação multifator para verificar a identidade. Em um fluxo de trabalho de aprovação, outra pessoa precisa aprovar a solicitação. Caso contrário, o usuário não receberá a função personalizada e não poderá passar para a etapa seguinte.

  3. Acesso just-in-time baseado em rede: após a autenticação e autorização, a função personalizada é vinculada à identidade do usuário de forma temporária. O usuário solicita acesso à VM JIT. Esse acesso abre uma conexão da sub-rede do Azure Bastion na porta 3389 para RDP ou na porta 22 para SSH. A conexão é executada diretamente para a NIC (placa de interface de rede) da VM ou a sub-rede de NIC da VM. O Azure Bastion abre uma sessão RDP interna usando essa conexão. A sessão é limitada à rede virtual do Azure e não está exposta à Internet pública.

  4. Conectando-se à VM do Azure: o usuário acessa o Azure Bastion usando um token temporário. Por meio desse serviço, o usuário estabelece uma conexão RDP indireta com a VM do Azure. A conexão funciona por um período limitado de tempo. O usuário pode recuperar a senha de um Cofre de Chaves do Azure, se a senha tiver sido armazenada como um segredo no Key Vault, e permissões RBAC suficientes tiverem sido configuradas para limitar o acesso à conta de usuário apropriada.

Componentes

Esta solução usa os seguintes componentes:

  • As Máquinas Virtuais do Azure são um produto de infraestrutura como serviço (IaaS). Você pode usar as Máquinas Virtuais para implantar, sob demanda, recursos de computação escalonáveis. Em ambientes de produção que usam essa solução, implante suas cargas de trabalho em VMs do Azure. Elimine a exposição desnecessária às suas VMs e a ativos do Azure.

  • O Microsoft Entra ID é um serviço de identidade baseado em nuvem que controla o acesso ao Azure e a outros aplicativos de nuvem.

  • O PIM é um serviço do Microsoft Entra que gerencia, controla e monitora o acesso a recursos importantes. Nesta solução, este serviço:

    • Limita o acesso permanente do administrador a funções privilegiadas padrão e personalizadas.
    • Fornece acesso baseado em identidade just-in-time a funções personalizadas.
  • O acesso à VM JIT é um recurso do Defender para Nuvem que fornece acesso just-in-time baseado em rede a VMs. Esse recurso adiciona uma regra de negação ao grupo de segurança de rede do Azure que protege a interface de rede da VM ou a sub-rede contendo a interface de rede da VM. Essa regra minimiza a superfície de ataque da VM ao bloquear a comunicação desnecessária com a VM. Quando um usuário solicita acesso à VM, o serviço adiciona uma regra de permissão temporária ao grupo de segurança da rede. Como a regra de permissão tem prioridade mais alta do que a regra de negação, o usuário pode se conectar à VM. O Azure Bastion funciona melhor para se conectar à VM. Mas o usuário também pode usar uma sessão direta de RDP ou SSH.

  • O Azure RBAC é um sistema de autorização que oferece gerenciamento de acesso refinado de recursos do Azure.

  • As funções personalizadas do RBAC do Azure fornecem um meio de expandir as funções internas do RBAC do Azure. Você pode usá-las para atribuir permissões em níveis que atendam às necessidades da sua organização. Essas funções dão suporte a PoLP. Elas concedem apenas as permissões que um usuário precisa para uma finalidade. Para acessar uma VM nesta solução, o usuário obtém permissões para:

    • Usar o Azure Bastion.
    • Solicitar acesso à VM JIT no Defender para Nuvem.
    • Ler ou listar VMs.
  • O Acesso Condicional do Microsoft Entra é uma ferramenta que o Microsoft Entra ID usa para controlar o acesso a recursos. As políticas de Acesso Condicional dão suporte ao modelo de segurança de confiança zero. Nesta solução, as políticas garantem que somente usuários autenticados tenham acesso a recursos do Azure.

  • O Azure Bastion fornece conectividade RDP e SSH segura e contínua para VMs em uma rede. Nesta solução, o Azure Bastion conecta usuários que usam o Microsoft Edge ou outro navegador da Internet para HTTPS, ou tráfego seguro na porta 443. O Azure Bastion configura a conexão RDP com a VM. As portas RDP e SSH não são expostas à Internet ou à origem do usuário.

    O Azure Bastion é opcional nesta solução. Os usuários podem se conectar diretamente às VMs do Azure por meio do protocolo RDP. Se você configurar o Azure Bastion em uma rede virtual do Azure, configure uma sub-rede separada denominada AzureBastionSubnet. Associe um grupo de segurança de rede a essa sub-rede. Nesse grupo, especifique uma origem para o tráfego HTTPS, como o bloco CIDR (roteamento entre domínios) sem classe IP local do usuário. Por meio dessa configuração, você bloqueia conexões não obtidas do ambiente local do usuário.

  • O Azure Key Vault fornece um mecanismo seguro para armazenar a senha do usuário da VM como um segredo. O RBAC secreto pode ser configurado para que somente a conta de usuário que está acessando a VM tenha permissão para recuperá-lo. A recuperação do valor da senha do cofre de chaves pode ser feita por meio das APIs do Azure (como usar a CLI do Azure) ou do portal do Azure, já que o Azure Key Vault se integra à interface do usuário do Azure Bastion no painel da máquina virtual no portal do Azure..

    Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

  • Husam Hilal | Arquiteto Sênior de Soluções na Nuvem

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas