¿Qué es un demonio?
Para cumplir con la disponibilidad de un servicio (de acuerdo a la tríada de la ciberseguridad), se pueden utilizar demonios de Linux, cuya definición es la siguiente:
Para habilitar y administrar los demonios en Linux se suele utilizar el gestor systemctl, que es el encargado de mostrar si algún servicio del sistema se ha detenido.
systemctl y systemd
systemctl es una herramienta de línea de comandos que permite controlar el sistema de init systemd. Sus funciones principales son:
- Iniciar, detener y reiniciar servicios
- Habilitar o deshabilitar servicios para que arranquen automáticamente
- Ver el estado de los servicios
- Gestionar demonios personalizados
Archivo de configuración .service
Estructura básica del archivo .service
Secciones del archivo de configuración
El archivo de configuración consta de tres secciones principales:
Unit - Identidad del servicio
Define la identidad y metadata del servicio. La opción Description proporciona una descripción legible del servicio.
Service - Detalles y ubicación de la aplicación
Indica las opciones que definen cómo se ejecuta el servicio, qué programa corre y bajo qué condiciones.
| Opción | Descripción |
|---|---|
| ExecStart | Comando exacto que systemd ejecuta para iniciar el servicio |
| WorkingDirectory | Define el directorio de trabajo desde donde se ejecuta el programa |
| StandardOutput/StandardError | La salida se hereda y se registra en el journal de systemd |
| Restart | El servicio se reiniciará automáticamente si se detiene o falla |
Install - Arranque automático
Define cómo y en qué momento el servicio debe integrarse al proceso de arranque del sistema.
Creación de un demonio
Para crear un demonio de Linux, primero debemos implementar una aplicación. En este caso, será un servidor Web en Python con Flask.
Estructura de directorios
Código del servidor (app.py)
Plantilla HTML (templates/index.html)
Archivo de configuración del servicio
pwd y whoami.
Activación y comandos útiles
Comandos para habilitar un demonio
¿Qué sigue?
Con demonios en Linux puedes mantener servicios siempre disponibles:
¡Has completado el tutorial!
Ahora sabes cómo crear y configurar demonios en Linux usando systemctl. Esto te permite mantener servicios siempre disponibles, cumpliendo con el principio de disponibilidad de la tríada de ciberseguridad.