¿Qué es Bastille Linux?
Bastille Linux es una herramienta de endurecimiento (hardening) de sistemas operativos Unix/Linux. Su objetivo es mejorar la seguridad del sistema desactivando servicios innecesarios, aplicando configuraciones seguras y verificando permisos de archivos.
A diferencia de las herramientas de auditoría, Bastille hace cambios directos en el sistema para hacerlo más seguro. Opera mediante un asistente interactivo que guía al administrador sección por sección, explicando cada decisión antes de aplicarla.
Características principales
- Hardening directo: Aplica cambios de configuración reales al sistema, no solo reporta problemas.
- Asistente interactivo: Guía al administrador con explicaciones detalladas de cada cambio propuesto.
- Copia de seguridad automática: Antes de modificar cualquier archivo, guarda una copia de respaldo para poder revertir.
- Reversión integrada: El comando
bastille -rrevierte los últimos cambios aplicados. - Cobertura amplia: Permisos, cuentas de usuario, dispositivos, sistema de archivos, logs y red/firewall.
Bastille vs Lynis
Comprender la diferencia entre estas dos herramientas ayuda a elegir la correcta según el objetivo.
bastille -rInstalación Vía GitHub
Método recomendado para obtener la versión más reciente del repositorio oficial.
Bastille es un script de Perl, por lo que necesita el intérprete de Perl, git para descargar el código, y perl-tk para la interfaz interactiva.
# Actualizar la lista de paquetes sudo apt update # Instalar git, perl y la librería Tk (interfaz gráfica) sudo apt install git perl libtk-perl -y sudo apt install wget unzip -y
# Navegar a la carpeta de inicio cd ~ # Clonar el repositorio de Bastille Linux git clone https://github.com/discogestalt/bastille-linux.git
# Entrar al directorio clonado y dar permisos cd bastille-linux chmod +x install.sh # Ejecutar el script de instalación con sudo sudo ./install.sh
/usr/local/bastille. Presiona Enter para confirmar.sudo bastille
Instalación Vía apt (Ubuntu)
Bastille está disponible en los repositorios de Ubuntu, lo que simplifica enormemente la instalación.
sudo apt update
sudo add-apt-repository universe
# Instalar Bastille y sus dependencias
sudo apt install bastille -y
Ubicaciones tras la instalación
| Elemento | Ruta | Descripción |
|---|---|---|
| Ejecutable | /usr/sbin/bastille | Programa principal de endurecimiento. |
| Configuración | /etc/bastille/ | Archivos de configuración y estado de políticas aplicadas. |
| Logs | /var/log/bastille/bastille.log | Registro de todos los cambios realizados por Bastille. |
| Config aplicada | /etc/bastille/bastille.conf | Registro de todas las políticas que han sido aplicadas. |
Ejecutar el Proceso de Endurecimiento
El proceso de Bastille es interactivo y guiado. Presta atención a cada pregunta, ya que tus respuestas determinarán los cambios de seguridad que se aplicarán al sistema.
sudo bastille
Secciones del Asistente Interactivo
Bastille guía al administrador a través de seis secciones de hardening, cada una enfocada en un área de seguridad distinta.
/tmp, protegiendo contra exploits.Detalle de cada sección
| Sección | Función | Importancia |
|---|---|---|
| I. Archivos y Permisos | Elimina bits SUID peligrosos y restringe permisos de archivos sensibles como /etc/shadow. |
Alta — Los permisos incorrectos son la causa más común de escalada de privilegios. |
| II. Cuentas de Usuario | Deshabilita cuentas sin uso (nobody, sync) y endurece políticas de contraseña. |
Media/Alta — Reduce la superficie de ataque al eliminar cuentas innecesarias. |
| III. Dispositivos | Restringe el acceso de usuarios comunes a dispositivos USB, CD-ROM y disquetes. | Media — Importante para la seguridad física del equipo. |
| IV. Sistema de Archivos | Configura opciones de montaje seguras para evitar ejecución de código en /tmp y similares. |
Alta — Protege contra exploits que utilizan directorios temporales. |
| V. Registro de Logs | Asegura que syslog esté correctamente configurado para capturar toda la actividad relevante. | Alta — Crucial para la detección de intrusiones posterior al evento. |
| VI. Red y Firewall | Desactiva ICMP redirects y otros comportamientos inseguros de la pila TCP/IP, configura firewall básico. | Alta — Reduce el riesgo de ataques a la pila de red. |
Proceso Clave Durante el Asistente
- LEE CADA PREGUNTA: Bastille presenta una explicación detallada de cada cambio propuesto. Si no estás seguro, lee la explicación completa o escoge la opción por defecto (generalmente la más segura).
- APLICAR CAMBIOS: Al final de cada sección, Bastille preguntará si deseas aplicar los cambios sugeridos. Si respondes Yes, los cambios se escribirán inmediatamente en los archivos de configuración del sistema.
- VERIFICAR TRAS CADA SECCIÓN: Después de aplicar cambios, comprueba que los servicios esenciales siguen funcionando antes de continuar con la siguiente sección.
Verificación Tras el Endurecimiento
Después de que Bastille ejecute los cambios, verifica que todo funcione correctamente revisando los logs y el archivo de estado.
Revisar el log de Bastille
cat /var/log/bastille/bastille.log
tail -f /var/log/bastille/bastille.log
Revisar el archivo de estado
Bastille mantiene un registro de todas las políticas que han sido aplicadas al sistema.
cat /etc/bastille/bastille.conf
ERROR o FAILED). Las entradas de éxito aparecerán con el cambio aplicado y el archivo modificado. Si un servicio falla después del hardening, el log te indicará exactamente qué archivo fue modificado.Reversión de Cambios
Si un cambio aplicado por Bastille rompe la funcionalidad del sistema, puedes revertir mediante el modo de reversión integrado.
| Comando | Acción |
|---|---|
| sudo bastille -r | Revertir el último conjunto de cambios — vuelve a los archivos de respaldo creados automáticamente antes de aplicar. |
| sudo bastille -r <versión> | Revertir a un punto específico — si deseas volver a una configuración anterior, especifica el número de versión. |
# Revertir el último conjunto de cambios sudo bastille -r # Revertir a una versión específica de configuración sudo bastille -r <versión_anterior>
- Ejecutar en VM de prueba primero, documentar qué cambia.
- Verificar servicios críticos (SSH, web, bases de datos) tras el hardening.
- Revisar logs en
/var/log/bastille/bastille.log. - Si todo funciona, replicar en producción.
- Mantener acceso de emergencia (consola física o VNC) por si SSH queda bloqueado.