Guía del Desarrollador OWASP
Lista de Verificación para Aplicar Controles de Acceso
4.2.7 Lista de Verificación: Aplicar Controles de Acceso
El Control de Acceso o Autorización es el proceso de conceder o denegar solicitudes específicas de un usuario, programa o proceso.
Consulte el control proactivo C1: Implementar Controles de Acceso y sus hojas de referencia para obtener más contexto del proyecto OWASP Top 10 Controles Proactivos, y utilice la lista a continuación como sugerencias para una lista de verificación adaptada para el proyecto individual.
1. Autorización
- Diseñar el control de acceso / autorización a fondo desde el principio
- Forzar que todas las solicitudes pasen por verificaciones de control de acceso a menos que sean públicas
- Denegar por defecto; si una solicitud no está específicamente permitida, entonces es denegada
- Aplicar el privilegio mínimo, proporcionando el menor acceso que sea necesario
- Registrar todos los eventos de autorización
2. Control de acceso
- Obligar al uso de controles de autorización en cada solicitud
- Utilizar solo objetos de sistema confiables para tomar decisiones de autorización de acceso
- Utilizar un único componente para todo el sitio para verificar la autorización de acceso
- Los controles de acceso deben fallar de manera segura
- Denegar todo acceso si la aplicación no puede acceder a su información de configuración de seguridad
- Segregar la lógica privilegiada del resto del código de la aplicación
- Limitar el número de transacciones que un solo usuario o dispositivo puede realizar en un período de tiempo determinado, lo suficientemente bajo para disuadir ataques automatizados pero por encima del requisito real del negocio
- Si se permiten sesiones autenticadas largas, revalidar periódicamente la autorización de un usuario
- Implementar auditoría de cuentas y hacer obligatoria la desactivación de cuentas no utilizadas
- La aplicación debe admitir la terminación de sesiones cuando cese la autorización
Referencias
- Hoja de Referencia: Autorización de OWASP
- Top 10 Controles Proactivos de OWASP
Traducción de versión original en inglés.
La Guía para Desarrolladores OWASP es un esfuerzo comunitario; si hay algo que necesita cambiarse, cree un issue o edítelo en GitHub.
\newpage