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.0.
# 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.0.1 # 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.0.1 # 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.0.1 # 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.0.1 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.0.1/jumpserver-installer-v4.0.1.tar.gz tar -xf jumpserver-installer-v4.0.1.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.0.1 # 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/
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: