Documento activo
Seguridad, Permisos y Sesiones
Controles de acceso, CSRF, sesiones y seguridad.
Seguridad, Permisos y Sesiones
1. Autenticacion
La autenticacion principal se resuelve entre:
- login.php
- helpers/Auth.php
- models/Model.php
El flujo incluye:
- validacion CSRF
- bloqueo por IP
- bloqueo temporal por intentos fallidos
- registro de actividad
- cambio obligatorio de contrasena en primer login
2. Sesion
La sesion:
- se inicia de forma centralizada
- tiene nombre propio
- usa
httponly - usa
SameSite=Lax - ajusta
securesegun HTTPS - expira por inactividad
3. Roles y niveles
El sistema distingue entre rol_id y nivel_acceso.
Uso habitual
rol_id: define el perfil especificonivel_acceso: permite validar jerarquia minima
Esto se usa en funciones como:
Auth::requerirLogin()Auth::requerirRol()Auth::tienePermisoModulo()
4. CSRF
La proteccion CSRF esta incluida en helpers/Auth.php dentro de la clase CSRF.
Funciones principales:
- generar token
- insertar campo oculto
- validar token
- rotar token tras validacion exitosa
5. Sanitizacion
La clase Sanitizar provee filtros basicos para:
- texto
- enteros
- decimales
6. Headers de seguridad
Desde config/config.php se aplican:
X-Frame-Options: SAMEORIGINX-Content-Type-Options: nosniffReferrer-Policy: strict-origin-when-cross-originContent-Security-Policy- politicas anti cache para paginas sensibles
7. Subida y acceso a archivos
El sistema maneja uploads en assets/uploads/ y usa funciones para:
- normalizar URLs
- convertir rutas publicas a locales
- stream seguro de recursos
La seguridad real depende de:
- validar extensiones permitidas
- permisos de carpeta
- no exponer escritura a rutas innecesarias
8. Bloqueo de IP y anti abuso
La logica de IP bloqueada esta en:
- helpers/IpBlockService.php
Controla:
- intentos fallidos
- bloqueos temporales
- bloqueos administrativos
9. Permisos por modulo
No basta con el rol. El sistema tambien puede activar permisos finos por modulo mediante la tabla permisos_modulo.
Esto impacta:
- menues laterales
- vistas disponibles
- accesos operativos
10. Consideraciones para produccion
- Activar HTTPS obligatorio
- Revisar y endurecer CSP segun dominios realmente usados
- Proteger claves de pasarela
- Proteger endpoints publicos y webhooks
- Auditar accesos a carpeta de uploads
- Revisar exposicion de errores
11. Riesgos residuales
Aunque hay varias capas de seguridad, se recomienda auditar periodicamente:
- modulos publicos
- subida de archivos
- webhooks y pagos
- permisos por rol
- endpoints AJAX