Tema
POL-003: Política de Acceso Lógico y Autenticación
| Campo | Valor |
|---|---|
| ID | POL-003 |
| Versión | 1.0 |
| Clasificación | Interno — Confidencial |
| Fecha de Emisión | 2026-03-13 |
| Próxima Revisión | 2027-03-13 |
| Propietario | CISO |
| PCI DSS | Requisitos 7, 8 |
| Preguntas ControlCase | Q45, Q46, Q48, Q49, Q50, Q51, Q53, Q54, Q55, Q56, Q57, Q233, Q1031, Q1032, Q1033 |
1. Propósito
Establecer controles de acceso lógico para garantizar que el acceso a sistemas, datos y recursos esté restringido según el principio de mínimo privilegio y need-to-know.
2. Alcance
- Todas las plataformas del sistema en scope PCI DSS
- Cuentas de usuario, cuentas de servicio/aplicación, cuentas administrativas
- Acceso local y remoto
- Autenticación y autorización en todas las capas
3. Principios Generales
- Mínimo Privilegio: Todo acceso se otorga al nivel mínimo necesario para la función del trabajo
- Need-to-Know: Acceso a datos solo cuando existe necesidad comercial demostrada
- Identificación Única: Cada usuario tiene un ID único e intransferible
- Responsabilidad Individual: Toda acción debe ser atribuible a un usuario individual
4. Gestión de Cuentas de Usuario
4.1 Creación de Cuentas
| Paso | Descripción | Responsable |
|---|---|---|
| 1 | Solicitud mediante formulario de acceso (TMPL-002-ACCESS_REQUEST.md) | Solicitante |
| 2 | Verificación de justificación comercial | Supervisor del solicitante |
| 3 | Aprobación según nivel de acceso solicitado | Oficial de Seguridad |
| 4 | Creación de cuenta con privilegios mínimos | Administrador de sistemas |
| 5 | Configuración de contraseña temporal (debe cambiar en primer login) | Sistema |
| 6 | Activación de MFA | Usuario |
4.2 Modificación de Acceso
- Toda modificación requiere formulario de cambio de acceso aprobado
- Cambios de rol o función requieren re-evaluación de privilegios
4.3 Terminación de Acceso
- Inmediata (mismo día): Terminaciones involuntarias, incidentes de seguridad
- Último día laboral: Terminaciones voluntarias, fin de contrato
- Proceso de terminación:
- RRHH notifica al Oficial de Seguridad
- Revocación de acceso en todas las plataformas (K8s, DO, Git, DB, VPN, email)
- Revocación de tokens/API Keys activos
- Recuperación de dispositivos corporativos
- Documentación de la remoción
- Verificación por segunda persona
4.4 Transferencia de Empleados
- Al cambiar de rol, se revocan los privilegios del rol anterior
- Se otorgan nuevos privilegios según el nuevo rol
- Se documenta como cambio de acceso
5. Tipos de Cuenta y Controles
5.1 Cuentas de Usuario Individual
| Plataforma | Formato de ID | Autenticación | MFA |
|---|---|---|---|
| DigitalOcean | email@fintrixs.com | SSO/Password | Sí |
| GitHub | username | SSO/Password | Sí |
| Kubernetes (kubectl) | CN=user | Certificado | Sí (VPN) |
| PostgreSQL | role_name | Password + TLS | N/A (solo vía app) |
| Kong Admin | API Key | API Key + IP restrict | N/A |
| Dashboard Fintrixs | JWT RS256 | TOTP |
5.2 Cuentas de Servicio/Aplicación
| Cuenta | Plataforma | Propósito | Acceso Interactivo |
|---|---|---|---|
| api_user | PostgreSQL | Queries de payments_api | No |
| core_user | PostgreSQL | Operaciones payments_core | No |
| vault_user | PostgreSQL | Tokenización/detokenización | No |
| auth-service SA | Kubernetes | Service Account del auth-service | No |
| tokenization-service SA | Kubernetes | Service Account del tokenization-service | No |
| ci-bot | GitHub Actions | CI/CD pipeline | No |
Controles para cuentas de servicio:
- Contraseñas con complejidad suficiente, rotadas periódicamente
- Login interactivo prohibido excepto con justificación documentada y aprobación de Gerencia
- Si se usa login interactivo: limitado en tiempo, aprobado, identidad confirmada, audit trail habilitado
- Contraseñas nunca codificadas en scripts, archivos de configuración o código fuente
5.3 Cuentas Genéricas/Compartidas
- Prohibidas por defecto
- Si son absolutamente necesarias:
- Justificación comercial documentada
- Aprobación de Gerencia
- Mecanismo para atribuir acciones a usuarios individuales
- Rotación de contraseña después de cada uso compartido
5.4 Cuentas Predeterminadas del Proveedor
- Deben ser deshabilitadas, renombradas o tener su contraseña cambiada antes de poner el sistema en producción
- Si se mantienen habilitadas: documentar justificación y aprobación de Gerencia
6. Política de Contraseñas
6.1 Requisitos de Contraseña
| Parámetro | Valor | Configuración |
|---|---|---|
| Longitud mínima | 12 caracteres | Enforced en app + DB |
| Complejidad | Mayúscula + minúscula + número + especial | Enforced |
| Historial | Últimas 4 contraseñas no reutilizables | Enforced |
| Expiración | 90 días (o análisis dinámico de postura) | Enforced |
| Bloqueo de cuenta | Después de 6 intentos fallidos | Enforced |
| Duración de bloqueo | 30 minutos (o desbloqueo manual) | Enforced |
| Timeout de sesión | 15 minutos de inactividad | Enforced |
6.2 Almacenamiento de Contraseñas
- Todas las contraseñas se almacenan hasheadas con Argon2id
- Nunca se almacenan en texto claro
- Salt único por contraseña
6.3 Transmisión de Contraseñas
- Siempre sobre canal cifrado (TLS 1.2+)
- Nunca transmitidas en texto claro
6.4 Primer Login y Reset
- Toda cuenta nueva se crea con contraseña temporal
- El sistema fuerza cambio de contraseña en el primer login
- Los resets de contraseña requieren verificación de identidad antes de emitir nueva contraseña temporal
7. Autenticación Multi-Factor (MFA)
7.1 MFA Obligatorio
| Tipo de Acceso | MFA Requerido | Método |
|---|---|---|
| Acceso remoto (VPN) | Sí | TOTP + Certificado |
| Dashboard administrativo | Sí | TOTP (Google Auth) |
| DigitalOcean panel | Sí | TOTP o WebAuthn |
| GitHub | Sí | TOTP o WebAuthn |
| Acceso a CDE (cualquier método) | Sí | MFA según plataforma |
| API Keys (server-to-server) | No (IP restrict + API Key) | N/A |
7.2 Configuración Segura de MFA
- El sistema MFA no es susceptible a ataques de repetición (TOTP basado en tiempo)
- MFA no puede ser omitido por ningún usuario (incluyendo admins) excepto con documentación y autorización de Gerencia por tiempo limitado
- Se requieren al menos 2 tipos diferentes de factores de autenticación:
- Algo que sabe (contraseña)
- Algo que tiene (TOTP, hardware key)
- Algo que es (biométrico, opcional)
- Todos los factores deben ser exitosos antes de otorgar acceso
8. Acceso Remoto
8.1 Tecnología
- VPN WireGuard para acceso a red interna
- SSH con clave pública para acceso a servidores (password auth deshabilitado)
- MFA obligatorio para toda conexión remota
8.2 Proceso
- Solicitud de acceso remoto mediante formulario
- Aprobación del Oficial de Seguridad
- Configuración de VPN con certificado individual
- Activación de MFA
- Registro en inventario de acceso remoto
8.3 Usuarios con Acceso Remoto
Se mantiene una lista actualizada de todos los usuarios internos y externos con acceso remoto, incluyendo:
- Nombre e ID de usuario
- Rol y justificación
- Fecha de otorgamiento
- Fecha de última revisión
8.4 Acceso de Terceros/Proveedores
- Acceso solo cuando es necesario (no permanente)
- Monitoreo activo de sesiones de proveedor
- Credenciales únicas por proveedor
- Deshabilitado cuando no se está usando activamente
9. Control de Acceso a Datos de Tarjetas
9.1 Acceso vía Aplicación
- Todo acceso de usuarios (no administradores) a datos de tarjetas es exclusivamente a través de la aplicación (tokenization-service)
- No se permite acceso directo a la base de datos vault_db por usuarios finales
- Row Level Security (RLS) asegura aislamiento por merchant
9.2 Acceso Administrativo a Bases de Datos
- Acceso directo a vault_db restringido a DBA designado
- Requiere aprobación previa, MFA, y se registra todo en audit log
- Sesiones limitadas en tiempo
10. Revisión de Cuentas
10.1 Revisión Semestral de Cuentas de Usuario (Q1031)
- Frecuencia: Cada 6 meses
- Alcance: Todas las cuentas de usuarios en todas las plataformas en scope
- Proceso:
- Extraer lista actual de usuarios con privilegios
- Comparar contra lista de empleados activos (RRHH)
- Verificar que cada acceso es apropiado según función del trabajo
- Eliminar/modificar accesos que ya no son necesarios
- Documentar hallazgos y acciones tomadas
- Obtener reconocimiento de Gerencia
10.2 Revisión Periódica de Cuentas de Aplicación/Sistema (Q1032)
- Frecuencia: Cada 6 meses
- Alcance: Todas las cuentas de servicio y aplicación
- Proceso: Similar a 10.1, verificando que cuentas de servicio siguen siendo necesarias
10.3 Monitoreo de Usuarios Inactivos (Q48)
- Proceso automatizado (script/cron) que verifica último login de cada cuenta
- Cuentas sin login por más de 90 días son deshabilitadas automáticamente
- Notificación al supervisor antes de la deshabilitación (día 75)
- Excepción: cuentas de servicio (no tienen login interactivo)
Historial de Revisiones
| Versión | Fecha | Autor | Cambios |
|---|---|---|---|
| 1.0 | 2026-03-13 | Oficial de Seguridad | Documento inicial |
Aprobación
| Rol | Nombre | Firma | Fecha |
|---|---|---|---|
| CISO / Oficial de Seguridad | _________________ | _________________ | //____ |
| Gerencia Ejecutiva | _________________ | _________________ | //____ |
