Microsoft Defender for Cloud – Just-in-time VM access

Bloqueie o tráfego de entrada nas suas máquinas virtuais do Azure com o recurso de acesso à VM (máquina virtual) JIT (just-in-time) do Microsoft Defender para Nuvem. Isso reduz a exposição a ataques e, ao mesmo tempo, fornece acesso fácil quando você precisa se conectar a uma VM.

Para obter uma explicação completa sobre como o JIT funciona e a lógica subjacente, consulte o just-in-time explicado.

Para uma explicação completa dos requisitos de privilégio, confira Quais permissões são necessárias para configurar e usar o JIT?.

Esta página ensina como incluir o JIT em seu programa de segurança. Você aprenderá a:

  • Habilitar o JIT em suas VMs: você pode habilitar o JIT com as próprias opções personalizadas para uma ou mais VMs usando o Defender for Cloud, o PowerShell ou a API REST. Como alternativa, você pode habilitar o JIT com parâmetros padrão, embutidos em código, de máquinas virtuais do Azure. Quando habilitada, o JIT bloqueia o tráfego de entrada às suas VMs do Azure criando uma regra no seu grupo de segurança de rede.
  • Solicitar acesso a uma VM que tenha o JIT habilitado: o objetivo do JIT é garantir que, embora o tráfego de entrada seja bloqueado, o Defender for Cloud ainda fornece acesso fácil para se conectar às VMs quando necessário. Você pode solicitar acesso a uma VM habilitada para JIT do Defender for Cloud, máquinas virtuais do Azure, PowerShell ou API REST.
  • Auditar a atividade: para garantir que suas VMs sejam protegidas adequadamente, examine os acessos às suas VMs habilitadas para JIT como parte de suas verificações de segurança regulares.

Disponibilidade

DISPONIBILIDADE
AspectoDetalhes
Estado da versão:Disponibilidade Geral (GA)
VMs com suporte: VMs implantadas por meio do Azure Resource Manager.
 VMs implantada com modelos de implantação clássicos. Saiba mais sobre esses modelos de implantações.
 VMs protegidas pelos Firewalls do Azure1 controlados pelo Gerenciador de Firewall do Azure.
Funções e permissões necessárias:As funções Reader e SecurityReader podem exibir o status e os parâmetros do JIT.
Para criar funções personalizadas que podem funcionar com o JIT, consulte Quais permissões são necessárias para configurar e usar o JIT?.
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.
Nuvens: Nuvens comerciais
 Nacional (Azure Governamental, Azure China 21Vianet)
 Contas da AWS conectadas

Para qualquer VM protegida pelo Firewall do Azure, o JIT só protegerá totalmente a máquina se ela estiver na mesma VNET que o firewall. As VMs que usam o emparelhamento VNET não serão totalmente protegidas.

Passo a passo

Ambiente existente:

No ambiente existente temos duas máquinas virtuais Cliente-01 (192.168.0.4) com o sistema operacional Linux e Cliente-02 (192.168.0.4) com o sistema operacional Windows, ambas as máquinas estão associadas a Virtual network “vnet-vms” e subnet “subnet-vms”, o Network security groups “nsg-vms” está associado a subnet “subnet-vms” com a liberação Any para RDP (3389) e SSH (22).

Da forma que o Inbound security rules está configurado para o RDP e SSH qualquer endereço IP consegue chegar em nossos servidores nas portas 3389 e 22.

Habilite o Just-in-time VM access

01 – Faça login no portal do Azure.

02 – No portal do Azure pesquise por Microsoft Defender for Cloud.

03 – Na tela Microsoft Defender for Cloud | Overview em Cloud Security selecione Workload protections.

04 – Na tela Microsoft Defender for Cloud | Workload protections clique em Just-in-time VM access.

05 – Na tela Just-in-time VM access clique em Not Configured e selecione as máquinas virtuais “cliente01” e “cliente-02” em seguida clique em Enable JIT on 2 VMs.

06 – Na tela JIT VM access configuration remova as portas 5985 e 5986.

07 – Selecione a porta desejada e perceba que a tela Add port configuration será aberta com as seguintes opções:

  • Protocol – o protocolo permitido nesta porta quando uma solicitação for aprovada.
  • Allowed source IPs – os intervalos de IP permitidos nesta porta quando uma solicitação for aprovada.
  • Max request time – o intervalo de tempo máximo durante o qual uma porta específica pode ficar aberta.

Não vamos realizar nenhuma alteração em Add port configuration, clique Discard e Save.

08 – Como podemos observar o JIT VM access foi habilitado para as máquinas virtuais cliente-01 e cliente-02.

09 – No portal do Azure pesquise por Network security groups.

10 – Na tela Network security groups selecione o nsg que está associado à subnet onde estão as vms.

11 – Após selecionar o nsg que deseja clique em Inbound security rules, observe que foram criadas as regras SecurityCenter_JITRule com maior prioridade para acesso aos servidores cliente-01 (192.168.0.6) e cliente-02 (192.168.0.7) na porta 3389 e 22.

Permissão RBAC para as máquinas virtuais

12 – No portal do pesquise por Subscriptions.

13 – Na tela Subscriptions selecione a assinatura que deseja.

14 – Após selecionar assinatura clique em Access control (IAM).

15 – Na tela Lattine Group | Access control (IAM) clique + Add, em seguida clique em + Add e Add custom role.

16 – Na tela Create a custom role em Custom role name digite um nome para a role “JustinTimeAccess” deixe selecionado Start from scratch em seguida clique em Next.

17 – Na tela Permissions clique em Next.

18 – Na tela Assignable scopes clique em Next.

19 – Na tela JSON clique em Edit, em permissions para a opção actions adicione as seguintes opções, em seguida clique em Save e Next.

“Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action”,

“Microsoft.Security/locations/jitNetworkAccessPolicies/*/read”,

“Microsoft.Compute/virtualMachines/read”,

“Microsoft.Network/networkInterfaces/*/read”,

“Microsoft.Network/*/read”

Clique no link abaixo para maiores informações:

Understanding just-in-time virtual machine access in Microsoft Defender for Cloud | Microsoft Docs

20 – Na tela Review + create clique em Create.

20 – Clique em OK para finalizar a criação da custom role.

21 – No portal do Azure pesquise por Resource groups.

22 – Na tela Resource groups selecione o RG-teste.

23 – Na tela RG-teste clique em Access control (IAM).

24 – Na tela RG-teste | Access control (IAM) clique em + Add e selecione Add role assignment.

25 – Na tela Add role assignment pesquise por JustinTimeAccess, em seguida selecione JustinTimeAccess e clique em Next.

26 – Para a opção Members clique em + Select members, a tela Select members será aberta selecione preferencialmente um grupo com os usuários que utilizaram os servidores, para nosso exemplo vamos selecione o usuário “userjit@jadsonalvess.com”, em seguida clique em Select.

27 – Após selecionar o usuário clique em Next.

28 – Na tela Review + assign clique em Review + assign.

29 – Como podemos observar a role foi associada ao Resource group “RG-teste”.

Conectando a máquina virtual Cliente-02 utilizando RDP

30 – Faça login no portal do Azure com a conta de usuário userjit@jadsonalvess.com.

31 – No portal do Azure pesquise por Virtual machines.

32 – Na tela Virtual machines selecione a máquina virtual que deseja, observe que temos as máquinas virtuais Cliente-01 e Cliente-02, selecione a vm Cliente-02.

33 – Na tela Cliente-02 clique em Connect e selecione RDP.

34 – Na tela Cliente-02 | Connect em Source selecione My IP em seguida clique em Request access.

35 – Ainda na tela Cliente-02 | Connect percebam que a requisição foi aprovada, clique em Download RDP File.

36 – Após baixar o arquivo RDP da máquina virtual Cliente-02, execute o arquivo.

37 – Na tela Enter your credentials insira o usuário e senha.

38 – Na tela Remote Desktop Connection clique em Yes.

39 – Como podemos observar conectamos na máquina virtual Cliente-02.

40 – Caso tente abrir o arquivo RDP em um outro computador cujo o IP público seja diferente do que liberamos, o arquivo não será aberto.

41 – No nsg-vms percebam que foi criada uma regra com maior prioridade liberando o IP público que fez a solicitação de acesso a máquina virtual Cliente-02 (192.168.0.5) na porta 3389 (RDP).

Conectando a máquina virtual Cliente-01 utilizando SSH

Instalar o PuTTy

PuTTY é um cliente SSH e telnet, desenvolvido originalmente por Simon Tatham para a plataforma Windows. PuTTY é um software de código aberto que está disponível com o código-fonte e é desenvolvido e apoiado por um grupo de voluntários.

O PuTTY pode ser baixado no link abaixo:

https://www.putty.org/

42 – O vídeo abaixo mostra o processo de download e instalação do PuTTY no Windows.

43 – No portal do Azure pesquise por Virtual machines.

44 – Na tela Virtual machines selecione a máquina virtual “Cliente-01”.

45 – Na tela Cliente-01 clique em Connect e selecione SSH.

46 – Na tela Cliente-01 | Connect em Source IP selecione MY IP em seguida clique em Request access .

47 – Ainda na tela Cliente-02 | Connect percebam que a requisição foi aprovada, anote o endereço IP na etapa 4.

48 – Abra o PuTTY em Host Name digite o endereço IP da etapa 4, em seguida clique em Open.

49 – A tela PuTTY Security Alert será aberta clique em Accept.

50 – Em seguida forneça as credencias da máquina virtual.

51 – Como podemos observar autenticamos na máquina virtual Cliente-01.

52 – Caso tente conectar à máquina Linux em um outro computador cujo o IP público seja diferente do que liberamos, a conexão não será estabelecida.

53 – No nsg-vms percebam que foi criada uma regra com maior prioridade liberando o IP público que fez a solicitação de acesso a máquina virtual Cliente-01 (192.168.0.4) na porta 22 (SSH).

Comente suas sugestões e observações! 

Forte abraço, obrigado e até o próximo post.

2 Replies to “Microsoft Defender for Cloud – Just-in-time VM access”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *