2012-01-20 7 views
10

Se me ha encomendado la tarea de configurar un servidor que utiliza una interfaz de control basada en la web utilizando kerberos y el directorio activo para la autenticación. Estoy usando twisted.web como el servidor web. El problema es que no quiero que las contraseñas de los usuarios entren en este servidor, pero no sé si es posible que Firefox y Chrome obtengan claves de acceso del servidor de claves kerberos. Específicamente, debe funcionar con Firefox, otros navegadores serían una ventaja. ¿Hay una biblioteca de JavaScript, posiblemente utilizando HTML5 o un complemento de Firefox que permita la autenticación a un servidor que no sea de confianza utilizando kerberos? Una aplicación flash también podría ser posible.Kerberos a través de javascript o HTML 5

+2

'HTML5' es' HTML'. – Francisc

+0

Si está usando Python, la respuesta a esta pregunta puede ser útil: http://stackoverflow.com/questions/922805/spnego-kerberos-token-generation-validation-for-sso-using-python#1001619 – millimoose

+0

El problema con la sugerencia de milimoose es que la contraseña aún tendría que pasar por el servidor, por lo que el usuario tiene que confiar en que el servidor no se meterá con ella. El usuario puede ver el javascript, si le preocupa, así que me gustaría mantenerlo solo entre javascript en el equipo cliente y el servidor AD. Los Web Sockets Javascript se acercan, pero prefiero no intentar implementar el protocolo kerberos utilizando ellos. – Perkins

Respuesta

1

Tal vez podría hacerlo a través de un proxy inverso frente a twisted y usar http auth desde la aplicación web y delegar la autenticación a Kerberos a través de un módulo apache o nginx.

Mientras que el proxy recibirá la contraseña, el servidor retorcido no, de acuerdo con su caso de uso. Las solicitudes serían interceptadas por el proxy y delegadas en su back-end (proxy_pass) después de una autenticación exitosa.

De esta manera su solución funcionaría independientemente de cualquier cliente http/navegador web.

+1

Una sugerencia interesante, y una que no había considerado. El problema es que mi organización no tiene un servidor configurado para manejar ese tipo de servicio de proxy. Podría configurar uno, pero solo en el servidor no quiero que peguen las contraseñas. No se trata tanto de que no confíe en el software del servidor, sino de evitar una pesadilla de auditoría si alguien se ve comprometido. – Perkins