234 messaggi dal 08 marzo 2012
Ciao,

su un applicativo web mi hanno chiesto la possibilità di fare autenticazione con utenze AD.
Nello specifico la mia applicazione sta su Azure e quello che vorrei fare è realizzare un batch/servizio da dare al cliente che si connette al loro AD e mi "copia" le utenze sul mio applicativo.
Ovviamente so bene che la password non potrei leggerla ma penso che anche questa possa essere trasportata crittografati così com'è, senza possibilità di leggerla direttamente.

Ci sono diversi applicativi che applicano una soluzione del genere, per esempio ricordo Salesforce (CRM) che da la possibilità di alimentare le proprie utenze tramite un batch che legge AD, ma in sola lettura.
Ovvero per esempio non posso cambiare password via web.

Avete esperienza in merito e/o librerie da consigliare?

Grazie!
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


realizzare un batch/servizio da dare al cliente che si connette al loro AD e mi "copia" le utenze sul mio applicativo.

Meglio di no. Io ti consiglio di non esporti a questo genere di responsabilità.
Fagli usare Azure Active Directory. Ci pensa lui a replicare le utenze nel cloud. Poi registri la tua applicazione e avrai accesso all'identità dell'utente senza che tu debba fare nulla di complesso o rischioso.
https://azure.microsoft.com/it-it/services/active-directory/

Ciao,
Moreno

Enjoy learning and just keep making
234 messaggi dal 08 marzo 2012
Eh conosco Azure Ad ma la soluzione di cui necessito è diversa, nel senso che devo permettere di configurare tutto dall'applicazione web che fornisco, senza tirare in ballo altro, anche perché tutto lavora in un multi tenant che quindi complica le configurazioni e personalizzazioni "one to one".

E se invece scrivessi un servizio Windows che porta su le utenze, senza password, ed esponesse anche in HTTPS un microservizio richiamabile dal cloud al momento dell'autenticazione?

Unica cosa che andrebbe fatta è permettere a questo servizio di leggere l'AD e ti stare in ascolto su una porta configurabile e raggiungibile dall'esterno.

Come ti sembra?
11.886 messaggi dal 09 febbraio 2002
Contributi
Non mi piace come idea, perché costringi il tuo cliente ad esporre una superficie di attacco e metti te stesso nella (difficile) situazione di convincere i sysadmin ad installare un'applicazione che "non si sa cosa fa".


ti stare in ascolto su una porta configurabile e raggiungibile dall'esterno.

Qualcuno potrebbe scoprire l'esistenza del servizio e inviare una miriade di richieste per cercare di entrare in possesso delle credenziali con la forza bruta.
Azure AD invece ha delle protezioni contro questo genere di attacchi.
https://docs.microsoft.com/it-it/azure/active-directory/authentication/howto-password-smart-lockout

In generale, quando c'è di mezzo la sicurezza, io mi affiderei a chi fa questo per mestiere. Io per lo meno faccio così anche perché non sono neanche pienamente consapevole di tutti i tipi di attacco a cui può essere soggetto un servizio del genere.
È vero che Azure AD ha dei costi ma quanto ti costerebbe un security breach? Qui devi essere bravo tu (o chi per te) a sensibilizzare il cliente e fargli capire il valore che c'è dietro questo costo.

Poi, oh, esistono anche delle aziende che, nonostante il tuo impegno, ti dicono "questi problemi a noi non capiteranno mai" e allora puoi anche andare alla grande con un servizio esposto sulla porta 80. Però fagli firmare una lettera di assunzione di responsabilità e un'altra in cui dici che gli hai fatto capire quali sono i rischi a cui andava incontro.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.