Servizio directory con OpenLDAP [7 e finale?]: Ldap Account Manager

Ciao amici!. Non abbiamo voluto pubblicare questo articolo in quanto è contenuto nel compendio in formato PDF che molti lettori hanno richiesto. Sì, scriveremo un riassunto con aggiunte interessanti. E come anteprima di questo compendio, trascriviamo il file Introduzione:

Molte persone responsabili dei servizi nelle reti aziendali, quando prendono in carico una rete i cui servizi sono basati su prodotti Microsoft, se vogliono migrare a Linux, considerano la migrazione dei controller di dominio tra gli altri servizi.

Se non scelgono un prodotto di terze parti come ClearOS o Zentyal, o se per altri motivi desiderano diventare indipendenti, intraprendono il compito scrupoloso di diventare il proprio controller di dominio, o da Samba 4-o altro- la propria Active Directory.

Poi iniziano i problemi e alcune altre delusioni. Errori di funzionamento. Non trovano l'ubicazione dei problemi per poterli risolvere. Ripetuti tentativi di installazione. Operazioni parziali dei servizi. E una lunga lista di problemi.

Se guardiamo da vicino, la maggior parte di Internet non utilizza reti di tipo Microsoft. Tuttavia, nel nostro ambiente lavorativo lo facciamo molto.

Con questo compendio cerchiamo di dimostrare che possiamo creare una rete aziendale senza la filosofia Microsoft. Servizi basati sull'autenticazione degli utenti su una directory OpenLDAP come: posta elettronica, FTP, SFTP, cloud aziendale basato su Owncloud, ecc.

Aspiriamo a offrire un approccio diverso basato sul Software Libero al 100%, e che non usi o emuli - il che è lo stesso - la filosofia delle reti Microsoft, sia con Microsoft Software, sia con OpenLDAP e Samba come principali.

Tutte le soluzioni che utilizzano il software gratuito Openldap + Samba, passano necessariamente attraverso la conoscenza di base di cosa è un server LDAP, come viene installato, come viene configurato e amministrato, ecc. Successivamente integrano Samba e forse Kerberos, e alla fine ci offrono di "emulare" un controller di dominio nello stile di NT 4 di Microsoft, o un Active Directory.

Compito davvero difficile quando lo implementiamo e lo configuriamo dai pacchetti del repository. Chi ha studiato e applicato l'ampia documentazione di Samba, sa molto bene cosa intendiamo. Samba 4 propone addirittura l'amministrazione della propria Active Directory utilizzando la classica console di amministrazione che troviamo in una Microsoft Active Directory, sia essa 2003 o un'altra più avanzata.

Lettura consigliata.

https://wiki.debian.org/LDAP
Guida dell'amministratore del software OpenLDAP 2.4
Ubuntu ServerGuida 12.04
Configurazione del server con GNU / Linux.

Ottimo manuale che El Maestro, Joel Barrios Dueñas ci fornisce e che serve molto bene i giocatori Debian, sebbene sia orientato a CentOS e Red Hat.

Quali servizi e software intendiamo installare e configurare?

  • NTP, DNS e DHCP indipendenti, ovvero gli ultimi due non sono integrati nella directory
  • Directory Service o «Servizio di directory»Basato su OpenLDAP
  • Posta elettronica, suite di lavoro di gruppo "Citadel", FTP e SFTP,
  • Business Cloud «OwnCloud«
  • File server indipendente basato su Samba.

In tutti i casi, il processo di autenticazione delle credenziali degli utenti verrà eseguito direttamente o tramite la Directory libnss-ldap y PAM a seconda delle caratteristiche del software in questione.

E senza ulteriori indugi, mettiamoci al lavoro.

Account Manager LDAP

Prima di continuare, dobbiamo leggere:

Chi ha seguito la serie di articoli precedenti avrà notato che abbiamo GIÀ una Directory da gestire. Possiamo ottenere ciò in molti modi, sia tramite le utilità della console raggruppate nel pacchetto ldapscripts, le interfacce web phpLDAPadmin, Account Manager LDAP, ecc. che si trovano nel repository.

C'è anche la possibilità di farlo tramite Studio directory Apache, che dobbiamo scaricare da Internet. Pesa circa 142 megabyte.

Per gestire la nostra Directory, consigliamo vivamente di utilizzare il Account Manager LDAP. E la prima cosa che diremo al riguardo è che dopo la sua installazione, possiamo accedervi documentazione che si trova nella cartella / usr / share / doc / ldap-account-manager / docs.

da Account Manager LDAP, d'ora in poi LAM, possiamo gestire gli account utente e di gruppo memorizzati nella nostra Directory. Il LAM funziona su qualsiasi server di pagine Web che supporti PHP5 e possiamo collegarci ad esso tramite un canale non crittografato o tramite InizioTLS, che è il modulo che useremo nel nostro esempio.

Installazione e configurazione iniziali:

: ~ # aptitude install ldap-account-manager

Dopo l'installazione di Apache2 -apache2-mpm-preforcella-, da PHP5 e altre dipendenze e dal pacchetto stesso ldap-account managerLa prima cosa che dobbiamo fare è creare un collegamento simbolico dalla cartella della documentazione di LAM alla cartella principale dei documenti sul nostro server web. Esempio:

: ~ # ln -s / usr / share / doc / ldap-account-manager / docs / manual / / var / www / lam-docs

In questo modo garantiamo l'accesso al manuale LAM tramite un web browser, se puntiamo all'indirizzo http://mildap.amigos.cu/lam-docs.

Successivamente, iniziamo a configurare il LAM stesso. In un browser puntiamo a http://mildap.amigos.cu/lam.

  • Facciamo clic sul collegamento "Configurazione LAM".
  • Clicca sul link "Modifica i profili del server".
  • Digitiamo la password 'La m' senza virgolette.

Nelle pagine di configurazione del LAM possiamo modificare molti parametri in base alle nostre preferenze ed esigenze. Poiché ho sempre consigliato di passare dal semplice al complesso, e non viceversa, toccheremo solo ciò che è strettamente necessario per utilizzare il potente strumento che è LAM. Se dopo essere stati Master nel suo utilizzo, vogliamo modificare o aggiungere funzionalità, allora benvenuto.

  • Attiva TLS: -Consigliato-.
  • Suffisso albero: dc = amici, dc = cu
  • Lingua di default: Español (Spagna)
  • Elenco di utenti validi *: cn = admin, dc = friends, dc = cu
  • Nuova password: password diversa da lam
  • Reinserire la password: password diversa da lam

Nota: L ' * 'significa che è una voce obbligatoria.

In basso a sinistra ci sono i pulsanti ^ Salva y ^ Annulla. Se salviamo le modifiche ora, ci tornerà alla pagina iniziale e possiamo vedere che la lingua è già cambiata e che il nome dell'utente è ora Admin. Prima era direttore. Tuttavia, torniamo indietro per modificare il -ora in spagnolo- "Ambientazione. del LAM ». Dopo essere tornati nella pagina di configurazione, faremo quanto segue:

  • Selezioniamo la scheda "Tipi di account".
  • Nella sezione "Tipi di account attivi" -> "Utenti" -> "Suffisso LDAP", abbiamo scritto: ou = persone, dc = amici, dc = cu.
  • Nella sezione "Tipi di account attivi" -> "Gruppi" -> "Suffisso LDAP", abbiamo scritto: ou = gruppi, dc = amici, dc = cu.
  • Utilizzando i pulsanti denominati '^ Rimuovi questo tipo di account', eliminiamo quelli corrispondenti a 'Attrezzature' y "Domini Samba", che non useremo.
  • Selezioniamo la scheda "Moduli".
  • En "Utenti", sulla lista "Moduli selezionati", spostiamo il modulo "Samba 3 (sambaSamAccount)" all'elenco di "Moduli disponibili".
  • En "Gruppi", sulla lista "Moduli selezionati", spostiamo il modulo "Samba 3 (sambaGroupMapping)" all'elenco di "Moduli disponibili".

Per ora, e fino a quando non avremo familiarizzato con la configurazione LAM, non ci fermeremo.

Salviamo le modifiche e torniamo alla pagina iniziale, dove dobbiamo digitare la password dell'utente Admin (cn = admin, dc = friends, dc = cu), dichiarato durante l'installazione di schiaffo. Se restituisci un errore, controlla che il file /etc/ldap/ldap.conf è configurato correttamente sul server stesso. Potresti avere il percorso sbagliato per il certificato TLS o un altro errore. Ricorda che dovrebbe assomigliare a questo:

BASE dc = friends, dc = cu URI ldap: //mildap.amigos.cu # Certificati TLS (necessari per GnuTLS) TLS_CACERT /etc/ssl/certs/cacert.pem

Una volta all'interno del LAM, dobbiamo dedicare del tempo allo studio PRIMA di modificare qualsiasi configurazione. La sua interfaccia è molto intuitiva e facile da usare. Usalo e controlla.

osservazione: Nel documento http://mildap.amigos.cu/lam-docs/ch02s02.html#confTypicalScenarios, possiamo leggere alla fine:

Directory LDAP singola con molti utenti (> 10)
LAM è stato testato per funzionare con 10 utenti. Se hai molti più utenti, hai fondamentalmente due opzioni.

  • Dividi il tuo albero LDAP in unità organizzative: questa è solitamente l'opzione con le migliori prestazioni. Metti i tuoi account in diverse unità organizzative e imposta LAM come nello scenario avanzato sopra.
  • Aumenta il limite di memoria: aumenta il parametro memory_limit nel tuo php.ini. Ciò consentirà a LAM di leggere più voci. Ma questo rallenterà i tempi di risposta di LAM.

Cerchiamo di essere creativi e ordinati nell'amministrazione della nostra directory.

Criteri di sicurezza delle password e altri aspetti tramite LAM

  • Facciamo clic sul collegamento «Configurazione LAM».
  • Clicca sul link "Modifica impostazioni generali".
  • Digitiamo la password 'La m' senza virgolette.

E in quella pagina troviamo i criteri per le password, le preferenze di sicurezza, gli host consentiti e altri.

Nota: La configurazione LAM viene salvata in /usr/share/ldap-account-manager/config/lam.conf.

Abilitiamo https per connettersi al LAM in modo sicuro:

: ~ # a2ensite default-ssl
: ~ # a2enmod ssl
: ~ # /etc/init.d/apache2 riavvio

Quando abilitiamo https nel modo precedente, stiamo lavorando con i certificati che Apache genera per impostazione predefinita e li riflette nella definizione del suo host virtuale default-ssl. Se vogliamo utilizzare altri certificati generati da noi stessi, per favore e facci consultare /usr/share/doc/apache2.2-common/README.Debian.gz. Vengono chiamati i certificati in questione "Olio di serpente" o Snake Oil, e si trovano in:

/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key

Puntiamo il browser su https://mildap.amigos.cue accettiamo il certificato. Quindi indichiamo https://mildap.amigos.cu/lam e possiamo già lavorare tramite https il LAM.

Importante: se durante il processo di avvio del server, il file exim richiede molto tempo per iniziare, installare il sostituto leggero smtp.

: ~ # aptitude install ssmtp
 Verranno installati i seguenti NUOVI pacchetti: ssmtp {b} 0 pacchetti aggiornati, 1 nuovo installato, 0 da rimuovere e 0 non aggiornato. Devo scaricare 52,7 kB di file. Dopo aver decompresso verrà utilizzato 8192 B. Le dipendenze dei seguenti pacchetti non sono soddisfatte: exim4-config: Conflicts: ssmtp ma verrà installato 2.64-4. exim4-daemon-light: Conflicts: mail-transport-agent che è un pacchetto virtuale. ssmtp: Conflicts: mail-transport-agent che è un pacchetto virtuale. Le seguenti azioni risolveranno queste dipendenze Rimuovere i seguenti pacchetti: 1) exim4 2) exim4-base 3) exim4-config 4) exim4-daemon-light Accetti questa soluzione? [S / n / q /?] E

Quindi eseguiamo:

: ~ # aptitude purge ~ c: ~ # aptitude clean: ~ # aptitude autoclean: ~ # riavvio

Se stai lavorando con server virtuali, questo sarebbe un ottimo momento per fare un buon backup dell'intero server principale ... per ogni evenienza. 🙂

Replica. Salvare e ripristinare il database delle directory.

Nell'ottima guida -che consigliamo a tutti di leggere e studiare- «Guida al server Ubuntu»Da Ubuntu Server 12.04« Preciso », c'è una spiegazione dettagliata di parti del codice che abbiamo scritto su OpenLDAP e la generazione di certificati TLS, inoltre, la replica della directory è discussa in grande dettaglio e come eseguire il salvataggio e il ripristino dei database.

Tuttavia, ecco una procedura per ripristinare l'intero database in caso di disastro.

Molto importante:

Dobbiamo SEMPRE avere il file esportato a portata di mano tramite l'Ldap Account Manager come backup dei nostri dati. Ovviamente il file cn = amigos.ldif deve corrispondere alla nostra installazione. Possiamo anche ottenerlo tramite il comando slapcat come vedremo più avanti.

1.- Eliminiamo solo l'installazione slapd.

: ~ # aptitude purge slpad

2.- Puliamo il sistema dei pacchetti

: ~ # aptitude install -f: ~ # aptitude purge ~ c: ~ # aptitude clean: ~ # aptitude autoclean

3.- Eliminiamo completamente il database delle directory

: ~ # rm -r / var / lib / ldap / *

4.- Reinstalliamo il demone slapd e le sue dipendenze

: ~ # aptitude install slapd

5.- Controlliamo

: ~ # ldapsearch -Q -LLL -Y EXTERNAL -H ldapi: /// -b cn = config dn: ~ # ldapsearch -x -LLL -H ldap: /// -b dc = friends, dc = cu dn

6.- Aggiungere lo stesso file di indice olcDbIndex.ldif

: ~ # ldapmodify -Y ESTERNO -H ldapi: /// -f ./olcDbIndex.ldif

7.- Controlliamo gli indici aggiunti

: ~ # ldapsearch -Q -LLL -Y ESTERNO -H ldapi: /// \ -b cn = config '(olcDatabase = {1} hdb)' olcDbIndex

8.- Aggiungiamo la stessa regola di controllo degli accessi

: ~ # ldapmodify -Y EXTERNAL -H ldapi: /// -f ./olcAccess.ldif

9.- Controlliamo le regole di controllo degli accessi

: ~ # ldapsearch -Q -LLL -Y ESTERNO -H ldapi: /// \ -b cn = config '(olcAccess = *)' olcAccess olcSuffix

10.- Aggiungiamo i certificati TLS. Non è necessario ricostruire o correggere le autorizzazioni. Esistono già nel filesystem, ma non sono dichiarati nel database.

: ~ # ldapmodify -Y ESTERNO -H ldapi: /// -f /etc/ssl/certinfo.ldif

11.- Aggiungiamo il contenuto in base al nostro backup

: ~ # ldapadd -x -D cn = admin, dc = friends, dc = cu -W -f dc = friends.ldif

NON riavviare lo slapd perché sta indicizzando il database e può essere danneggiato !!! Modificare SEMPRE il file di backup PRIMA di aggiungerlo, per evitare di inserire voci esistenti.

Puntiamo in un browser a https://mildap.amigos.cu/lam e controlliamo.

Il comando slapcat

Il comando schiaffeggiata Viene utilizzato principalmente per generare in formato LDIF, il contenuto del database che gestisce i file schiaffo. Il comando apre il database determinato dal suo numero o suffisso e scrive sullo schermo il file corrispondente in formato LDIF. Vengono visualizzati anche i database configurati come subordinati, a meno che non specifichiamo l'opzione -g.

La limitazione più importante dell'uso di questo comando è che non dovrebbe essere eseguito quando il schiaffo, almeno in modalità di scrittura, per garantire la coerenza dei dati.

Ad esempio, se vogliamo fare una copia di backup del database Directory, in un file denominato backup-slapd.ldif, eseguiamo:

: ~ # service slapd stop: ~ # slapcat -l backup-slapd.ldif: ~ # service slapd start

Immagini LAM

lam-01

lam-02

lam-03

lam-04

lam-05

lam-06


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   jose antonio suddetto

    Ottimo contributo, mi è piaciuto molto, e anche la lettura consigliata.
    Stava cercando un articolo simile senza molto successo.

    Ti do un 10 😉

    1.    federico suddetto

      Grazie per aver commentato e valutato i miei articoli !!!

  2.   usiamo linux suddetto

    Interessante! Ancora una volta ottimo contributo, Fico!
    Abbraccio! Paolo.

    1.    federico suddetto

      Grazie mille per il tuo commento e apprezzamento, amico Pablo !!! Spero sia utile a chi ne ha bisogno.

  3.   vidagnu suddetto

    Ottimo contenuto! Grazie ancora per la condivisione.

    saluti

    1.    federico suddetto

      Grazie per il commento !!!

  4.   cacciatore suddetto

    Homerun Fico !! E il pdf ufficiale di quando sarà pronto?

    1.    federico suddetto

      Saluti dhunter !!!. Immagina che oltre a contenere i 7 post pubblicati finora, includerò come integrare un server di posta base basato su CITADEL; FTP, servizi SFTP; un Business Cloud basato su OwnCloud; un server Samba autonomo con utenti di sistema tramite libnss-ldap e PAM, e così via. Traccia le tue conclusioni. 🙂 Penso che entro la fine di marzo o l'inizio di aprile.

      1.    guzmanweb suddetto

        Ciao Federico, grazie per il contributo, non vediamo l'ora. con l'aggiornamento ..

        1.    federico suddetto

          Farò uno sforzo per finirlo entro la fine di questo mese. Non è per niente facile scrivere un libro anche se si tratta di poche pagine.

  5.   nexus6 suddetto

    Posso solo dire che dei contributori a questo blog, mi sembri il più interessante, il meglio spiegato e il più vicino di TUTTI.

    1.    federico suddetto

      Grazie mille per la tua revisione. In ogni articolo che scrivo faccio del mio meglio, perché so che ci sono sempre lettori come te, nonostante tanti che non commentano.
      Saluti Nexus6 !!!

  6.   edgar suddetto

    Buon pomeriggio, ogni volta che consulto la rete su ldap ti trovo a dare consigli, che mi congratulo per la tua intenzione, ora sono nuovo a questo e come tutti desiderosi di imparare
    Questa è la domanda
    I miei amici mi dicono che quando la rete è disconnessa, il sistema operativo già autenticato con ldap cambia la mia lingua in inglese che puoi dirmi dove devo controllare quale file controllare in modo che sia in spagnolo che il mio utente viene inizializzato di nuovo aggiunto in LDAP in anticipo grazie per l'aiuto

  7.   pedrop suddetto

    Ottima post come al solito Federico. Stavo leggendo che stavi commentando qualcosa relativo a un PDF con la configurazione della maggior parte dei servizi telematici utilizzati in una rete aziendale. Hai detto che entro la fine di marzo o l'inizio di aprile dello scorso anno sarebbe stato pronto. La mia domanda è se in quel momento sei riuscito a finirlo e caricarlo? Grazie in anticipo, alla fine proverò Openfire, vedo che ha anche un'interfaccia web per il 9090.

    1.    Federico A. Valdes Toujague suddetto

      Grazie per i tuoi commenti, Pedro Pablo. Invece di risponderti ampiamente, ho scritto un articolo che leggerai oggi o domani. Lettori riconoscenti come te meritano una risposta. Grazie ancora.