Aplicación que permite la autenticación de varios inquilinos

LOW

Descripción

Las aplicaciones registradas en Microsoft Entra ID para facilitar el inicio de sesión pueden solicitar autenticación de inquilino único o de varios inquilinos, lo que también se conoce como “público de inicio de sesión”. La autenticación de un solo inquilino restringe el acceso a los usuarios del mismo inquilino, mientras que la autenticación de varios inquilinos permite el acceso a los usuarios de cualquier inquilino de Entra. Esta distinción entre aplicaciones de un solo inquilino y multiinquilino puede tener consecuencias de seguridad. No configurar una aplicación como multiinquilino con plena conciencia de sus consecuencias y sin poner en práctica las precauciones necesarias puede suponer riesgos de seguridad.

La exposición de las aplicaciones multiinquilino es mayor debido a la posibilidad de que un usuario de Entra malintencionado proveniente de cualquier inquilino descubra la aplicación y acceda a ella. Si el código de la aplicación no tiene en cuenta esta configuración, por ejemplo, si no compara el inquilino de origen del usuario con una lista de usuarios autorizados, puede producirse un acceso no autorizado. Las aplicaciones vulnerables son aquellas que suponen que la autenticación es legítima y otorgan acceso únicamente en función de la presentación de un token válido, sin realizar verificaciones adicionales. Este tipo de vulnerabilidad entra dentro del ámbito de las fallas de “autenticación (AuthN) frente a autorización (AuthZ)”. Según el “modelo de responsabilidad compartida”, Entra ID se encarga de la autenticación del usuario, mientras que el aspecto relacionado con la autorización es responsabilidad de la aplicación.

Incluso Microsoft fue víctima de esta confusión en marzo de 2023, como se detalla en el estudio de caso “BingBang”. Los investigadores de seguridad pudieron aprovechar este error de configuración para vulnerar varias aplicaciones de Microsoft, incluido el portal de administración del motor de búsqueda Bing. Microsoft abordó esta vulnerabilidad en su aplicación, pero sirve como recordatorio de que vulnerabilidades similares podrían afectar sus propias aplicaciones y debe revisarlas y rectificarlas según sea necesario.

Las aplicaciones multiinquilino también son propensas a otras confusiones de autenticación, como la falla nOAuth.

Existen casos de uso legítimos para aplicaciones multiinquilino, en especial si la organización aloja aplicaciones destinadas al acceso por parte de otras organizaciones (por ejemplo, como proveedor de software o para colaboración entre organizaciones) o de usuarios de otro inquilino, pero dentro de la misma organización (por ejemplo, con un inquilino por subsidiaria). Estas aplicaciones solo son vulnerables si dependen únicamente de una autenticación correcta sin llevar a cabo verificaciones de autorización adicionales. Este indicador de exposición no puede determinar si una aplicación está destinada a ser pública o si la autenticación de varios inquilinos se habilitó a propósito. Tampoco puede determinar si el multiinquilinato es realmente necesario y, sin acceso al código de la aplicación, no puede verificar si se cumplieron las verificaciones de autorización necesarias. Por estos motivos, marca todas las aplicaciones multiinquilino como hallazgos que se deben revisar de manera individual. Una vez que las confirme, se pueden marcar como ignoradas.

Solución

Revise la aplicación con la ayuda del propietario para verificar que la naturaleza multiinquilino de la aplicación se ajuste a las expectativas. Asegúrese de que esta configuración se haya habilitado con pleno conocimiento de las diferencias entre aplicaciones de un solo inquilino y multiinquilino. Confirme que la aplicación puede alojar usuarios de otros inquilinos, además de aquel en el que está registrada.

Por supuesto, si la aplicación está destinada a ser pública, también se puede especificar para que este indicador de exposición pueda ignorarla.

Si la aplicación no requiere autenticación multiinquilino, puede devolverla al modo de inquilino único. Sin embargo, tenga en cuenta que Entra ID aplica reglas de validación diferentes en las aplicaciones según los tipos de cuentas admitidos. Por lo tanto, puede que no siempre sea posible cambiar al modo de inquilino único sin ajustar otros parámetros. Proceda con cautela y revise con atención las consecuencias de cualquier cambio. Puede seguir las instrucciones de Microsoft para actualizar el público o el procedimiento a continuación:

  1. Autentíquese en Azure Portal o en el Centro de administración de Entra con un usuario de Entra que sea propietario de la aplicación o que tenga un rol de Entra, como Administrador de aplicaciones o Administrador de aplicaciones en la nube (el permiso exacto de Entra que se necesita es microsoft.directory/applications/audience/update).
  2. Abra el menú “Registros de aplicaciones”.
  3. Busque la aplicación (use el nombre o el identificador de objeto que aparece en el hallazgo).
  4. En la página “Descripción general”, la sección “Tipos de cuenta compatibles” debería mostrar actualmente “Varias organizaciones” o “Todos los usuarios de cuentas de Microsoft”.
  5. Haga clic en el menú “Autenticación” y siga las instrucciones para cambiar la aplicación a “inquilino único”.

Por el contrario, si la aplicación requiere autenticación multiinquilino, consulte con el desarrollador que el código incluya verificaciones de autorización adicionales en los tokens de autenticación recibidos, conocidas como validación de notificaciones.

  • Cuando corresponda, la aplicación solo debe aceptar tokens de usuarios que se originen en una lista predefinida de inquilinos de Entra identificados, como los inquilinos de las subsidiarias de la organización, según la notificación del identificador de inquilino.
  • Si corresponde, la aplicación también podría considerar la posibilidad de aceptar tokens de usuarios específicos conocidos de antemano, según la notificación del identificador de objeto.
  • La aplicación puede implementar el modelo de control de acceso basado en roles (RBAC) con distintos métodos, incluidos los roles de aplicación de Entra, grupos de Entra o su propio almacén de datos.

Cuando confirme que estas verificaciones se pusieron en práctica, o si la aplicación está destinada a ser pública, puede marcar la aplicación para que este indicador de exposición la ignore.

Nota: Las directivas de acceso condicional solo se aplican a los usuarios del mismo inquilino. Como consecuencia, no pueden restringir el acceso a las aplicaciones multiinquilino por parte de usuarios de otros inquilinos.

Además, recomendamos seguir la guía oficial de Microsoft sobre posibles errores de configuración en la autorización para aplicaciones multiinquilino que utilizan Entra ID, en la que se incluyen recomendaciones específicas adicionales.

Por último, concientice a los administradores de Entra y Azure para asegurarse de que elijan de manera sensata entre configuraciones de inquilino único y multiinquilino al crear aplicaciones, ya sea a través de la página de registro de aplicaciones de Entra o mediante la creación de una instancia de Azure App Service.

Detalles del indicador

Nombre: Aplicación que permite la autenticación de varios inquilinos

Nombre en clave: APPLICATION-ALLOWING-MULTI-TENANT-AUTHENTICATION

Gravedad: Low

Tipo: Microsoft Entra ID Indicator of Exposure

Información de MITRE ATT&CK: