Habilitar o acesso just-in-time em VMs

Você pode usar o acesso JIT (just-in-time) do Microsoft Defender para Nuvem a fim de proteger suas VMs (máquinas virtuais) do Azure contra o acesso não autorizado à rede. Muitas vezes, os firewalls contêm regras de permissão que deixam suas VMs vulneráveis a ataques. O JIT permite que você autorize o acesso às suas VMs somente quando ele for necessário, nas portas necessárias e pelo período de tempo necessário.

Saiba mais sobre como o JIT funciona e as permissões necessárias para configurar e usar o JIT.

Neste artigo, você aprenderá a incluir o JIT no seu programa de segurança, incluindo como:

  • Habilitar o JIT em suas VMs do portal do Azure ou programaticamente
  • Solicitar acesso a uma VM que tenha o JIT habilitado a partir do portal do Azure ou programaticamente
  • Auditar a atividade JIT para garantir que suas VMs sejam protegidas adequadamente

Disponibilidade

Aspecto Detalhes
Estado da versão: Disponibilidade Geral (GA)
VMs com suporte: VMs implantadas por meio do Azure Resource Manager
VMs implantadas com modelos de implantação clássicos
VMs protegidas pelos Firewalls do Azure na mesma VNET que a VM
VMs protegidas pelos Firewalls do Azure controlados pelo Gerenciador de Firewall do Azure
Instâncias do AWS EC2 (versão prévia)
Funções e permissões necessárias: O Leitor, SecurityReader ou uma função personalizada podem exibir o status e os parâmetros JIT.
Para criar uma função com privilégios mínimos para usuários que precisam somente solicitar acesso JIT para uma VM, use o script Set-JitLeastPrivilegedRole.
Nuvens: Nuvens comerciais
Nacionais (Azure Governamental, Microsoft Azure operado pela 21Vianet)
Contas do AWS conectadas (versão prévia)

Pré-requisitos

  • O JIT exige a habilitação do Plano 2 do Microsoft Defender para servidores na assinatura.

  • As funções Reader e SecurityReader podem exibir o status e os parâmetros do JIT.

  • Caso deseje criar funções personalizadas que trabalham com o JIT, você precisará dos detalhes da seguinte tabela:

    Para permitir que um usuário: Permissões a serem definidas
    Configurar ou editar uma política de JIT para uma VM Atribua essas ações à função:
    • No escopo de uma assinatura (ou grupo de recursos ao usar somente a API ou o PowerShell) associada à VM:
      Microsoft.Security/locations/jitNetworkAccessPolicies/write
    • No escopo de uma assinatura (ou grupo de recursos ao usar apenas a API ou o PowerShell) da VM:
      Microsoft.Compute/virtualMachines/write
    Solicitar acesso JIT a uma VM Atribua essas ações ao usuário:
    • Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action
    • Microsoft.Security/locations/jitNetworkAccessPolicies/*/read
    • Microsoft.Compute/virtualMachines/read
    • Microsoft.Network/networkInterfaces/*/read
    • Microsoft.Network/publicIPAddresses/read
    Ler políticas de JIT Atribua essas ações ao usuário:
    • Microsoft.Security/locations/jitNetworkAccessPolicies/read
    • Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action
    • Microsoft.Security/policies/read
    • Microsoft.Security/pricings/read
    • Microsoft.Compute/virtualMachines/read
    • Microsoft.Network/*/read

    Observação

    Somente as permissões Microsoft.Securitysão relevantes para a AWS.

  • Para configurar o JIT na sua VM do Amazon Web Service (AWS), você precisará conectar sua conta do AWS ao Microsoft Defender para Nuvem.

    Dica

    Para criar uma função com privilégios mínimos para usuários que precisam solicitar acesso JIT a uma VM e não executar outras operações JIT, use o script Set-JitLeastPrivilegedRole das páginas da comunidade do GitHub do Defender for Cloud.

    Observação

    Para criar uma política JIT personalizada com sucesso, o nome da política, acompanhado do nome da VM de destino, não deve exceder 56 caracteres, no total.

Trabalhar com acesso à VM JIT usando o Microsoft Defender para Nuvem

Você pode usar o Defender para Nuvem ou habilitar o acesso JIT à VM por meio de programação com suas opções personalizadas ou habilitar o JIT com parâmetros padrão embutidos em código por meio das máquinas virtuais do Azure.

O acesso just-in-time à VM mostra suas VMs agrupadas em:

  • Configurado – VMs configuradas para dar suporte ao acesso JIT à VM e mostra:
    • o número de solicitações de JIT aprovadas nos últimos sete dias
    • Data e hora do último acesso
    • Detalhes da conexão configurada
    • o último usuário
  • Não configurado -VMs sem o JIT habilitado, mas que podem dar suporte a JIT. Recomendamos que você habilite o JIT para essas VMs.
  • Sem suporte – VMs que não dão suporte a JIT porque:
    • Ausência de NSG (grupo de segurança de rede) ou Firewall do Azure – o JIT exige que um NSG seja configurado ou uma configuração de Firewall (ou ambos)
    • VM clássica – O JIT dá suporte a VMs implantadas por meio do Azure Resource Manager. Saiba mais sobre os modelos de implantação clássica vs. Gerenciado de Recursos do Azure.
    • Outros – A solução JIT está desabilitada na política de segurança da assinatura ou do grupo de recursos.

Habilitar o JIT em suas VMs do Microsoft Defender para Nuvem

Screenshot showing configuring JIT VM access in Microsoft Defender for Cloud.

No Defender para Nuvem, você pode habilitar e configurar o acesso à VM JIT.

  1. Abra as proteções de cargas de trabalho e em proteções avançada, selecione acesso à VM just-in-time.

  2. Na guia das máquinas virtuais Não configuradas, marque as VMs a serem protegidas com o JIT e selecione Habilitar JIT nas VMs.

    A página acesso à VM JIT é aberta listando as portas que o Defender para Nuvem recomenda proteger:

    • 22: SSH
    • 3389: RDP
    • 5985: WinRM
    • 5986: WinRM

    Para personalizar o acesso JIT:

    1. Selecione Adicionar.

    2. Selecione uma das portas na lista para editá-la ou inserir outras portas. Em cada porta, você pode definir:

      • Protocolo – O protocolo permitido nesta porta quando uma solicitação é aprovada
      • IPs de origem permitidos – Os intervalos de IP permitidos nesta porta quando uma solicitação é aprovada
      • Tempo máximo de solicitação – O intervalo de tempo máximo durante o qual uma porta específica pode ficar aberta
    3. Selecione OK.

  3. Para salvar a configuração de porta, selecione Salvar.

Editar a configuração do JIT em uma VM habilitada para JIT usando Defender para Nuvem

Você pode alterar a configuração Just-In-Time de uma VM adicionando e configurando uma nova porta a ser aberta para essa VM ou alterando qualquer outro parâmetro relacionado a uma porta já protegida.

Para editar as regras de JIT existentes para uma VM:

  1. Abra as proteções de cargas de trabalho e em proteções avançada, selecione acesso à VM just-in-time.

  2. Na guia das máquinas virtuais Configuradas, clique com o botão direito do mouse em uma VM e selecione Editar.

  3. Na configuração de acesso à VM JIT, é possível editar a lista de portas ou selecionar Adicionar uma porta personalizada nova.

  4. Ao concluir a edição das portas, selecione Salvar.

Solicitar acesso a uma VM habilitada para JIT do Microsoft Defender para Nuvem

Quando uma VM tem um JIT habilitado, você precisa solicitar acesso para se conectar a ele. Você pode solicitar acesso em qualquer uma das maneiras com suporte, independentemente de como você habilitou o JIT.

  1. Da página Acesso à VM just in time, selecione a guia Configurada.

  2. Escolha as VMs que deseja acessar:

    • O ícone na coluna Detalhes da Conexão indica se o JIT está habilitado no grupo de segurança de rede ou no firewall. Se ele estiver habilitado em ambos, somente o ícone de firewall será exibido.

    • A coluna Detalhes da Conexão mostra o usuário e as portas que podem acessar a VM.

  3. Selecione Solicitar acesso. A janela de Solicitação de acesso abre.

  4. Em Solicitar acesso, selecione as portas que você deseja abrir em cada VM, os endereços IP de origem nos quais você deseja que a porta seja aberta e a janela de tempo para abrir as portas.

  5. Selecione Abrir portas.

    Observação

    Se um usuário que está solicitando acesso estiver atrás de um proxy, você pode inserir o intervalo de endereços IP do proxy.

Outras maneiras de trabalhar com o acesso à VM JIT

Máquinas virtuais do Azure

Habilitar o JIT em suas VMs de máquinas virtuais do Azure

Você pode habilitar o JIT em uma VM nas páginas de máquinas virtuais do Azure da portal do Azure.

Dica

Se uma VM já tem o JIT habilitado, a página de configuração dela mostra que o JIT está habilitado. Você pode usar o link para abrir a página de acesso à VM JIT no Defender para Nuvem para exibir e alterar as configurações.

  1. No portal do Azure, pesquise e selecione Máquinas virtuais.

  2. Selecione as máquinas virtuais que deseja proteger com JIT.

  3. No menu à esquerda, selecione Configuração.

  4. Em Acesso Just-In-Time selecione Habilitar política Just-In-Time.

    Por padrão, o acesso just-in-time para a VM usa estas configurações:

    • Máquinas do Windows
      • Porta RDP: 3389
      • Acesso máximo permitido: três horas
      • Endereços IP de origem permitidos: todos
    • Máquinas do Linux
      • Porta SSH: 22
      • Acesso máximo permitido: três horas
      • Endereços IP de origem permitidos: todos
  5. Para editar um desses valores ou adicionar mais portas à sua configuração de JIT, use a página just-in-time do Microsoft Defender para Nuvem:

    1. No menu do Defender para Nuvem, selecione acesso just-in-time à VM.

    2. Na guia Configuradas, clique com o botão direito do mouse na VM à qual deseja adicionar uma porta e selecione Editar.

      Editing a JIT VM access configuration in Microsoft Defender for Cloud.

    3. Em Configuração de acesso JIT à VM, você pode editar as configurações existentes de uma porta já protegida ou pode adicionar uma nova porta personalizada.

    4. Ao terminar de editar as portas, selecione Salvar.

Solicitar acesso a uma VM habilitada para JIT na página conectar da máquina virtual do Azure

Quando uma VM tem um JIT habilitado, você precisa solicitar acesso para se conectar a ele. Você pode solicitar acesso em qualquer uma das maneiras com suporte, independentemente de como você habilitou o JIT.

Screenshot showing jit just-in-time request.

Para solicitar acesso de máquinas virtuais do Azure:

  1. No portal do Azure, abra a página de máquinas virtuais.

  2. Selecione a VM à qual você deseja se conectar e abra a página conectar.

    O Azure verifica se o JIT está habilitado nessa VM.

    • Se o JIT não estiver habilitado para a VM, você será solicitado a habilitá-lo.

    • Se o JIT estiver habilitado, selecione Solicitar acesso para passar uma solicitação de acesso com o IP solicitante, o intervalo de tempo e as portas que foram configuradas para essa VM.

Observação

Depois que uma solicitação for aprovada para uma VM protegida pelo Firewall do Azure, o Defender para Nuvem fornecerá ao usuário os detalhes de conexão apropriados (o mapeamento de porta da tabela DNAT) a ser usada para se conectar à VM.

PowerShell

Ativar JIT nas suas VMs usando PowerShell

Para habilitar o acesso just-in-time à VM do PowerShell, use o cmdlet oficial do PowerShell do Microsoft Defender para Nuvem Set-AzJitNetworkAccessPolicy.

Exemplo – habilitar o acesso just-in-time à VM em uma VM específica com as seguintes regras:

  • Fechar as portas 22 e 3389.
  • Definir uma janela de tempo máximo de 3 horas para cada, de modo que possam ser abertas por solicitação aprovada.
  • Permitir que o usuário que está solicitando acesso controle os endereços IP de origem
  • Permitir que o usuário que está solicitando acesso estabelecer uma sessão com êxito mediante uma solicitação de acesso Just-In-Time aprovada.

Os comandos do PowerShell a seguir criam essa configuração de JIT:

  1. Atribuir uma variável que contenha a regras de acesso Just-In-Time à VM para uma VM:

    $JitPolicy = (@{
        id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
        ports=(@{
             number=22;
             protocol="*";
             allowedSourceAddressPrefix=@("*");
             maxRequestAccessDuration="PT3H"},
             @{
             number=3389;
             protocol="*";
             allowedSourceAddressPrefix=@("*");
             maxRequestAccessDuration="PT3H"})})
    
  2. Inserir a regra de acesso Just-In-Time à VM em uma matriz:

    $JitPolicyArr=@($JitPolicy)
    
  3. Configurar a regra de acesso Just-In-Time à VM na VM selecionada:

    Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name "default" -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr
    

    Use o parâmetro-Name para especificar uma VM. Por exemplo, para estabelecer a configuração de JIT para duas VMs diferentes, VM1 e VM2, use: Set-AzJitNetworkAccessPolicy -Name VM1 e Set-AzJitNetworkAccessPolicy -Name VM2.

Solicitar acesso a uma VM habilitada para JIT usando PowerShell

No exemplo a seguir, é possível ver uma solicitação de acesso Just-In-Time à VM para uma VM específica da porta 22, para um endereço IP específico e por um período de tempo específico:

Execute os seguintes comandos no PowerShell:

  1. Configurar as propriedades de acesso de solicitação da VM:

    $JitPolicyVm1 = (@{
        id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
        ports=(@{
           number=22;
           endTimeUtc="2020-07-15T17:00:00.3658798Z";
           allowedSourceAddressPrefix=@("IPV4ADDRESS")})})
    
  2. Insira os parâmetros de solicitação de acesso da VM em uma matriz:

    $JitPolicyArr=@($JitPolicyVm1)
    
  3. Enviar o acesso da solicitação (use a ID do recurso que você recebeu na etapa 1)

    Start-AzJitNetworkAccessPolicy -ResourceId "/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/LOCATION/jitNetworkAccessPolicies/default" -VirtualMachine $JitPolicyArr
    

Saiba mais na documentação do cmdlet do PowerShell.

API REST

Habilitar o JIT em suas VMs usando a API REST

O recurso de acesso à VM Just-In-Time pode ser usado por meio da API do Microsoft Defender para Nuvem. Use esta API para obter informações sobre VMs configuradas, adicionar novos, solicitar o acesso a uma VM e mais.

Saiba mais em políticas de acesso à rede JIT.

Solicitar acesso a VM habilitada para JIT usando a API REST

O recurso de acesso à VM Just-In-Time pode ser usado por meio da API do Microsoft Defender para Nuvem. Use esta API para obter informações sobre VMs configuradas, adicionar novos, solicitar o acesso a uma VM e mais.

Saiba mais em políticas de acesso à rede JIT.

Auditar a atividade de acesso JIT no Defender para Nuvem

Você pode obter informações sobre as atividades de VM usando a pesquisa de logs. Para exibir os logs:

  1. Em Acesso à VM Just-In-Time, selecione a guia Configurado.

  2. Para a VM que você deseja auditar, abra o menu de reticências no final da linha.

  3. Selecione Log de Atividades no menu.

    Select just-in-time JIT activity log.

    O Log de atividades fornece uma exibição filtrada das operações anteriores dessa VM junto com a hora, a data e a assinatura.

  4. Para baixar as informações de log, selecione baixar como CSV.

Próximas etapas

Neste artigo, você aprendeu a configurar e usar o acesso Just-In-Time à VM. Para saber por que você deve usar o JIT, leia o artigo que explica as ameaças contra as quais o JIT defende: