LDAP consente un'autentica autenticazione centralizzata, ma può portare a pratiche di sicurezza compiacenti?

2

Supponiamo che tu lavori per LargeCorp, hai un accesso LDAP per accedere al tuo desktop, accedere a varie applicazioni interne, ecc.

È conveniente perché non devi gestire autonomamente l'autenticazione per ogni applicazione che usi; questo è conveniente per entrambi - non è necessario ricordare dieci diverse password e per gli sviluppatori, che non hanno bisogno di implementare la propria autenticazione.

Il problema è - diciamo che qualcuno mi indica un'applicazione che richiede il mio nome utente e password LDAP - come posso essere sicuro che questo non sia un tentativo di phishing da parte di qualcuno all'interno dell'organizzazione? Dopotutto, si tratta di una grande coroperation, non mi posso fidare che gli sviluppatori non siano incompetenti / malevoli.

L'esempio plausibile che riesco a pensare è che un dipendente scontento manda al suo manager un link a un'applicazione interna: "Ehi capo, dai un'occhiata a questo nuovo strumento che abbiamo creato". Boss accede con le sue credenziali LDAP e il dipendente scontento ora usa le credenziali del capo per leggere le email del suo capo.

Out in the wild - ti consigliamo di utilizzare una password diversa per ogni sito web che utilizzi, quindi (supponendo che abbia una password perfettamente casuale) non ci sarebbero rischi per gli altri miei accessi accedendo a questo sito. Ma con LDAP devo usare la stessa password.

Quale principio di sicurezza esiste che giustifica la centralizzazione LDAP?

    
posta dwjohnston 14.06.2016 - 02:24
fonte

2 risposte

2

LDAP dovrebbe essere utilizzato solo su una rete interna. Pertanto, tutti i servizi che lo utilizzano dovrebbero essere sulla rete interna e dovrebbero essere protetti dall'accesso esterno. In effetti, dovresti assicurarti di avere regole firewall specifiche per impedire l'accesso LDAP da Internet, né provare a utilizzare LDAP su un sito Web su Internet. Semplicemente non è sicuro per questi scopi. Infine, gli utenti devono utilizzare una password LDAP diversa dai siti che frequentano e la rete deve essere configurata in modo da richiedere una nuova password non più di una volta ogni 90 giorni (72 è il massimo consigliato). Finché LDAP è protetto da un firewall, è logico che tutte le app interne utilizzino lo stesso protocollo per ridurre al minimo il numero di password da impostare.

Detto questo, non posso, in buona coscienza, raccomandare LDAP per quasi tutto. È un vecchio vecchio protocollo e da allora ha avuto un numero di successori utili, come JWT, SAML e OAuth, che non solo ti permettono di usare solo una password, ma assicurano anche che la tua password sia mai visibile al servizio che richiede l'autenticazione. L'unica cosa che ottiene il servizio è un token univoco che verifica che tu sia chi dici di essere, oltre a un identificatore univoco che potrebbe non essere nemmeno correlato al tuo vero nome utente. Gli utenti possono inoltre revocare in genere questi token in qualsiasi momento e verificare che un'app sia autorizzata a utilizzare tali token tramite "concessioni".

    
risposta data 14.06.2016 - 05:24
fonte
0

Normalmente proteggi il tuo LDAP dall'accesso anonimo, quindi tutte le richieste vengono fatte da un account, non solo una richiesta sparata su un server.

Anche se LDAP è uno standard (che ha resistito alla prova del tempo come hanno HTTP e SSH) la sua struttura non è "standard" ci sono molti modi per implementare dove e come un utente autentica, sia nei nomi dei campi che in metodologia.
Per quanto riguarda il problema di fiducia. Si, si suppone che LDAP sia utilizzato solo su una LAN e solo in luoghi in cui si suppone che richieda le proprie credenziali LDAP. Questo non è tuttavia diverso da qualsiasi altro schema di credenziali.
Non sono d'accordo con @phyrfox anche se non consiglio LDAP. come protocollo è solido e ha resistito per molti più anni di tutte le alternative che elenca. Vorrei aggiungere che si dovrebbe usare solo un LDAP protetto con TLS con accesso al client e area di accesso separata (quindi quando un'applicazione ha bisogno solo del proprio nome per visualizzare la lattina in effetti non vede altri dettagli su di te).

LDAP è un protocollo da eliminare con facilità come prima. ma il più delle volte le persone che lo fanno non hanno approfondito abbastanza in profondità il funzionamento del protocollo e ciò che può offrire. Le altre tecnologie come JWT oAuth (2) e SAML in realtà aumentano l'LDAP non la sostituiscono. nemmeno OpenId Connect fa. che viene più vicino a tutti loro.

È importante rendersi conto che LDAP è un protocollo di directory e non un protocollo di autenticazione o autorizzazione. mentre è possibile utilizzarlo per queste cose, bisogna fare attenzione a non introdurre punti deboli nel sistema.

Per chi non è chiaro su cosa sia una directory, è un elenco di proprietà. Come una directory di file c'è una lista di file con alcune informazioni metriche su di essi (quando è stata fatta, che nome ha, ecc.) Un buon esempio di Directory sono le pagine gialle o altre rubriche.

    
risposta data 14.06.2016 - 10:36
fonte

Leggi altre domande sui tag