Editar

Share via


Proteção multicamadas para acesso à máquina virtual do Azure

Microsoft Entra ID
Azure Bastion
Azure Role-based access control
Microsoft Defender for Cloud

Ideias de soluções

Este artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do GitHub.

Esta solução fornece uma abordagem multicamadas para proteger máquinas virtuais (VMs) no Azure. Os usuários precisam se conectar a VMs para fins administrativos e de gerenciamento. É fundamental minimizar a superfície de ataque criada pela conectividade.

Esta solução alcança acesso granular não persistente a VMs incorporando vários mecanismos de proteção. Alinha-se com o princípio do menor privilégio (PoLP) e com o conceito de separação de funções. Para reduzir a exposição a ataques, essa solução bloqueia o tráfego de entrada para VMs, mas torna as conexões de VM acessíveis quando necessário. A implementação desse tipo de proteção minimiza o risco de muitos ataques cibernéticos populares em VMs, como ataques de força bruta e ataques distribuídos de negação de serviço (DDoS).

Esta solução utiliza muitos serviços e funcionalidades do Azure, incluindo:

  • Microsoft Entra Privileged Identity Management (PIM).
  • O recurso de acesso a VM just-in-time (JIT) do Microsoft Defender for Cloud.
  • Azure Bastion.
  • Funções personalizadas de controle de acesso baseado em função do Azure (Azure RBAC).
  • Acesso Condicional do Microsoft Entra, opcionalmente.

Potenciais casos de utilização

A defesa em profundidade é a ideia principal por trás dessa arquitetura. Essa estratégia desafia os usuários com várias linhas de defesa antes de conceder aos usuários acesso a VMs. O objetivo é assegurar que:

  • Cada utilizador é legítimo.
  • Cada utilizador tem intenções legais.
  • A comunicação é segura.
  • O acesso a VMs no Azure só é fornecido quando necessário.

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

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

    • O administrador precisa solucionar um problema, investigar o comportamento ou aplicar uma atualização crítica.
    • O administrador usa o protocolo RDP (Remote Desktop Protocol) para acessar uma VM do Windows ou um shell seguro (SSH) para acessar uma VM Linux.
    • O acesso deve incluir o número mínimo de permissões que o trabalho exige.
    • O acesso deve ser válido apenas por um período limitado.
    • Depois que o acesso expirar, o sistema deve bloquear o acesso à VM para evitar tentativas de acesso mal-intencionado.
  • Os funcionários precisam de acesso a uma estação de trabalho remota hospedada no Azure como uma VM. Aplicam-se as seguintes condições:

    • Os funcionários devem acessar a VM somente durante o horário de trabalho.
    • O sistema de segurança deve considerar os pedidos de acesso à VM fora do horário de trabalho desnecessários e maliciosos.
  • Os usuários gostariam de se conectar a cargas de trabalho de VM do Azure. O sistema deve aprovar conexões que são apenas de dispositivos gerenciados e compatíveis.

  • Um sistema sofreu um grande número de ataques de força bruta:

    • Esses ataques tiveram como alvo VMs do Azure nas portas RDP e SSH 3389 e 22.
    • Os ataques tentaram adivinhar as credenciais.
    • A solução deve evitar que portas de acesso como 3389 e 22 sejam expostas à internet ou a ambientes locais.

Arquitetura

Architecture diagram showing how a user gains temporary access to an Azure V M.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. Decisões de autenticação e acesso: o usuário é autenticado com a ID do Microsoft Entra 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 determinados critérios. Os exemplos incluem a utilização de um dispositivo gerido ou o início de sessão a partir de uma localização conhecida. Se o usuário cumprir os critérios, o Acesso Condicional concederá ao usuário acesso ao Azure por meio do portal do Azure ou de 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 do tipo elegível. A elegibilidade é limitada aos recursos necessários e é uma função limitada no tempo, não permanente. Dentro de um período de tempo especificado, o usuário solicita a ativação dessa função por meio da interface do Azure PIM. Essa solicitação pode acionar outras ações, como iniciar um fluxo de trabalho de aprovação ou solicitar ao usuário 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á continuar para a próxima etapa.

  3. Acesso just-in-time baseado em rede: após autenticação e autorização, a função personalizada é temporariamente vinculada à identidade do usuário. Em seguida, 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 na placa de interface de rede (NIC) da VM ou na sub-rede da VM NIC. O Azure Bastion abre uma sessão RDP interna usando essa conexão. A sessão está 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 só funciona por um período limitado de tempo.

Componentes

Esta solução utiliza os seguintes componentes:

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

  • O Microsoft Entra ID é um serviço de identidade baseado na nuvem que controla o acesso ao Azure e a outras aplicações na nuvem.

  • O PIM é um serviço 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 just-in-time baseado em identidade a funções personalizadas.
  • O acesso a VMs JIT é um recurso do Defender for Cloud que fornece acesso baseado em rede just-in-time para 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 que contém a interface de rede da VM. Essa regra minimiza a superfície de ataque da VM bloqueando 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 de rede. Como a regra de permissão tem prioridade maior 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 RDP ou SSH direta.

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

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

    • Usando o Azure Bastion.
    • Solicitando acesso à VM JIT no Defender for Cloud.
    • Ler ou listar VMs.
  • O Microsoft Entra Conditional Access é uma ferramenta que o Microsoft Entra ID usa para controlar o acesso aos recursos. As políticas de Acesso Condicional suportam o modelo de segurança de confiança zero. Nesta solução, as políticas garantem que apenas os utilizadores autenticados tenham acesso aos 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 estão expostas à Internet ou à origem do utilizador.

    O Azure Bastion é opcional nesta solução. Os usuários podem se conectar diretamente às VMs do Azure usando o protocolo RDP. Se você configurar o Azure Bastion em uma rede virtual do Azure, configure uma sub-rede separada chamada AzureBastionSubnet. Em seguida, 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. Usando essa configuração, você bloqueia conexões que não vêm do ambiente local do usuário.

    Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Husam Hilal - Brasil | Arquiteto de Soluções Cloud Sênior

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

Próximos passos