Continuando nuestro recorrido por el scripting orientado a la seguridad, la parte 2 pasa de la teoría a la práctica. Seleccionarás una distribución de Linux, validarás la configuración de tu laboratorio y construirás un breve script de Bash que inicializa un directorio de trabajo para futuros ejercicios de automatización. Cada paso refuerza por qué las decisiones sobre el entorno, los permisos y el manejo de rutas importan cuando los equipos de seguridad escalan sus herramientas.
Objetivos de aprendizaje
Comparar distribuciones de Linux orientadas a la seguridad más comunes y justificar una elección para el trabajo de laboratorio.
Verificar una sesión de terminal con pwd/ls para confirmar la conciencia del directorio y la disponibilidad del shell.
Implementar un script de Bash que cree espacios de trabajo estructurados, registre actividad y aplique permisos restrictivos.
Explicar las ventajas y desventajas entre rutas relativas y absolutas en la automatización administrativa.
Escenario: construyendo el laboratorio de automatización de Dharma
En Dharma, el equipo de automatización está preparando un sandbox donde los analistas puedan prototipar scripts antes de llevarlos a los servidores de producción. Tu tarea es establecer la línea base: elegir la imagen del sistema operativo, documentar la vista inicial del sistema de archivos y proporcionar un script reutilizable que cada compañero de equipo pueda ejecutar para replicar la estructura de directorios. Las capturas de pantalla a continuación registran la distribución seleccionada y la confirmación del entorno de shell.
Distribución seleccionada
El laboratorio corre sobre Ubuntu 22.04 LTS (WSL2 en este caso). Ubuntu equilibra estabilidad, amplio soporte de paquetes y compatibilidad con herramientas de seguridad. Su cadencia LTS promete actualizaciones de seguridad regulares sin cambios disruptivos, lo que la convierte en una base confiable para los ejercicios de automatización.
Verificación de terminal – pwd y ls
Capturar el prompt, junto con pwd y ls, documenta el directorio de trabajo (/home/dharma) y confirma que los archivos esperados (diagnostico.sh, entre otros) son accesibles. Esta evidencia es vital cuando los compañeros de equipo replican el flujo de trabajo o auditan tu configuración.
Diseñando el script diagnostico.sh
El kit de incorporación incluye un script de utilidad que prepara un espacio de trabajo seguridad, registra actividad básica y enumera el contenido del directorio para una verificación rápida. A continuación está la versión anotada que mantendrás en control de versiones.
#!/usr/bin/env bashset-euo pipefail
BASE_DIR="$HOME/seguridad"# Create the working directory if it is missing.mkdir-p"$BASE_DIR"# Ensure the activity log exists and is empty for this run.:>"$BASE_DIR/registro.log"# Produce a current listing from inside the workspace.cd"$BASE_DIR"ls-la> listado.txt
# Append a timestamp entry so we know when the script was executed.echo"Execution: $(date)">> registro.log
echo"Done. Files generated at: $BASE_DIR"
Por qué estas decisiones importan
Ruta base absoluta ($HOME/seguridad). Anclar el espacio de trabajo bajo el directorio home del operador evita sorpresas causadas por distintos puntos de invocación y mantiene los permisos manejables.
set -euo pipefail. El script falla rápido ante variables indefinidas o errores de comando, previniendo un estado parcial que podría confundir ejecuciones futuras.
Creación idempotente de directorio y log. Usar mkdir -p y el operador de truncamiento : hace que el script sea seguro de ejecutar múltiples veces sin datos obsoletos.
Captura del listado. Guardar la salida de ls -la en listado.txt crea un artefacto que los auditores pueden revisar sin volver a ejecutar el script.
Registro con timestamp.registro.log funciona también como una pista de auditoría rápida, mostrando cuándo se inicializó o actualizó el espacio de trabajo.
Permisos. Después de descargar o clonar el script, ejecuta chmod 700 diagnostico.sh. Restringir la ejecución al propietario protege contra manipulaciones e invocaciones accidentales por parte de otros usuarios en hosts compartidos.
Evidencia de ejecución
La captura de pantalla final registra la ejecución exitosa y los archivos resultantes, satisfaciendo el entregable para el cuaderno de laboratorio.
Reflexión: rutas y portabilidad
En este ejercicio, las rutas absolutas ofrecen predictibilidad; cada ejecución apunta a $HOME/seguridad sin importar el directorio actual de quien lo invoca. Las rutas relativas podrían ser útiles dentro del espacio de trabajo—por ejemplo, referenciando ./listado.txt una vez que el script ha cambiado de directorio. Combinar ambos enfoques con criterio mantiene el script portable a la vez que asegura que las operaciones críticas siempre se resuelvan correctamente.
Siguientes pasos
Con el laboratorio ya montado, estás listo para explorar tareas de automatización más ricas: integrar frameworks de logging, parsear argumentos y validar el estado del sistema antes y después de cada acción. Estas mejoras se construyen directamente sobre la estructura establecida aquí, reforzando hábitos disciplinados de scripting para las operaciones de ciberseguridad.