O que é um Jump Server?
Um jump server é um servidor intermediário através do qual você pode acessar um servidor atrás de um firewall. Ele fornece informações necessárias para se comunicar com o dispositivo de destino. Você pode se conectar usando uma chave privada ou nome de usuário e senha.
Vamos supor que você tenha um ambiente com várias máquinas virtuais. Você pode conectá-los com o Secure Shell ou o Remote Desktop Protocol (RDP). Você pode fazê-lo abrindo as portas 22 e 3389 para toda a sua rede. Em vez de permitir acesso direto, você pode usar uma VM específica (Jump Server) que fica em uma sub-rede controlada. Você pode usá-lo como um ponto de entrada e, em seguida, pode conectar em outras VMs na rede.
Por que usar o Jump Server no Azure?
Muitas empresas têm dispositivos/aplicativos de fornecedores em execução em sua rede corporativa. Isso pode exigir o uso de zonas de segurança separadas com acesso controlado aos recursos. Embora o Azure Bastion possa proteger recursos dentro de uma Virtual Network, outras cargas de trabalho na rede do perímetro ainda podem exigir um servidor de salto. Com Jump Server no Azure, os usuários finais podem acessar remotamente informações com privilégios administrativos na rede.
Passo a Passo
No Microsoft Azure será necessário termos dois servidores, o jump server com endereço IP Público e um segundo servidores sem endereço IP Público.
Criamos uma Virtual Network (Vnet-Servidores) com o endereço IP 192.168.0.0/16 e duas subnets, subnet-Jump_Server 192.168.1.0/24 e a Subnet-VMs 192.168.2.0/24.
Apenas o jump server poderá conectar nas portas 3389 (RDP) e 22 (SSH) dos servidores da rede.
A imagem abaixo mostra os recursos computacionais criados no ambiente Azure.
A imagem abaixo mostra as configurações de rede do ambiente.
01 – Faça login no portal do Azure.
02 – No portal do Azure pesquise por Network security groups.
03 – Será necessário criar o Network security group para o jump server, na tela do Network security groups clique em + Create.
04 – Na tela create network security group, selecione a assinatura, grupo de recursos, um nome para o recurso e localização que será provisionado, em seguida clique em Review + create.
05 – Na tela Review + create clique em Create.
06 – Após o recurso ser provisionado clique em Go to resource.
07 – Na tela do NGS-Jump_server vamos criar uma regra liberando o acesso da minha estação ao Jump server na porta 3389 (RDP), em Settings clique em Inbound security rules.
08 – Na tela inbound security rules, clique em + Add.
09 – A tela Add inbound security rule será aberta, em Source selecione IP Addresses em Source IP addresses/CIDR ranges vou digitar o endereço IP Público da minha estação “20.106.246.31/32”, para a opção Source port ranges podemos deixar qualquer porta “*”, em Destination selecione IP Adrresses, para a opção Source IP addresses/CIDR ranges digite o endereço IP privado do Jump Server “192.168.1.4/32”, em Service selecione RDP observe que após selecionarmos RDP em Destination port ranges automaticamente a porta 3389 foi selecionada, para a opção Action selecione Allow, em Priority defina prioridade da regra particularmente gosto de iniciar a partir da prioridade 500 caso seja necessário criar regras que terão prioridade sobre essa poderemos criar sem problema, em Name selecione um nome para a regra, em Description adicione uma descrição intuitiva para a regra (isso pode te ajudar em um possível Troubleshoot), em seguida clique em Add.
10 – Como podemos observar a regra foi criada.
11 – O próximo passo será associar o Network security group a uma subnet, em Settings clique em Subnets.
12 – Na tela Subnets clique em + Associate, a tela Associate subnet será aberta em Virtual network selecione a Vnet-Servidores em subnet selecione Subnet-Jump_Server, lembrando que a regar que criamos é para liberar o acesso da minha estação ao Jump server na porta 3389, em seguida clique em OK.
13 – Como podemos observar associamos o nsg a subnet Subnet-Jump_Server.
Conectando no Jump Server
Da minha máquina vamos tentar acessar o Jump server, no site meu IP percebam que o endereço IP da minha estação é o mesmo que colocamos na regra do nsg.
14 – Da estação de trabalho abra o Remote Desktop Connection digite o endereço IP do servidor Jump server “192.168.1.4” e clique em Connect, será solicitado o usuário e senha, em seguida clique em OK.
15 – Como observar conectamos no Jump server.
Configurando regras do Jump Server
Observe que temos algumas regras criadas por padrão no Network Security Group, uma dessas regras é a AllowVnetInBound que permite a comunicação entre as subnets na mesma Vnet, vamos criar uma regra que bloquei a comunicação entre as subnetes que estão na mesma vnet
16 – No portal do Azure pesquise por Network security groups e selecione o NSG-Jump_server.
17 – Após selecionar o nsg NSG-Jump_server em Settings clique em Inbound security rules.
18 – Na tela Inbound security rules clique em + Add, a tela Add inbound security rule será aberta, em Source selecione Service Tag, para a opção Source service tag selecione VirtualNetwork, em Source port ranges vamos deixar o valor padrão que é qualquer porta “*”, para a opção Destination selecione VirtualNetwork, em Service deixe o valor Custom selecionado, para a opção Destination port ranges digite “*” que corresponde a qualquer porta, para a opção Protocol deixe selecionado Any, em Action selecione Deny, para a opção Priority vamos digitar o valor 600, Em Name selecione uma nome para a Regra, em Discription digite um comentário para a regra e clique em Add.
19 – Nesse momento vamos criar a regra que libera o acesso do Jump server as máquinas virtuais em nossa virtual network nas portas 3389 e 22, lembrando que apenas o jump server conseguira acessar os servidores da rede. Na tela do NSG-Jump_server clique em Inbounf security rules.
20 – Na tela Inbound security rules clique em + Add, a tela Add inbound security rule será aberta, em Source selecione IP Adresses em Source IP addresses/CIDR ranges digite o endereço IP do jump server “192.168.1.4/32”, para a opção Source port ranges deixe o valor padrão que é qualquer porta “*”, para a opção Destination selecione VirtualNetwork, em Service selecione Custom, para a opção Destination port ranges digite 3389 e 22, em Protocol selecione TCP, para a opção Action selecione Allow, em Priority digite um valor menor que o da regra “DenyVnetInBound” vamos selecionar a prioridade 400, em Name selecione um nome para a regra, em Description digite uma descrição para regra e clique em Add.
21 – Como podemos observar a regra foi criada.
22 – Precisamos associar o NSG a subnet onde os servidores estão, clique em Subnets.
23 – Na tela Subnets clique em + Associate, a tela Associate subnet será aberta em virtual network selecione Vnet-Servidores em Subnet selecione a Subnet-Vms em seguida clique em OK.
24 – Como podemos observar a subnet foi adicionada.
Testando o acesso do Jump Server aos servidores
Conectando na vm targetvm de outra VM da rede
Vamos tentar conectar na máquina virtual targetvm de uma outra máquina virtual.
Conectando no targetvm a partir do Jump Server
Após conectar na VM Jump server “192.168.1.4” vamos conectar no servidor targetvm “192.168.2.4” por RDP.
Comente suas sugestões e observações!
Forte abraço, obrigado e até o próximo post.
Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud
Computing e Cloud Security.
Forte atuação em projetos de Cloud Security no Microsoft Azure e com tecnologias de
segurança do Microsoft 365.
Tenho Experiência em Microsoft Azure, Microsoft 365, AWS e Windows Server.
Sou Microsoft MVP na categoria Microsoft Azure, AWS Communit Builder Security & Identity e
MCT.