Gerenciamento de Acesso Seguro com JumpServer
Hoje venho apresentar o JumpServer, uma ferramenta que foi me apresentada por André Dias CEO da Hexa Networks. Similar ao Apache Guacamole.
Introdução ao JumpServer
O JumpServer é uma solução open-source de Gerenciamento de Acesso Seguro (Secure Access Management – SAM) projetada para fornecer uma plataforma centralizada para controle de acesso e auditoria em ambientes de TI. Ele atua como um bastião, oferecendo um ponto único de entrada para administradores e operadores, permitindo a gestão eficiente e segura de servidores, dispositivos de rede e outros recursos críticos.
Principais Benefícios do JumpServer
- Segurança e Controle de Acesso: O JumpServer reforça a segurança ao centralizar e controlar o acesso aos recursos, garantindo que apenas usuários autorizados possam interagir com os sistemas críticos.
- Auditoria e Monitoramento: Cada sessão é registrada e monitorada, oferecendo uma trilha de auditoria detalhada para investigações e conformidade com regulamentos de segurança.
- Gerenciamento de Senhas: Com o JumpServer, é possível gerenciar e rotacionar senhas de maneira segura, minimizando os riscos associados ao uso de senhas estáticas.
- Integração com Sistemas Existentes: Ele suporta integração com diversos sistemas de autenticação, como LDAP, Active Directory e multifatores de autenticação (MFA), facilitando a incorporação em ambientes já existentes.
- Facilidade de Uso: A interface intuitiva do JumpServer permite que administradores e operadores configurem e utilizem a plataforma com facilidade, reduzindo a curva de aprendizado.
Como o JumpServer Funciona
O JumpServer opera como um gateway seguro entre os usuários e os recursos de TI. Quando um usuário precisa acessar um servidor ou dispositivo, ele se conecta primeiro ao JumpServer. Após a autenticação bem-sucedida, o JumpServer estabelece a conexão segura com o recurso desejado. Durante essa sessão, todas as atividades são registradas, permitindo auditoria e monitoramento contínuos.
Cenários de Uso Comuns
- Ambientes Corporativos: Empresas que precisam gerenciar o acesso a uma grande quantidade de servidores e dispositivos de rede.
- Provedores de Serviços Gerenciados (MSPs): Provedores que gerenciam infraestrutura de TI para múltiplos clientes e precisam garantir a segurança e conformidade.
- Organizações com Requisitos de Conformidade: Entidades que devem cumprir normas rigorosas de segurança e auditoria, como PCI-DSS, HIPAA, e GDPR.
O JumpServer se destaca como uma ferramenta essencial para organizações que buscam melhorar a segurança, o controle de acesso e a conformidade com regulamentações de TI. Ele oferece uma plataforma robusta e flexível para gerenciar o acesso a recursos críticos, mantendo a integridade e a segurança dos sistemas.
Instalação
Para rodar o JumpServer, é recomendado ter um hardware com as seguintes especificações mínimas:
– CPU: 2 núcleos
– Memória: 8 GB de RAM
– Armazenamento: 60 GB
Irei fazer a instalação em um Debian 12, mas ele roda em Ubuntu, RedHat ou CentOS. O kernel deve ser superior ou igual a versão 4.3.
# apt install curl # curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash
Aguarde a magia acontecer, ele irá fazer tudo para você. Ao final você terá 8 containers (jms_koko jms_redis jms_postgresql jms_celery jms_chen jms_lion jms_core jms_web)
Ao finalizar acesse em seu navegador o IP do seu servidor exemplo http://seu-ip/
Usuário: admin Senha: ChangeMe
Habilitando IPv6
Para ativar o suporte IPv6 nos containers do JumpServer vamos editar o arquivo /opt/jumpserver/config/config.txt e fazer alguns ajustes. Para facilitar a vida vou utilizar o comando sed, para alterar USE_IPV6=0 por USE_IPV6=1 e fc00:1010:1111:200 por fc00:bebe:cafe:d0ce.
# sed -i 's/USE_IPV6=0/USE_IPV6=1/' /opt/jumpserver/config/config.txt # sed -i 's/fc00:1010:1111:200/fc00:bebe:cafe:d0ce/' /opt/jumpserver/config/config.txt # cd /opt/jumpserver-installer-v4.5.0 # bash jmsctl.sh stop # bash jmsctl.sh start
Habilitando HTTPS
Aponte em seu DNS Autoritativo as entradas A (IPv4) e AAAA (IPv6) apontando para os IPs públicos de seu servidor.
Antes de gerar o certificado pare todos os contêineres do JumpServer.
# cd /opt/jumpserver-installer-v4.5.0 # bash jmsctl.sh stop
Em seguida iremos instalar o certbot (Let’s Encrypt) para gerar nosso certificado, no exemplo irei utilizar “jump.remontti.com.br”.
# apt install certbot python3-certbot-apache # certbot certonly --standalone -d jump.remontti.com.br
Para poder usar os certificados gerados pelo certbot, vamos precisar copia-los em /opt/jumpserver/config/nginx/cert. Atalho não funciona devido as permissões. Faça o seguinte:
Remova os certificados inválidos:
# rm /opt/jumpserver/config/nginx/cert/server.crt # rm /opt/jumpserver/config/nginx/cert/server.key
Copie os os novos:
# cd /etc/letsencrypt/live/jump.remontti.com.br/ # cp fullchain.pem /opt/jumpserver/config/nginx/cert/server.crt # cp privkey.pem /opt/jumpserver/config/nginx/cert/server.key # chmod 600 /opt/jumpserver/config/nginx/cert/*
Edite o arquivo /opt/jumpserver/config/config.txt e altere as seguintes entradas, informando seu domínio bem como o caminho dos arquivos de certificado gerados no passo anterior.
# HTTPS_PORT=443 # SERVER_NAME=your_domain_name # SSL_CERTIFICATE=your_cert # SSL_CERTIFICATE_KEY=your_cert_key
Edite /opt/jumpserver/config/config.txt
# vim /opt/jumpserver/config/config.txt
Exemplo de configuração:
HTTPS_PORT=443 SERVER_NAME=jump.remontti.com.br SSL_CERTIFICATE=server.crt SSL_CERTIFICATE_KEY=server.key
Agora vamos iniciar novamente os contêineres
# cd /opt/jumpserver-installer-v4.5.0 # bash jmsctl.sh start
Script para renovação do certificado
# mkdir /opt/renew-cert # vim /opt/renew-cert/renew-cert.sh
Não esqueça de ajustar a versão e se domínio.
#!/bin/bash VERSAO_JUMP=4.5.0 DOMINIO=jump.remontti.com.br # Para Jumpserver /opt/jumpserver-installer-v${VERSAO_JUMP}/jmsctl.sh stop # Renova certificado /usr/bin/certbot renew -q # Remove certificados velhos rm /opt/jumpserver/config/nginx/cert/server.crt rm /opt/jumpserver/config/nginx/cert/server.key # Copia certificados novos cp /etc/letsencrypt/live/${DOMINIO}/fullchain.pem /opt/jumpserver/config/nginx/cert/server.crt cp /etc/letsencrypt/live/${DOMINIO}/privkey.pem /opt/jumpserver/config/nginx/cert/server.key # Altera permissão chmod 600 /opt/jumpserver/config/nginx/cert/* # Inicia Jumpserver /opt/jumpserver-installer-v${VERSAO_JUMP}/jmsctl.sh start
De permissão para ser executado.
# chmod +x /opt/renew-cert/renew-cert.sh
Adicione ao cron, para que todo o Domingo ele tentar renovar às 3:30 da manhã.
# crontab -e
# m h dom mon dow command #┌──────────────────── m (minute): Minuto do horário (0 a 59) #│ ┌───────────────── h (hour): Hora do dia (0 a 23) #│ │ ┌────────────── dom (day of month): Dia do mês (1 a 31) #│ │ │ ┌───────── mon (month): Mês do ano (1 a 12) #│ │ │ │ ┌───── dow (day of week): Dia da semana (0 a 6, sendo 0 domingo) #│ │ │ │ │ ┌─ command 30 3 * * 0 /opt/renew-cert/renew-cert.sh
Reinicie o cron
# systemctl restart cron
Atualização futuras
Acesse https://github.com/jumpserver/jumpserver/releases para verificar se existe uma release mais recente.
Acesse o diretório da aplicação e baixe a versão mais nova, em seguida extraia o mesmo
# cd /opt wget https://github.com/jumpserver/installer/releases/download/v4.5.0/jumpserver-installer-v4.5.0.tar.gz tar -xf jumpserver-installer-v4.5.0.tar.gz
Entre no diretório da versão extraída, execute os comando upgrade, e em seguida inicie o serviço.
# cd /opt/jumpserver-installer-v4.5.0 # bash jmsctl.sh upgrade # bash jmsctl.sh start
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.
FONTE:
https://www.jumpserver.com/
https://en-docs.jumpserver.org
https://docs.jumpserver.org/
https://jump.speedrs.com.br/core/download/
Tentando apenas habilitar o acesso na 443 mas não funciona de jeito nenhum. Mesmo alterando o arquivo de configuração como diz no tutorial oficial ele não funciona, no meu caso eu não precisaria de um certificado público, só queria habilitar o acesso seguro com um certificado auto assinado mesmo. Mas ele nunca funciona na 443 só roda na 80. 😕
Consegui configurar e usar os acessos SSH, mas não consegui configurar para acessar um site que tem auteenticação, não entendi muito bem como que configura. Passei os parêmetros do http que tem nos campos de usuário e senha e da ação do botão, tentei também usando as variáveis que tem, mas em nenhum dos casos tive sucesso.
Alguem conseguiu fazer este acesso funcionar? Se sim, consegue compartilhar como configurou?
Bom dia a todos, preciso de uma proposta HOJE por gentileza por e-mail:
JumpServer: (100 servidores) que contenha:
Senha Segura
Beyond Trust
Fornecedore
Nome das soluções,
Olá, preciso de ajuda. Esta é minha primeira experiência usando o jumpServer.
A conexão foi bem-sucedida.
2025-05-22 22:30:09 >>> Preparando para executar tarefas
2025-05-22 22:30:09 >>> Começando a executar tarefas
2025-05-22 22:30:10
JOGAR [todos] *****************************************************************************
2025-05-22 22:30:10
TAREFA [Ping Posix] **************************************************************************
22/05/2025 22:30:11 ok: [teste2]
2025-05-22 22:30:11
RESUMO DO JOGO *****************************************************************************
test2: ok=1 alterado=0 inacessível=0 falhou=0 ignorado=0 salvo=0 ignorado=0
2025-05-22 22:30:11
Verão:
– total_ativos: 1
– Tempo de uso: 2,45 seg.
2025-05-22 22:30:11 Tarefa assets.tasks.ping.test_assets_connectivity_task[95aba94d-2a46-4afa-abf4-bd903d8eb233] concluída com sucesso em 2.5044402650000848 s: Não
mas o terminal ssh não mostra nada quando tento conectar no dispositivo.
Uma questão que não entendi é que o login ao dispositivo é feito com um login predefinido, para acesso ao ASSET ? ou seja sempre vai logar com um um unico usuario ao dispositivo ?
root@JumpServer:~# curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash
curl: (35) Recv failure: Conexão fechada pela outra ponta
Boa tarde!
Ao tentar o acesso através do navegador, aparece uma tela toda em branco, ao invés da tela de login. A URL original é direcionada para http://meu_ip/ui/#/.
Através da console do navegador, identifiquei que está ocorrendo um erro 504 em 3 componentes: i18n/lina/?lang=pt&flat=0, user-session/ e open/.
Fiz a instalação em um Ubuntu 24.04.1 LTS.
Alguma ideia do que pode ser?
Obrigado!
Já refiz a VM 3 vezes e sempre dá o mesmo problema: ao tentar gerar o certificado diz que a porta 80 está em uso… Então, paro o serviço apache2 e daí consigo gerar o certificado; depois disso nunca mais funciona o docker jms_web. Com o apache ainda desligado o docker até inicia, mas não abre página alguma, com o apache rodando não inicia o docker… não sei mais oq fazer =/
veja se nao instalou o apache, da um stop e um disable nele caso ele esteja instalado
Consigo trocar os IPs do docker? Ele usa a mesma classe dos meus equipamentos.
Tente esses ajustes:
Execute os comandos nessa ordem: