Directory Service met OpenLDAP [7 en definitief?]: Ldap Account Manager

Hallo vrienden!. We wilden dit artikel niet publiceren omdat het in het compendium in pdf-formaat staat waar veel lezers om hebben gevraagd. Ja, we zullen een samenvatting schrijven met interessante aanvullingen. En als voorbeeld van dit compendium, transcriberen we het Introducción:

Veel mensen die verantwoordelijk zijn voor services in bedrijfsnetwerken, als ze de leiding nemen over een netwerk waarvan de services zijn gebaseerd op Microsoft-producten, als ze willen migreren naar Linux, overwegen ze de migratie van Domain Controllers naast andere services.

Als ze niet kiezen voor een product van een derde partij, zoals ClearOS of Zentyal, of als ze om andere redenen onafhankelijk willen worden, dan nemen ze de nauwgezette taak op zich om hun eigen Domain Controller te worden, of van Samba 4 -of anders- hun eigen Active Directory.

Dan beginnen de problemen en enkele andere teleurstellingen. Bedieningsfouten. Ze vinden de locatie van de problemen niet om ze op te lossen. Herhaalde installatiepogingen. Gedeeltelijke werking van de services. En een lange lijst met problemen.

Als we goed kijken, maakt het meeste internet geen gebruik van netwerken van het type Microsoft. In onze zakelijke omgeving doen we echter veel.

Met dit compendium proberen we te laten zien dat we een zakelijk netwerk kunnen maken zonder de Microsoft filosofie. Diensten gebaseerd op authenticatie van gebruikers tegen een OpenLDAP Directory zoals: E-mail, FTP, SFTP, Business Cloud gebaseerd op Owncloud, etc.

We streven ernaar een andere benadering aan te bieden op basis van 100% Vrije Software, en die gebruikt of emuleert - wat in dit geval hetzelfde is - niet de filosofie van Microsoft-netwerken, hetzij met Microsoft Software, hetzij met OpenLDAP en Samba als belangrijkste.

Alle oplossingen die de gratis software Openldap + Samba gebruiken, gaan noodzakelijkerwijs door de basiskennis van wat een LDAP-server is, hoe deze wordt geïnstalleerd, hoe deze wordt geconfigureerd en beheerd, enz. Later integreren ze Samba en mogelijk Kerberos, en uiteindelijk bieden ze ons aan om een ​​Domain Controller te "emuleren" in de stijl van Microsoft's NT 4, of een Active Directory.

Moeilijke taak inderdaad wanneer we het implementeren en configureren vanuit de repository-pakketten. Degenen die de uitgebreide documentatie van Samba hebben bestudeerd en toegepast, weten heel goed wat we bedoelen. Samba 4 stelt zelfs het beheer van uw Active Directory voor door gebruik te maken van de klassieke beheerconsole die we vinden in een Microsoft Active Directory, of het nu 2003 is of een andere geavanceerdere console.

Aanbevolen lectuur.

https://wiki.debian.org/LDAP
OpenLDAP Software 2.4 Beheerdershandleiding
Ubuntu-serverhandleiding 12.04
Serverconfiguratie met GNU / Linux.

Uitstekende handleiding die El Maestro, Joel Barrios Dueñas ons geeft en die Debian-spelers erg goed van pas komt, hoewel het gericht is op CentOS en Red Hat.

Welke services en software zijn we van plan te installeren en configureren?

  • Onafhankelijke NTP, DNS en DHCP, dat wil zeggen, de laatste twee zijn niet geïntegreerd in de Directory
  • Directory Service of «Directoryservice»Gebaseerd op OpenLDAP
  • E-mail, "Citadel" Group Work Suite, FTP en SFTP,
  • Business Cloud «ownCloud«
  • Onafhankelijke bestandsserver gebaseerd op Samba.

In alle gevallen zal het authenticatieproces van de inloggegevens van de gebruikers rechtstreeks of via de Directory worden uitgevoerd libnss-ldap y PAM afhankelijk van de kenmerken van de software in kwestie.

En laten we zonder verder oponthoud aan de slag gaan.

Ldap-accountmanager

Voordat we verder gaan, moeten we lezen:

Degenen die de reeks voorgaande artikelen hebben gevolgd, zullen hebben gemerkt dat we REEDS een Directory hebben om te beheren. We kunnen dit op veel manieren bereiken, hetzij via de console-hulpprogramma's die in het pakket zijn gegroepeerd ldapscripts, de webinterfaces PHPLDAPAdmin, Ldap-accountmanager, etc., die in de repository staan.

Er is ook de mogelijkheid om het te doen via de Apache Directory Studio, die we van internet moeten downloaden. Hij weegt ongeveer 142 megabyte.

Om onze Directory te beheren, raden we het gebruik van de Ldap-accountmanager. En het eerste dat we erover zullen zeggen, is dat we na de installatie toegang hebben tot het documentatie die zich in de map bevindt / usr / share / doc / ldap-accountmanager / docs.

door Ldap-accountmanager, voortaan LAMkunnen we gebruikers- en groepsaccounts beheren die zijn opgeslagen in onze Directory. Het LAM draait op elke webpagina-server die PHP5 ondersteunt, en we kunnen er verbinding mee maken via een niet-versleuteld kanaal, of via StartTLS, dat is het formulier dat we in ons voorbeeld zullen gebruiken.

Eerste installatie en configuratie:

: ~ # aptitude installeer ldap-account-manager

Na de installatie van het Apache2 -apache2-mpm-prefork-, van PHP5 en andere afhankelijkheden, en van het pakket zelf ldap-accountmanageris het eerste wat we moeten doen een symbolische link maken van de LAM-documentatiemap naar de hoofdmap van de documenten op onze webserver. Voorbeeld:

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

Op deze manier garanderen we toegang tot de LAM-handleiding via een webbrowser, als we naar het adres verwijzen http://mildap.amigos.cu/lam-docs.

Laten we vervolgens beginnen met het configureren van de LAM zelf. In een browser verwijzen we naar http://mildap.amigos.cu/lam.

  • We klikken op de link "LAM-configuratie".
  • Klik op de link "Serverprofielen bewerken".
  • We typen het wachtwoord 'Hen' zonder de aanhalingstekens.

Op de LAM-configuratiepagina's kunnen we veel parameters aanpassen aan onze voorkeuren en behoeften. Omdat ik altijd heb aanbevolen om van het eenvoudige naar het complexe te gaan, en niet andersom, zullen we alleen aanraken wat strikt noodzakelijk is om de krachtige tool LAM te gebruiken. Als we, nadat we Masters zijn geworden in het gebruik ervan, functionaliteiten willen wijzigen of toevoegen, dan zijn we welkom.

  • TLS activeren: ja -Aanbevolen-.
  • Boom achtervoegsel: dc = vrienden, dc = cu
  • Standaard taal: Español (Spanje)
  • Lijst met geldige gebruikers *: cn = admin, dc = vrienden, dc = cu
  • Nieuw paswoord: ander wachtwoord dan lam
  • Voer paswoord opnieuw in: ander wachtwoord dan lam

Opmerking: De ' * 'betekent dat het een verplichte vermelding is.

Linksonder zijn de knoppen ^ Opslaan y ^ Annuleren. Als we de wijzigingen nu opslaan, keert het ons terug naar de oorspronkelijke pagina en kunnen we zien dat de taal al is gewijzigd en dat de gebruikersnaam nu is beheerder. Vroeger was Manager. Laten we echter teruggaan om de -nu in het Spaans- te bewerken "Instelling. van het LAM ». Nadat we weer op de configuratiepagina zijn, gaan we het volgende doen:

  • We selecteren het tabblad 'Soorten accounts'.
  • In de sectie 'Actieve accounttypes' -> 'Gebruikers' -> 'LDAP-achtervoegsel', we schreven: ou = Mensen, dc = vrienden, dc = cu.
  • In de sectie 'Actieve accounttypes' -> 'Groepen' -> 'LDAP-achtervoegsel', we schreven: ou = groepen, dc = vrienden, dc = cu.
  • Gebruik de knoppen met de titel '^ Verwijder dit type account', elimineren we degene die overeenkomen met 'Teams' y 'Samba-domeinen', die we niet zullen gebruiken.
  • We selecteren het tabblad 'Modules'.
  • En 'Gebruikers', op de lijst 'Geselecteerde modules', we verplaatsen de module 'Samba 3 (sambaSamAccount)' naar de lijst met 'Beschikbare modules'.
  • En 'Groepen', op de lijst 'Geselecteerde modules', we verplaatsen de module 'Samba 3 (sambaGroupMapping)' naar de lijst met 'Beschikbare modules'.

Voor nu, en totdat we bekend zijn met de LAM-configuratie, laten we het daarbij.

We slaan de wijzigingen op en keren terug naar de eerste pagina, waar we het wachtwoord van de gebruiker moeten typen beheerder (cn = admin, dc = vrienden, dc = cu), verklaard tijdens de installatie van de klap. Als u een foutmelding retourneert, controleer dan of het /etc/ldap/ldap.conf het is correct geconfigureerd op de server zelf. Mogelijk hebt u het verkeerde pad naar het TLS-certificaat of een andere fout. Onthoud dat het er als volgt uit moet zien:

BASE dc = vrienden, dc = cu URI ldap: //mildap.amigos.cu # TLS-certificaten (nodig voor GnuTLS) TLS_CACERT /etc/ssl/certs/cacert.pem

Eenmaal binnen in het LAM, moeten we wat tijd besteden aan het bestuderen ervan VOORDAT we een configuratie wijzigen. De interface is erg intuïtief en gemakkelijk te gebruiken. Gebruik het en controleer.

observatie: In het document http://mildap.amigos.cu/lam-docs/ch02s02.html#confTypicalScenarioskunnen we aan het einde lezen:

Enkele LDAP-directory met veel gebruikers (> 10)
LAM is getest om te werken met 10 gebruikers. Als u veel meer gebruikers heeft, heeft u in principe twee opties.

  • Verdeel uw LDAP-structuur in organisatie-eenheden: dit is meestal de best presterende optie. Zet uw accounts in verschillende organisatie-eenheden en stel LAM in zoals in het geavanceerde scenario hierboven.
  • Verhoog geheugenlimiet: Verhoog de memory_limit parameter in uw php.ini. Hierdoor kan LAM meer inzendingen lezen. Maar dit zal de responstijden van LAM vertragen.

Laten we creatief en ordelijk zijn in het beheer van onze directory.

Wachtwoordbeveiligingsbeleid en andere aspecten via LAM

  • We klikken op de link «LAM-configuratie».
  • Klik op de link "Algemene instellingen bewerken".
  • We typen het wachtwoord 'Hen' zonder de aanhalingstekens.

En op die pagina vinden we het wachtwoordbeleid, beveiligingsvoorkeuren, toegestane hosts en andere.

Opmerking: De LAM-configuratie wordt opgeslagen in /usr/share/ldap-account-manager/config/lam.conf.

We zorgen ervoor dat https veilig verbinding kan maken met het LAM:

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

Wanneer we https op de vorige manier inschakelen, werken we met de certificaten die Apache standaard genereert en weerspiegelt deze in de definitie van zijn virtuele host default-ssl. Als we andere door onszelf gegenereerde certificaten willen gebruiken, neem dan contact op /usr/share/doc/apache2.2-common/README.Debian.gz. De betreffende certificaten worden opgeroepen "Slangenolie" o Snake Oil, en ze zijn te vinden in:

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

Laten we de browser naar https://mildap.amigos.cu, en we accepteren het certificaat. Dan wijzen we naar https://mildap.amigos.cu/lam en we kunnen al werken via https the LAM.

Belangrijk: als tijdens het opstarten van de server het Exim duurt lang om te starten, installeer dan de lichtgewicht vervanger smtpm.

: ~ # aptitude install ssmtp
 De volgende NIEUWE pakketten worden geïnstalleerd: ssmtp {b} 0 bijgewerkte pakketten, 1 nieuw geïnstalleerd, 0 om te verwijderen en 0 niet bijgewerkt. Ik moet 52,7 kB aan bestanden downloaden. Na het uitpakken wordt 8192 B gebruikt, er wordt niet voldaan aan de afhankelijkheden van de volgende pakketten: exim4-config: Conflicten: ssmtp maar 2.64-4 wordt geïnstalleerd. exim4-daemon-light: Conflicten: mail-transport-agent wat een virtueel pakket is. ssmtp: Conflicts: mail-transport-agent wat een virtueel pakket is. De volgende acties zullen deze afhankelijkheden oplossen. Verwijder de volgende pakketten: 1) exim4 2) exim4-base 3) exim4-config 4) exim4-daemon-light Accepteert u deze oplossing? [Y / n / q /?] En

Vervolgens voeren we uit:

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

Als u met virtuele servers werkt, zou dit een goed moment zijn om een ​​goede back-up te maken van de hele hoofdserver ... voor het geval dat. 🙂

Replicatie. Bewaar en herstel de Directory-database.

In de uitstekende gids -die we iedereen aanraden om te lezen en te studeren- «Ubuntu Server-gids»Van Ubuntu Server 12.04« Precise », is er een gedetailleerde uitleg van delen van de code die we hebben geschreven over OpenLDAP en het genereren van TLS-certificaten, en daarnaast wordt Directory Replication in detail besproken, en hoe je de Save and Restore van de databases.

Hier is echter een procedure om de volledige database te herstellen in geval van een ramp.

Erg belangrijk:

We moeten het geëxporteerde bestand ALTIJD bij de hand hebben via de Ldap Account Manager als back-up van onze gegevens. Natuurlijk moet het bestand cn = amigos.ldif overeenkomen met onze eigen installatie. We kunnen het ook verkrijgen via het slapcat-commando, zoals we later zullen zien.

1.- We elimineren alleen de slapd-installatie.

: ~ # aptitude purge slpad

2.- We reinigen het pakketsysteem

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

3.- We verwijderen de Directory-database volledig

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

4.- We installeren de slapd-daemon en zijn afhankelijkheden opnieuw

: ~ # aptitude install slapd

5. - We controleren

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

6. - Voeg hetzelfde indexbestand olcDbIndex.ldif toe

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

7.- We controleren de toegevoegde indices

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

8.- We voegen dezelfde toegangscontroleregel toe

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

9.- We controleren de toegangscontroleregels

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

10.- We voegen de TLS-certificaten toe. Het is niet nodig om machtigingen opnieuw op te bouwen of te herstellen. Ze bestaan ​​al in het bestandssysteem, maar worden niet gedeclareerd in de database.

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

11.- We voegen de inhoud toe volgens onze eigen back-up

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

Start de slapd NIET opnieuw omdat deze de database aan het indexeren is en hij kan beschadigd zijn !!! Bewerk ALTIJD uw back-upbestand VOORDAT u het toevoegt, om te voorkomen dat u bestaande gegevens invoert.

We wijzen in een browser naar https://mildap.amigos.cu/lam en we controleren.

Het slapcat-commando

Het commando slapkat Het wordt voornamelijk gebruikt om in LDIF-formaat de inhoud van de database te genereren die de klap. De opdracht opent de database die wordt bepaald door het nummer of het achtervoegsel, en schrijft het bijbehorende bestand in LDIF-indeling op het scherm. De databases die als ondergeschikt zijn geconfigureerd, worden ook weergegeven, tenzij we de optie specificeren -g.

De belangrijkste beperking van het gebruik van deze opdracht is dat deze niet mag worden uitgevoerd wanneer de klap, althans in schrijfmodus, om gegevensconsistentie te garanderen.

Als we bijvoorbeeld een reservekopie van de Directory-database willen maken naar een bestand met de naam back-up-slapd.ldifvoeren we uit:

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

LAM-afbeeldingen

lam-01

lam-02

lam-03

lam-04

lam-05

lam-06


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Jose Antonio zei

    Geweldige bijdrage, ik vond het geweldig, en ook de aanbevolen lectuur.
    Ik was op zoek naar een soortgelijk artikel zonder veel succes.

    Ik geef je een 10 😉

    1.    Federico zei

      Bedankt voor het becommentariëren en evalueren van mijn artikelen !!!

  2.   laten we linux gebruiken zei

    Interessant! Nogmaals, uitstekende bijdrage, Fico!
    Knuffel! Paul.

    1.    Federico zei

      Heel erg bedankt voor je reactie en lof, vriend Pablo !!! Ik hoop dat het nuttig is voor degenen die het nodig hebben.

  3.   vidanu zei

    Uitstekende inhoud! Nogmaals bedankt voor het delen.

    groeten

    1.    Federico zei

      Bedankt voor de reactie !!!

  4.   djager zei

    Homerun Fico !! En de officiële pdf voor wanneer is het klaar?

    1.    Federico zei

      Groeten dhunter !!!. Stel je voor dat ik naast de 7 posts die tot nu toe zijn gepubliceerd ook zal opnemen hoe ik een eenvoudige mailserver op basis van CITADEL kan integreren; FTP-, SFTP-services; een Business Cloud op basis van OwnCloud; een standalone Samba-server met systeemgebruikers via libnss-ldap en PAM, enzovoort. Trek uw eigen conclusies. 🙂 Ik denk eind maart of begin april.

      1.    guzmanweb zei

        Hallo Federico, bedankt voor de bijdrage, we kijken er naar uit. met de update ..

        1.    Federico zei

          Ik zal mijn best doen om het eind deze maand af te ronden. Het is helemaal niet gemakkelijk om een ​​boek te schrijven, ook al is het maar een paar pagina's.

  5.   nexus6 zei

    Ik kan alleen maar zeggen dat van de bijdragers aan deze blog, jij mij de meest interessante, de beste uitgelegd en de dichtstbijzijnde van ALLEN lijkt.

    1.    Federico zei

      Heel erg bedankt voor je review. In elk artikel dat ik schrijf, doe ik mijn best, omdat ik weet dat er altijd lezers zijn zoals jij, ondanks velen die geen commentaar geven.
      Groeten Nexus6 !!!

  6.   edgar zei

    Goedemiddag, wanneer ik het netwerk raadpleeg over ldap, vind ik dat je aanbevelingen geeft, die ik feliciteer met je intentie, nu ben ik nieuw en wil iedereen graag leren
    Dit is de vraag
    Mijn vrienden vertellen me dat wanneer de verbinding met het netwerk is verbroken, het besturingssysteem dat al is geverifieerd met ldap, de taal verandert in het Engels, zodat je me kunt vertellen waar ik moet controleren welk bestand ik moet controleren, zodat het in het Spaans is dat mijn gebruiker al opnieuw is geïnitialiseerd vooraf in LDAP toegevoegd, bedankt voor je hulp

  7.   pedop zei

    Federico uitstekende post zoals gewoonlijk. Ik heb gelezen dat je commentaar gaf op iets dat verband hield met een pdf met de configuratie van de meeste telematicadiensten die in een zakelijk netwerk worden gebruikt. U zei dat het eind maart of begin april vorig jaar klaar zou zijn. Mijn vraag is of je het op dat moment hebt afgemaakt en geüpload? Bij voorbaat dank, uiteindelijk ga ik Openfire proberen, ik zie dat het zelfs een webinterface heeft voor de 9090.

    1.    Federico A. Valdes Toujague zei

      Bedankt voor je opmerkingen, Pedro Pablo. In plaats van je uitgebreid te beantwoorden, heb ik een artikel geschreven dat je vandaag of morgen gaat lezen. Dankbare lezers zoals jij verdienen een antwoord. Nogmaals bedankt.