Utilizzare LDAP per l'autenticazione MySQL?


15

Eseguiamo una dozzina di server MySQL diversi per i nostri utenti. Questi usano la versione gratuita / Open Source di MySQL, non la versione commerciale. Gestire le password degli account su questi server è doloroso.

Ci sono plugin che ci permetterebbero di usare LDAP per aiutare a gestire i privilegi di MySQL? Come minimo, vorremmo ottenere alcuni nomi utente e password dai server LDAP.

Stiamo usando MySQL 5.1 e 5.5. Potremmo essere disposti ad aggiornare a MySQL 5.6 se è necessario per ottenere questa funzionalità.

Preferiremmo che tutti gli strumenti fossero basati sulla CLI e non richiedessero una GUI o un'interfaccia web.

Risposte:


14

Enterprise MySQL (la versione che si paga a Oracle per la licenza) ha un modulo PAM che consente l'autenticazione LDAP: https://dev.mysql.com/doc/refman/5.5/en/pam-pluggable-authentication.html

MariaDB (una versione binaria compatibile di MySQL sviluppata da Monty) ha a disposizione un modulo PAM open source: http://kb.askmonty.org/en/pam-authentication-plugin/

Non ho esperienza diretta con nessuno dei due - li presento solo come funzionalità di cui ho sentito parlare ma che non ho testato o usato da solo.




5

MySQL ha un plug-in di autenticazione PAM che ti consentirà di utilizzare qualsiasi modulo PAM disponibile per fornire servizi di autenticazione. C'è un pam_ldapmodulo che è relativamente facile da configurare che dovrebbe permetterti di fare quello che vuoi.

La documentazione del plug-in include un esempio usando LDAP .


Sai se questo supporterà l'autenticazione basata su Kerberos?
Saqib Ali,

Non ne ho idea. Credo che un plugin GSSAPI esista almeno per mariadb, ma non ho alcuna esperienza personale con questo.
Larks


2

Puoi migrare le tue installazioni su Percona Server e usare uno di questi due modi per connettere MySQL a LDAP tramite PAM:

  • Plug-in PAM completo chiamato auth_pam. Questo plugin utilizza dialog.so. Supporta pienamente il protocollo PAM con comunicazione arbitraria tra client e server.

  • PAM compatibile con Oracle chiamato auth_pam_compat. Questo plugin utilizza mysql_clear_password che fa parte del client Oracle MySQL. Ha anche alcune limitazioni, ad esempio, supporta solo un input di password. È necessario utilizzare l'opzione "-p" per passare la password a auth_pam_compat.

http://www.percona.com/doc/percona-pam-for-mysql/intro.html

Stiamo utilizzando auth_pam_compatma devi ricordare che il client deve supportare il plug-in di autenticazione lato client Cleartext


1

Ora entro la fine del 2017, posso suggerire questo:

https://www.percona.com/doc/percona-server/LATEST/management/pam_plugin.html

Percona PAM Authentication Plugin è un'implementazione gratuita e Open Source del plugin di autenticazione di MySQL. Questo plugin funge da mediatore tra il server MySQL, il client MySQL e lo stack PAM. Il plug-in del server richiede l'autenticazione dallo stack PAM, inoltra al client tutte le richieste e i messaggi dallo stack PAM tramite il filo (in chiaro) e legge le risposte per lo stack PAM.

NON è testato e non ci ho mai lavorato, volevo suggerirlo perché potrebbe essere buono.


"in chiaro" - non utilizzare questo.
h0tw1r3,

@ h0tw1r3, Perché? ِ In realtà lo trovo un po 'non adatto all'uso, ma sono interessato a sentire la tua opinione. Esiste un'alternativa open source per il plug-in PAM commerciale?
Mohammed Noureldin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.