Gerenciamento de Acesso Seguro com JumpServer

há 1 ano 9

por · Published 29 de julho de 2024 · Updated 24 de dezembro de 2024

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/

Ler artigo completo

users online free counter