Servidor Bastion · 11 min read · Sep 09, 2025
Como Configurar um Servidor Bastion com Warpgate no Debian

Um Servidor Bastion refere-se a um computador/máquina/servidor que é projetado e configurado especificamente para suportar ataques em redes de computadores. A funcionalidade do Servidor Bastion é semelhante a um proxy ou balanceador de carga para aplicações. Ele permite que você acesse computadores ou servidores que estão localizados em redes DMZ.
Warpgate é uma solução moderna que pode ser usada como um servidor Bastion. É escrito em Rust e fornece um painel de administração baseado na web. Você pode instalá-lo em um nó específico, e então pode facilmente adicionar nós ou servidores de destino que estão localizados em sua infraestrutura privada. O Warpgate atualmente pode ser usado como um Servidor Bastion para SSH, MySQL/MariaDB e HTTP.
Neste tutorial, você configurará um servidor Bastion para conexões SSH e MySQL/MariaDB em um servidor Debian 11 usando o Warpgate. Você instalará e configurará o Warpgate no servidor Debian, depois adicionará o servidor de destino SSH e o servidor MySQL ao Warpgate. No final, você garantirá que o servidor Bastion Warpgate está funcionando conectando-se ao servidor de destino SSH e ao servidor MySQL.
Pré-requisitos
Você precisará dos seguintes requisitos para completar este tutorial:
- Um servidor Linux rodando Debian 11 - Este exemplo usa um servidor com o nome de host ‘warpgate-debian‘ e endereço IP ‘192.168.5.10‘.
- Um usuário não-root com privilégios de administrador sudo/root.
Baixar o Arquivo Binário do Warpgate
Nesta seção, você fará o download do arquivo binário do Warpgate manualmente do GitHub, e depois movê-lo para o diretório ‘bin’ do sistema. Outra forma de instalar o Warpgate é compilando a partir do código-fonte ou usando a versão Docker do Warpgate.
Para começar, execute o seguinte comando wget para baixar o arquivo binário do Warpgate. Visite a página oficial de download do GitHub para a versão mais recente do Warpgate.
wget -q https://github.com/warp-tech/warpgate/releases/download/v0.7.0/warpgate-v0.7.0-x86_64-linuxUma vez baixado, mova o arquivo binário do Warpgate para ‘/usr/local/bin/warpgate ‘. Então, torne-o executável usando o comando ‘chmod +x’.
mv warpgate-v0.7.0-x86_64-linux /usr/local/bin/warpgate
sudo chmod +x /usr/local/bin/warpgateEm seguida, execute o seguinte comando para localizar o arquivo binário ‘ warpgate ‘ em seu sistema.
which warpgateAgora verifique a versão do Warpgate e liste os parâmetros disponíveis do comando ‘warpgate’.
warpgate version
warpgate --helpVocê deve receber uma saída como esta.

Configurando o Warpgate como Servidor Bastion
Com o arquivo binário do Warpgate baixado, você agora configurará e instalará sua instalação do Warpgate. Isso pode ser feito interativamente através do comando ‘ warpgate ‘.
Execute o seguinte comando para configurar o Warpgate como o servidor bastion.
warpgate setupApós a execução do comando, você será questionado sobre as seguintes configurações:
- Onde você deseja armazenar os dados do Warpgate? Deixe como padrão no diretório ‘/var/lib/warpgate’.
- O endpoint do painel de administração web do Warpgate? Deixe como padrão para executar o Warpgate em seu endereço IP interno/público com a porta 8888.
- Aceitar conexões SSH? Digite sim para habilitar o Warpgate como o servidor bastion SSH.
- O endpoint do servidor bastion SSH? Deixe como padrão para executar o servidor bastion SSH no endereço IP interno/público com a porta 2222.
- Aceitar conexões MySQL? Digite sim para habilitar o Warpgate como um servidor bastion MySQL.
- O endpoint do servidor bastion MySQL? Deixe como padrão com a porta 33306.
- Registrar sessões de usuário? Digite sim para habilitá-lo.
- Configure uma senha para o usuário padrão admin. Digite a senha para sua instalação do Warpgate.

Uma vez que o processo de configuração esteja concluído, você deve receber uma saída como esta. Você também verá o arquivo de configuração do Warpgate ‘/etc/warpgate.yaml’ e o diretório de dados ‘/var/lib/warpgate’ criados durante o processo.

Agora execute o seguinte comando para mostrar o conteúdo do arquivo ‘/etc/warpgate.yaml’ e a lista de arquivos e diretórios disponíveis em ‘/var/lib/warpgate’.
cat /etc/warpgate.yaml
ls /var/lib/warpgateAbaixo está a saída que será impressa em seu terminal.

Agora execute o seguinte comando para executar o Warpgate. Você verá a saída ‘ Warpgate está agora em execução ‘ e portas TCP abertas para conexões SSH, MySQL e HTTP.
warpgate --config /etc/warpgate.yaml run
Abra seu navegador web e visite o endereço IP do Warpgate com a porta 8888 (ou seja: https://192.168.5.10:8888/). Quando bem-sucedido, você deve ver a página de login do Warpgate.

Volte ao seu terminal e pressione Ctrl+c para encerrar o processo do Warpgate.
Executando o Warpgate como um Serviço Systemd
Nesta seção, você configurará o Warpgate para ser executado com o Systemd. Isso permite que você execute o Warpgate em segundo plano e é mais fácil de gerenciar através da utilidade de comando systemctl.
Crie um novo arquivo de unidade systemd ‘/etc/systemd/system/warpgate.service’ usando o seguinte comando do editor nano.
sudo nano /etc/systemd/system/warpgate.serviceAdicione as seguintes configurações de unidade systemd ao arquivo.
[Unit]
Description=Warpgate
After=network.target
StartLimitIntervalSec=0
[Service]
Type=notify
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/warpgate --config /etc/warpgate.yaml run
[Install]
WantedBy=multi-user.targetSalve o arquivo e saia do editor quando terminar.
Execute o seguinte comando para recarregar o gerenciador systemd e aplicar as alterações.
sudo systemctl daemon-reloadEm seguida, inicie e habilite o serviço Warpgate usando a seguinte utilidade de comando systemctl.
sudo systemctl start warpgate
sudo systemctl enable warpgate
Depois disso, verifique o status do serviço Warpgate para garantir que o serviço está em execução.
sudo systemctl status warpgateA saída abaixo confirma que o serviço Warpgate está em execução.

Se você verificar a lista de portas abertas em seu servidor, verá várias portas 2222, 8888 e 33306 no estado LISTEN. Execute o comando ss abaixo.
ss -tulpnSaída:

Configurando o UFW
Nesta seção, você instalará, executará e habilitará o UFW em seu servidor Debian. Você também abrirá portas que são usadas pelo Warpgate.
Instale o UFW executando o seguinte comando apt.
sudo apt install ufwQuando solicitado, digite y para confirmar e pressione ENTER.

Uma vez que o UFW esteja instalado, execute o seguinte comando para abrir o serviço OpenSSH e as portas do Warpgate 2222, 8888 e 33306.
sudo ufw allow OpenSSH
sudo ufw allow 8888/tcp
sudo ufw allow 2222/tcp
sudo ufw allow 33306/tcpEm seguida, inicie e habilite o UFW usando o comando abaixo. Digite y quando solicitado e pressione ENTER para prosseguir.
sudo ufw enableApós a execução do seguinte comando, o UFW deve estar em execução e habilitado, o que significa que o UFW será executado automaticamente na inicialização do sistema.

Agora insira o seguinte comando para verificar o status do UFW. Você deve ver que o UFW está ‘Status: Ativo’ com o serviço OpenSSH, portas 2222, 8888, e 33306 adicionadas.
sudo ufw statusSaída:

Fazendo Login no Warpgate
Com o Warpgate em execução como um serviço systemd e o UFW em funcionamento, você agora acessará a instalação do Warpgate.
Abra seu navegador web e visite o endereço IP do servidor seguido pela porta 8888 (ou seja: https://192.168.5.20:8888 /) e você verá a página de login do Warpgate.
Digite o usuário padrão ‘admin‘ e a senha que você configurou. Em seguida, clique em Login para continuar.

Uma vez logado como ‘admin‘, clique no menu ‘Gerenciar Warpgate‘.

Você agora deve ver o painel de usuário do Warpgate.

Neste ponto, você terminou a instalação do Warpgate como servidor Bastion SSH e MySQL no servidor Debian. Você está agora pronto para adicionar seu servidor e servidor MySQL ao Warpgate.
Adicionando Servidor de Destino SSH
Nesta seção, você adicionará o servidor Linux com endereço IP 192.168.5.25 e nome de host ‘node1‘ ao servidor Bastion Warpgate. Para fazer isso, você deve adicionar a chave pública SSH do Warpgate ao seu servidor de destino.
No painel do Warpgate, clique no menu SSH e você verá as chaves públicas e privadas SSH do Warpgate que serão usadas para fazer login no servidor de destino.
Copie a chave pública SSH para sua anotação.

Agora faça login no servidor de destino, crie um novo diretório ‘~/.ssh‘, e depois crie o arquivo ‘authorized_keys‘ usando o seguinte comando do editor nano.
mkdir -p ~/.ssh/
nano ~/.ssh/authorized_keysAdicione a chave pública SSH do Warpgate a ele.

Em seguida, vá para o painel do Warpgate e clique no menu Config e depois clique em ‘Adicionar um destino‘.

Digite o nome do host do servidor de destino, selecione o tipo como SSH, e depois clique em Criar destino.

Altere o endereço IP do servidor de destino e o usuário que será usado para fazer login no servidor. Quanto à autenticação, selecione ‘Chaves privadas do Warpgate‘. Em seguida, você deve habilitar o papel ‘warpgate:admin’ na seção ‘Permitir acesso para papéis‘.
Quando terminar, clique em ‘Atualizar configurações‘.

Com isso, o servidor de destino ‘node1‘ foi adicionado ao Warpgate. Você agora pode se conectar a ‘node1‘ através do servidor bastion Warpgate.
Execute o seguinte comando ssh para se conectar ao ‘node1‘ através do servidor bastion Warpgate. Neste comando, o formato usado é ‘role: server-name’ com o endereço IP do servidor bastion 192.168.5.10 e porta 2222.
ssh 'admin:[email protected]' -p 2222Digite sim para confirmar e adicionar a impressão digital SSH do destino. Quando solicitado pela senha, digite a senha do usuário bastion ‘admin‘.
Quando a conexão for bem-sucedida, você deve obter uma saída como ‘Warpgate conectado‘. E você estará logado no servidor de destino ‘node1‘.
Digite o seguinte comando para verificar o servidor atual no qual você está logado. Você verá que você está logado no servidor ‘node1‘ através do servidor bastion SSH Warpgate.
id
hostnameSaída:

Se você verificar no painel de administração web do Warpgate, você deve ver a impressão digital do seu servidor de destino SSH.

Adicionando Servidor de Destino MySQL/MariaDB
Nesta seção, você adicionará um servidor MariaDB ao servidor bastion Warpgate. Antes disso, você configurará o servidor MariaDB para rodar em um endereço IP privado/interno e também criará um novo usuário MariaDB para conexões remotas.
Faça login no servidor MariaDB e abra o arquivo de configuração ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ usando o seguinte comando do editor nano.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfDescomente o parâmetro ‘bind-address‘ e altere o valor para o seu endereço IP interno. Neste exemplo, o servidor MariaDB será executado no endereço IP privado ‘192.168.5.25‘.
bind-address = 192.168.5.25Salve o arquivo, e depois saia do editor.
Digite o seguinte comando para reiniciar o serviço MariaDB e aplicar as alterações. Quando reiniciado, o MariaDB deve estar em execução no endereço IP ‘192.168.5.25’ em vez do localhost padrão.
sudo systemctl restart mariadbEm seguida, faça login no shell do MariaDB como usuário root para configurar e criar um novo usuário.
sudo mariadb -u root -pDigite as seguintes consultas para criar um novo usuário MariaDB ‘appuser’ e permitir que o usuário acesse todos os bancos de dados no servidor MariaDB. Além disso, certifique-se de alterar a senha na seguinte consulta.
CREATE USER 'appuser'@'%' IDENTIFIED BY 'p4@@w0rd';
GRANT ALL PRIVILEGES ON *.* TO 'appuser'@'%' IDENTIFIED BY 'p4@@w0rd';
FLUSH PRIVILEGES;
EXIT;Em seguida, você configurará o pacote cliente MariaDB na máquina que será usada para se conectar ao servidor MariaDB.

Instale o pacote ‘mariadb-client‘ através do seguinte comando. Digite y quando solicitado e pressione ENTER para prosseguir.
sudo apt install mariadb-client
Agora vá para o servidor Warpgate, mude o diretório de trabalho para ‘/var/lib/warpgate‘, e depois copie os certificados TLS do Warpgate para sua máquina cliente MariaDB.
cd /var/lib/warpgate/
sudo scp tls.certificate.pem tls.key.pem [email protected]:/etc/mysql/
Agora volte para a máquina cliente e abra a configuração do cliente MariaDB ‘/etc/mysql/mariadb.conf.d/50-client.cnf’ usando o seguinte comando do editor nano.
sudo nano /etc/mysql/mariadb.conf.d/50-client.cnfAdicione as seguintes configurações à seção ‘[client]‘ para habilitar uma conexão segura do cliente.
[client]
....
ssl-cert=/etc/mysql/tls.certificate.pem
ssl-key=/etc/mysql/tls.key.pemSalve o arquivo e saia do editor quando terminar.
Agora no painel do Warpgate, clique no menu ‘Config’, e depois clique em ‘Adicionar um destino‘.

Digite o nome do servidor MariaDB, selecione o tipo como ‘MySQL‘, e depois clique em Criar destino.

Altere os detalhes do host, usuário e senha com os detalhes do seu usuário MariaDB. Certifique-se de desativar a opção ‘Verificar certificado‘ se você tiver certificados TLS padrão, e depois habilite o papel ‘warpgate:admin‘ na seção ‘Permitir acesso para papéis‘.
Clique em ‘Atualizar configuração‘ quando terminar.

Com o servidor MariaDB adicionado ao Warpgate, você agora pode acessar o servidor MariaDB através do servidor Bastion MySQL do Warpgate.
Da máquina cliente MariaDB, insira o seguinte comando para se conectar ao servidor MariaDB. Quando solicitado, digite a senha do usuário admin do Warpgate.
mysql -u 'admin#mysql1' --host '192.168.5.10' --port 33306 --ssl -pQuando conectado, você deve ver o prompt do shell MariaDB como ‘MySQL [(dbname)]>‘. Digite as seguintes consultas para garantir que o usuário que você está usando está disponível no servidor MariaDB.
SELECT host, user, plugin, authentication_string from mysql.user;
SHOW GRANTS FOR appuser@'%';Saída:

Com isso, você agora se conectou ao servidor MariaDB através do servidor Bastion MySQL/MariaDB do Warpgate.
Conclusão
Neste tutorial, você instalou e configurou o servidor Bastion Warpgate no Debian 11. Você configurou o Warpgate para rodar com systemd e o firewall UFW. Além disso, você configurou o Warpgate como servidor Bastion SSH e MySQL/MariaDB, adicionou o servidor de destino SSH e também adicionou o servidor de destino MySQL/MariaDB.
Com isso em mente, você agora pode configurar novos usuários, papéis e adicionar novas conexões ao seu Servidor Bastion Warpgate. E você pode centralizar conexões e acessos de usuários através de um único servidor Bastion centralizado. Para encontrar os detalhes sobre o Warpgate, visite a documentação oficial do Warpgate.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.