Un servidor Bastion actúa como un punto de entrada seguro a una red privada, permitiendo el acceso controlado a recursos internos. Warpgate es una herramienta moderna y flexible que simplifica la configuración de un servidor Bastion. En este tutorial, aprenderás a configurar un servidor Bastion con Warpgate en tu servidor VPS Debian.
Requisitos previos
- Un servidor VPS con Debian (preferiblemente Debian 11 o 12).
- Acceso SSH al servidor con privilegios de root o sudo.
- Conexión a Internet estable.
Pasos de instalación y configuración
-
Instalar dependencias
Asegúrate de tener las herramientas necesarias instaladas:
sudo apt update sudo apt install -y curl gcc libssl-dev pkg-config -
Instalar Rust
Warpgate está escrito en Rust, así que necesitas instalarlo:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shSigue las instrucciones en pantalla para completar la instalación. Luego, carga el entorno de Rust:
source $HOME/.cargo/env -
Instalar Warpgate
Clona el repositorio de Warpgate desde GitHub y compílalo:
git clone https://github.com/warp-tech/warpgate.git cd warpgate cargo build --releaseEl binario de Warpgate se encontrará en `target/release/warpgate`.
-
Configurar Warpgate
Crea el archivo de configuración de Warpgate:
sudo nano /etc/warpgate.ymlAgrega la siguiente configuración básica, reemplazando los valores según tus necesidades:
listen: 0.0.0.0:2222 # Puerto en el que Warpgate escuchará conexiones log_level: info users: - username: admin # Nombre de usuario para acceder al Bastion ssh_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB..." # Clave SSH pública del usuario targets: - name: servidor_interno # Nombre descriptivo del servidor interno host: 192.168.1.100 # Dirección IP del servidor interno port: 22 # Puerto SSH del servidor interno (puedes añadir más objetivos para otros servicios)Guarda los cambios y cierra el editor.
-
Iniciar Warpgate
Puedes iniciar Warpgate manualmente:
sudo /path/to/warpgate /etc/warpgate.ymlReemplaza `/path/to/warpgate` con la ruta real al binario de Warpgate.
Para ejecutarlo como un servicio en segundo plano, puedes usar systemd u otra herramienta de gestión de procesos. Consulta la documentación de Warpgate para más detalles.
-
Conectarse al servidor Bastion
Desde tu máquina local, utiliza SSH para conectarte al servidor Bastion:
ssh -p 2222 admin@tu_direccion_ip_bastionReemplaza `2222` con el puerto configurado en `warpgate.yml` y `tu_direccion_ip_bastion` con la dirección IP de tu servidor Bastion.
Una vez conectado al Bastion, puedes acceder a los servidores internos configurados en `warpgate.yml`.
Conclusión
¡Listo! Has configurado un servidor Bastion con Warpgate en Debian. Ahora puedes acceder de forma segura a tus servidores internos a través de este Bastion.