2012-01-20 20 views
10

Mi è stato assegnato il compito di configurare un server che utilizza un'interfaccia di controllo basata sul Web utilizzando Kerberos e la directory attiva per l'autenticazione. Sto usando twisted.web come server web. Il problema è che non voglio che le password degli utenti passino attraverso questo server, ma non so se sia possibile per firefox e chrome ottenere le chiavi di accesso dal server delle chiavi di Kerberos. Nello specifico deve funzionare con Firefox, altri browser sarebbero un bonus. Esiste una libreria javascript, possibilmente utilizzando HTML5 o un plugin firefox che consente l'autenticazione a un server non affidabile utilizzando kerberos? Potrebbe anche essere possibile un'applicazione flash.Kerberos tramite javascript o HTML 5

+2

'HTML5' è' HTML'. – Francisc

+0

Se stai usando Python, la risposta a questa domanda potrebbe essere utile: http://stackoverflow.com/questions/922805/spnego-kerberos-token-generation-validation-for-sso-using-python#1001619 – millimoose

+0

Il problema con il suggerimento di milimoose è che la password dovrebbe ancora passare attraverso il server, quindi l'utente deve fidarsi del server per non scherzare con esso. Il javascript può essere visualizzato dall'utente, se ne è interessato, quindi mi piacerebbe tenerlo solo tra il javascript sul computer client e il server AD. I web socket di Javascript si avvicinano, ma preferirei non provare a implementare il protocollo kerberos da solo usandoli. – Perkins

risposta

1

Forse è possibile ottenere un proxy inverso davanti a twistato e utilizzare l'autenticazione http dall'app Web e delegare l'autenticazione stessa a Kerberos tramite un modulo apache o nginx.

Mentre il proxy riceverà la password, il server contorto non lo farà, in linea con il tuo caso d'uso. Le richieste sarebbero intercettate dal proxy e delegate al tuo back-end (proxy_pass) dopo un'autenticazione corretta.

In questo modo la soluzione potrebbe funzionare indipendentemente da qualsiasi client http/browser web.

+1

Un suggerimento interessante, e uno che non avevo considerato. Il problema è che la mia organizzazione non ha un server configurato per gestire quel tipo di servizio proxy. Potrei crearne uno, ma solo sul server non voglio che le password colpiscano. Non è tanto il caso di me che non mi fido del software del server perché vuole evitare un incubo auditing se qualcuno ottiene il suo account compromesso. – Perkins