Saltar al contenido principal

Despliegue y operaciones de infraestructura

Esta página está dirigida a los ingenieros de DevOps y administradores de sistemas responsables de desplegar, escalar y mantener la infraestructura del servidor de Passwork. Proporciona una descripción general operativa y enlaces a la documentación técnica detallada de cada área.


Opciones de despliegue

MétodoCuándo utilizarlo
Docker (recomendado)La mayoría de las implementaciones; el más fácil de actualizar y mantener
Linux (manual)Entornos aislados (air-gapped) o muy controlados
Windows ServerOrganizaciones estandarizadas en infraestructura Windows

Para obtener instrucciones de instalación, consulte:


Referencia rápida del despliegue con Docker

La compilación de Docker es la ruta de despliegue recomendada. La instalación completa se describe en Instalación estándar: Linux — instalación en línea.

Requisitos mínimos del servidor antes de desplegar: consulte Requisitos técnicos.

Lista de comprobación posterior a la instalación:

  • Passwork accesible en la URL de destino a través de HTTPS
  • Certificado SSL válido y de confianza
  • SMTP configurado y correo de prueba entregado
  • Licencia aplicada y número de usuarios confirmado
  • Cuenta de administrador creada con la 2FA activada
  • Tareas en segundo plano (cron) en ejecución

Arquitectura de alta disponibilidad

Passwork admite una arquitectura tolerante a fallos para las organizaciones que requieren alta disponibilidad. Requiere la licencia avanzada.

Configuración mínima de HA

Balanceador de carga (HAProxy, Nginx, Traefik o LB en la nube)
├── Servidor de aplicaciones Passwork 1
├── Servidor de aplicaciones Passwork 2
└── Servidor de aplicaciones Passwork N

Conjunto de réplicas de MongoDB (mínimo 3 nodos)
├── Primario
├── Secundario 1
└── Secundario 2 (o árbitro)

Propiedades clave:

  • No se requieren sesiones persistentes (sticky sessions): las sesiones se almacenan en MongoDB y son válidas en todos los servidores de aplicaciones
  • Cuando falla un servidor de aplicaciones, el balanceador de carga enruta el tráfico automáticamente a los nodos sanos restantes
  • Cuando falla el primario de MongoDB, el conjunto de réplicas elige un nuevo primario automáticamente

Para la configuración detallada de HA, consulte Tolerancia a fallos.

Comprobación de estado del balanceador de carga

Configure su balanceador de carga para que sondee el endpoint /api/v1/app/health-check en cada servidor de aplicaciones. Consulte Comprobación de estado y supervisión más abajo para conocer el formato del endpoint y la configuración del token.


Actualizaciones

Docker

Passwork distribuye las actualizaciones como archivos firmados, no como imágenes de Docker Hub. El script update.sh incluido en el directorio de instalación de Passwork gestiona todo el proceso de actualización: comprueba la pertenencia al grupo, descarga el último archivo firmado, verifica la firma digital, crea una copia de seguridad de la base de datos y la configuración, y luego aplica la actualización.

Actualización en línea:

cd /<passwork>/
./update.sh
Entornos con proxy

El script utiliza curl. Si su red requiere un proxy, defina primero las variables de entorno: export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080

Actualización sin conexión (servidores aislados/air-gapped):

  1. Descargue el último archivo de Passwork y el archivo de firma .sig desde el Portal del cliente.
  2. Copie ambos archivos a /<passwork>/ en el servidor.
  3. Ejecute:
cd /<passwork>/
./offline_update.sh

Para omitir la verificación de la firma si confía en la fuente:

./offline_update.sh --skip

Ambos scripts crean una copia de seguridad de la base de datos (./backup/mongo-*.dump) y un archivo de configuración (./conf-*.tar.gz) antes de realizar cualquier cambio.

Implementaciones de HA: actualización continua (rolling update):

Actualice los servidores de uno en uno para mantener la disponibilidad:

  1. Retire el servidor N del grupo del balanceador de carga
  2. Ejecute ./update.sh en el servidor N
  3. Verifique que la comprobación de estado se supera (consulte Comprobación de estado y supervisión más abajo)
  4. Devuelva el servidor N al grupo
  5. Repita con los servidores restantes

Para consultar la referencia completa de actualización, consulte Actualizar Passwork: Docker.

Linux (sin Docker)

Consulte Actualizar Passwork: Linux y Actualizar Passwork: Windows Server.


Copia de seguridad de MongoDB

Las copias de seguridad son la tarea operativa más crítica en una implementación de Passwork on-premise. La pérdida de una base de datos sin copia de seguridad supone la pérdida permanente de datos.

Script de copia de seguridad automatizada (Docker)

#!/bin/bash
set -euo pipefail

PASSWORK_DIR="/<passwork>"
BACKUP_DIR="/backups/passwork"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/passwork_${DATE}.archive"

mkdir -p "$BACKUP_DIR"

# Create dump
docker compose -f "${PASSWORK_DIR}/docker-compose.yml" exec -T mongodb \
mongodump --archive --gzip | gzip > "${BACKUP_FILE}.gz"

echo "Backup created: ${BACKUP_FILE}.gz"

# Retain last 30 days
find "$BACKUP_DIR" -name "passwork_*.gz" -mtime +30 -delete

Programe mediante cron:

# /etc/cron.d/passwork-backup
# Daily backup at 02:00
0 2 * * * root /opt/scripts/backup-passwork.sh >> /var/log/passwork-backup.log 2>&1

Recomendaciones de almacenamiento de copias de seguridad

  • Almacene las copias de seguridad en una ubicación separada del servidor de Passwork (almacenamiento de objetos, NAS, ubicación externa)
  • Cifre los archivos de copia de seguridad antes de transferirlos o almacenarlos
  • Almacene la clave de cifrado de Passwork (config.env) por separado de la copia de seguridad de la base de datos
  • Pruebe la restauración cada 1 a 3 meses

Para consultar los comandos de copia de seguridad y restauración, consulte MongoDB: ejemplos de creación y restauración de copias de seguridad.


Comprobación de estado y supervisión

Endpoint de comprobación de estado

GET /api/v1/app/health-check
Authorization: Bearer <HEALTH_CHECK_TOKEN>

Devuelve HTTP 200 con un objeto de estado JSON. Intégrelo con su herramienta de supervisión (Prometheus blackbox exporter, Datadog synthetics, Zabbix HTTP check, Nagios, etc.).

Para conocer los detalles del endpoint, consulte Comprobación de estado.

Supervisión de las tareas en segundo plano

La sincronización LDAP, las comprobaciones de caducidad de contraseñas y las notificaciones por correo electrónico se ejecutan como tareas en segundo plano. Si cron deja de ejecutarse, la pertenencia a grupos LDAP queda desactualizada.

Supervise el estado de las tareas en segundo plano:

  1. En el panel de administración de Passwork → Configuración → Tareas en segundo plano: compruebe las marcas de tiempo de «Última ejecución»
  2. Establezca una alerta externa si el endpoint de comprobación de estado deja de responder
  3. Establezca un monitor de cron (p. ej., Cronitor, Dead Man's Snitch o un latido personalizado) para alertar si la tarea de cron de copia de seguridad no se ejecuta según lo programado

Para la configuración de cron, consulte Tareas en segundo plano: configuración de cron para Linux.

Métricas clave que supervisar

MétricaUmbral de alertaDónde comprobarlo
Estado HTTP de la comprobación de estado≠ 200Balanceador de carga / herramienta de supervisión
Primario del conjunto de réplicas de MongoDBSin primario durante > 30 sSupervisión de MongoDB
Uso de disco (almacenamiento de copias de seguridad)> 80 %Supervisión del sistema operativo
Última ejecución de cron> 2× el intervalo esperadoMonitor de cron
Caducidad del certificado SSL< 30 días restantesSupervisión de certificados
Errores de tareas en segundo planoCualquier errorPanel de administración de Passwork

Integración con Syslog y SIEM

Passwork puede reenviar todos los eventos del historial de acciones en CEF (Common Event Format) al syslog local o al Registro de eventos de Windows, que su recopilador de SIEM puede luego recoger.

Actívelo en Configuración → Historial de acciones → Configuración → Registrar el historial de acciones en syslog o en el Registro de eventos de Windows.

Para conocer los detalles de configuración, consulte Descripción general del reenvío de eventos.


Implementaciones aisladas (air-gapped) y sin conexión

Passwork admite la instalación totalmente sin conexión para entornos sin acceso a Internet.

Consideraciones clave:

  • Descargue el paquete de instalación sin conexión desde el Portal del cliente antes de desconectarse
  • La imagen de Docker debe descargarse y guardarse en una máquina con conexión a Internet, y luego transferirse mediante docker save / docker load
  • Las actualizaciones siguen el mismo proceso: descargar el paquete sin conexión, transferir, aplicar

Para consultar las guías de instalación sin conexión:


Actualizaciones de componentes externos

MongoDB y PHP requieren actualizaciones periódicas independientes de las actualizaciones de Passwork.

Para consultar las guías de actualización específicas de cada versión: