Protezione e firma Web App

2

Ho un cliente che vuole proteggere l'accesso a un'app Web nel caso in cui il dipendente si allontani perché l'app dà accesso a clienti, vendite, ecc. Vuole "nascondere" le credenziali di accesso a questa app e ci ha chiesto di scrivere un'app di accesso che avrebbe dovuto essere avviata per prima, quindi l'app avrebbe registrato l'utente. In questo modo l'utente non avrebbe mai conosciuto le proprie credenziali reali e non avrebbero potuto avere accesso remoto a questa app nel fine settimana. Qualcuno ha fatto questo o ha idee?

    
posta Web App 31.08.2013 - 17:48
fonte

1 risposta

2

Suppongo che il tuo problema riguardi l'utilizzo di un'applicazione Web che non controlli . Quella applicazione Web richiede alcune "credenziali utente" (login e password) che non si desidera mostrare all'utente umano. Ma queste credenziali devono esistere e, se non sono nella testa del dipendente, devono essere nella sua macchina o in un'altra macchina relay.

In generale, puoi immaginare un sistema proxy : il dipendente si connette non all'app Web, ma al proxy. Il dipendente esegue l'autenticazione con il proxy tramite un metodo specifico del proxy, che può essere una password di accesso + (non uguale alle credenziali per l'app Web). Il proxy inoltra quindi tutte le richieste all'app Web e le risposte indietro, tranne che esegue anche l'autenticazione "vera" con l'app Web.

Quel proxy può essere un software in esecuzione sul sistema desktop del dipendente, ma questo è un po 'debole, perché il dipendente ha, per definizione, l'accesso fisico al proprio sistema desktop, quindi sarà in grado di estrarre i segreti che contiene, se mette un po 'di impegno nel compito. Un sistema più strong è quello di rendere il proxy una macchina separata, mantenuta in una baia in una stanza del server, sulla rete interna della società. Il punto qui è che questa macchina proxy non è raggiungibile dal dipendente dal suo accesso a Internet a casa.

Questo è quanto possiamo dire "in generale". Quanto sia facile o difficile implementare un tale sistema dipende molto da come l'app Web fa cose. Ad esempio, se l'app Web di destinazione utilizza Autenticazione di base HTTP , il proxy deve semplicemente aggiungere in modo trasparente WWW-Authenticate: intestazione HTTP per ogni richiesta. Se l'app Web utilizza una "pagina di accesso" personalizzata (che è il solito caso), il proxy dovrebbe ottenere quella pagina, inviare le credenziali (HTTP POST), quindi ottenere il cookie HTTP, e aggiungi l'intestazione HTTP Cookie: ad ogni richiesta. Se l'app Web utilizza OAuth e / o il codice Ajax con Javascript sul lato client, le cose possono diventare complesse, possibilmente piuttosto peloso.

    
risposta data 03.09.2013 - 19:30
fonte

Leggi altre domande sui tag