Acceso a la API de EWS de Exchange con la seguridad en mente

1

Soy nuevo en el intercambio de la pila de seguridad, así que siéntase libre de editar la pregunta o redirigirme a otro foro si esto no es apropiado.

Actualmente estoy trabajando en una aplicación web que permitirá al usuario administrar su cuenta de correo electrónico de Exchange; lea el correo, envíe el correo, cree nuevas carpetas, etc. Quiero admitir versiones de Exchange tan antiguas como 2007, que solo son compatibles con la autenticación básica y NTLM en comparación con su API EWS. Esto significa que tengo que almacenar los detalles del usuario en texto sin cifrar, aunque solo sea temporalmente, en mi servidor. La configuración que tengo hoy tiene el siguiente aspecto:

  1. ElusuariosuministralainformacióndesucuentayelpuntofinaldeEWSamiservidor.

  2. Acontinuación,severificaestainformaciónparaversiescorrectaemitiendounasimplesolicitudGETalpuntofinal,descubriendoelmétododeautenticación"más fuerte" observando el contenido del encabezado "Autenticación WWW". La autenticación se realiza para ver si el nombre de usuario y la contraseña proporcionados son correctos.

  3. Si lo fue, creo un token aleatorio de longitud 32, y lo uso como clave con las credenciales del usuario como valor en un simple objeto JavaScript en memoria, y devuelvo este token al usuario.

  4. El usuario puede obtener información, dado que el token suministrado en el encabezado de Autorización de las solicitudes posteriores es válido.

Las sesiones se eliminan después de una hora, y nunca se persisten datos en una base de datos.

Acabo de encontrar este gran intercambio de pila hace unos días, y he estado leyendo con ferocidad desde entonces ( BASIC-Auth secure? , ¿Las contraseñas almacenadas en la memoria son seguras? para nombrar algunas grandes). La seguridad no es mi fuerte, pero estoy ansioso por aprender, así que por favor sea severo y dígame si estoy haciendo algo reprensible.

¿Lo que estoy haciendo actualmente se considera algo seguro, o debo reconsiderar mi enfoque por completo? Gracias.

    
pregunta Tholle 28.03.2015 - 10:54
fuente

0 respuestas

Lea otras preguntas en las etiquetas