LDAP: miten tämä protokolla toimii asiakkaiden todentamiseksi

Kun verkossa on kymmeniä tietokoneita, on välttämätöntä järjestää tiedot oikein ja myös eri käyttäjien tunnistetiedot. Hierarkkisen rakenteen luomiseksi on erittäin tärkeää, että meillä on järjestelmä, kuten LDAP, jonka avulla voimme tallentaa, hallita ja suojata kaikkien laitteiden tiedot oikein ja joka on myös vastuussa kaikkien käyttäjien ja käyttäjien hallinnasta. omaisuutta. Tänään tässä artikkelissa selitämme kaiken LDAP:sta ja kuinka se asennetaan ja määritetään a Linux järjestelmään.

LDAP: miten tämä protokolla toimii

Mikä LDAP on ja mihin se on tarkoitettu?

LDAP (Lightweight Directory Access Protocol) tai joka tunnetaan myös nimellä "Lightweight Directory Access Protocol" on TCP/IP-sovelluskerroksen protokolla, joka mahdollistaa pääsyn tilattuun ja hajautettuun hakemistopalveluun minkä tahansa tiedon etsimiseksi ympäristöverkosta. Ennen kuin jatkamme selittämistä, mitä varten LDAP on tarkoitettu, meidän on tiedettävä, mikä "hakemisto" on. Hakemisto on joukko objekteja, joiden attribuutit on järjestetty loogisesti ja hierarkkisesti, eli se on puun muodossa ja täydellisesti järjestetty riippuen siitä, mitä haluamme, joko aakkosjärjestyksessä, käyttäjien, osoitteiden jne. mukaan.

Yleensä LDAP-palvelin on vastuussa todennustietojen, eli käyttäjänimen ja salasanan, tallentamisesta, jotta se voi myöhemmin antaa pääsyn toiseen protokollaan tai järjestelmäpalveluun. Käyttäjätunnuksen ja salasanan tallennuksen lisäksi se voi tallentaa myös muita tietoja, kuten käyttäjän yhteystiedot, paikallisverkkoresurssien sijainnin, käyttäjien itsensä digitaaliset sertifikaatit ja paljon muuta. LDAP on pääsyprotokolla, jonka avulla pääsemme käsiksi paikallisverkon resursseihin ilman, että käyttöjärjestelmään tarvitsee luoda eri käyttäjiä, ja se on myös paljon monipuolisempi. Esimerkiksi LDAP mahdollistaa todennus- ja valtuutustehtävät eri ohjelmistojen, kuten Dockerin, OpenVPN:n, tiedostopalvelimien, kuten QNAP:n, Synologyn tai ASUSTORin käyttäjille, käyttäjille ja monia muita käyttötapoja.

LDAP:ta voivat käyttää sekä käyttäjä, jolta pyydetään joitain käyttöoikeuksia, että sovellukset, jotka voivat tietää, onko heillä pääsy tiettyihin järjestelmätietoihin vai ei. Yleensä LDAP-palvelin sijaitsee yksityisessä verkossa eli lähiverkoissa eri sovellusten ja käyttäjien todentamiseksi, mutta se voi toimia myös julkisissa verkoissa ilman ongelmia.

Kaksi suosituinta LDAP:n tukemaa aktiivista hakemistopalvelua ovat "Windows Active Directory" tai joka tunnetaan myös nimellä "Windows Active Directory" sekä OpenLDAP. Siksi LDAP-protokolla on yhteensopiva molempien tekniikoiden kanssa, joten käyttäjät voivat käyttää kaikkia tiedostoja ja sovelluksia mistä tahansa. Heidän täytyy vain todentaa ja heillä on pääsy tietokoneeseensa.

Tällä hetkellä LDAP:n versio on LDAPv3, joten kun asennamme ja käytämme tätä protokollaa, käytämme useimmissa tapauksissa LDAPv3-protokollaa eri asiakkaiden todentamiseen.

Kuinka LDAP-palvelin toimii

LDAP on protokolla, jolla on asiakas-palvelin-arkkitehtuuri, joten meillä on useita asiakkaita, jotka muodostavat yhteyden yhteen tai useampaan LDAP-palvelimeen. Yleensä käytetään yhtä LDAP-palvelinta, jossa kymmenet tai sadat asiakkaat muodostavat yhteyden siihen käyttääkseen paikallisverkon eri resursseja. Palvelimeen tallennetaan kaikki hakemistoon liittyvät tiedot, se vastaa myös käyttäjien todentamisesta, tarkastamisesta, että vain yksi käyttäjä on kytkettynä samanaikaisesti tai useampia eri laitteilta, ja muista tehtävistä, jotka selitämme alla.

LDAP:n toiminta on melko yksinkertaista, koska viestintä on kuin mikä tahansa muukin viestintä asiakkaan ja palvelimen välillä, aivan kuten se tapahtuu Windowsissa Active Directoryn kanssa. Alla näet kolme tärkeintä viestinnän vaihetta:

  • Asiakas muodostaa yhteyden LDAP-palvelimeen (prosessia kutsutaan Directory System Agentiksi) TCP/IP-portin 389 kautta aloittaakseen LDAP-istunnon.
  • Asiakkaan ja palvelimen välille muodostetaan yhteys.
  • Tietoja vaihdetaan palvelimen ja asiakkaan välillä.

Asiakas voi tehdä yhteyden muodostaessaan kaksi perustoimintoa, mutta ensin on erotettava todennus ja valtuutus. Todennus on mekanismi, jolla tunnistamme itsemme järjestelmään esimerkiksi käyttäjätunnuksen ja salasanan avulla. Valtuutus on mekanismi, jolla saamme tai emme saa tehdä jotain järjestelmässä. LDAP-palvelimella voimme tehdä tämän:

  • Lue tiedot : tietojen lukemiseksi asiakkaan on oltava todennettu, sen jälkeen se yrittää lukea ja saada tietoja hakemistosta. Ennen tämän vaiheen suorittamista palvelin tarkistaa, onko kyseisellä käyttäjällä valtuudet lukea tietoja.
  • Muokkaa tietoja : tietojen muokkaamiseen prosessi on sama, mutta palvelin tarkistaa, onko meillä muokkausoikeuksia palvelimella.

LDAP mahdollistaa myös tietojen vaihdon useiden palvelimien välillä, jos todennamme itsemme palvelimella ja sillä ei ole tarvittavia tietoja, voimme tehdä tämän kyselyn toiselle palvelimelle, joka meillä on samassa lähiverkossa, tarkistaaksemme, onko meillä todella tämä tieto tai ei. Se on jotain samanlaista kuin mitä tapahtuu DNS palvelimia, jotka kysyvät toisiltaan ylös puuhun, kunnes ne saavuttavat juuripalvelimet.

 

Toimintatyypit

Palvelimella on erilaisia ​​toimintoja, joita voimme suorittaa asiakkaina, alta näet kaiken, mitä voimme tehdä:

  • Lisää: lisää uusi merkintä. Jos merkintä on jo olemassa, palvelin ilmoittaa siitä meille.
  • Muokkaa: muokkaa merkintää. Protokolla sallii kolme erilaista muutosta, lisätä uutta arvoa, korvata arvoa tai poistaa arvoa.
  • Poista: poista merkintä.
  • Hae: Hae tai hae hakemistomerkintöjä.
  • Vertaa: Katso, onko nimetyllä syötteellä tietty attribuutti.
  • Hylkää: keskeytä edellinen pyyntö
  • Bind: todennus palvelimelle
  • Käynnistä TLS – Luo suojattu tietoliikenne käyttämällä TLS:ää LDAPv3-protokollassa.
  • Pura: sulje yhteys.

 

Komponentit ja rakenne

Jotta tämä protokolla voisi suorittaa tehtävänsä, siinä on sekä hakemistorakenne että komponentit. Tärkeimmät komponentit ovat:

  • Hakemistot: on hakemistomerkintöjen puu.
  • Tulot: Koostuu joukosta attribuutteja. Merkinnät kuvaavat käyttäjää luettelemalla kaikki hänen attribuutit. Jokaisella merkinnällä on yksilöllinen tunniste ja sen DN (Distinguished Name)
  • Attribuutit: Attribuutilla on nimi ja yksi tai useampi arvo, ne määritellään skeemoissa.

LDAP:n perusrakenne voisi olla seuraava:

dn: cn=Redes Zone,dc=example,dc=com
cn: Redes Zone
givenName: Redes
sn: Zone
telephoneNumber: +34 666 111 111
telephoneNumber: +34 666 222 222
mail: redeszone@example.com
manager: cn=this article2,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top

  • dn (Distinguished Name): Tämä on merkinnän nimi, mutta se ei ole itse merkinnän attribuutti tai osa.
  • cn (Yleinen nimi): on suhteellinen erottuva nimi.
  • dc (Domain Component): on päämerkinnän erottuva nimi.

Loput rivit ovat syötteen attribuutteja, kuten givenName, sn, phoneNumber, mail ja eri objektiluokka, joka meillä on. Palvelin isännöi aina alipuuta, joka alkaa tietystä tiedosta.

Suorittaaksemme hakuja meidän on asetettava URL-osoite tietojen saamiseksi, syntaksi, jota meidän on käytettävä, on seuraava:

ldap://host:puerto/DN?attributes?scope?filter?extensions

Monet näistä komponenteista ovat valinnaisia, esimerkiksi voisimme yksinkertaisesti kutsua DN:n, jotta se palauttaa kaikki tähän merkintään liittyvät tiedot.

 

Erot Microsoft Active Directoryn ja LDAP:n välillä

Microsoft Active Directory käyttää sisäisesti LDAP-protokollaa kaiken viestinnän suorittamiseen asiakkailta palvelimelle tai palvelimille, joten se varmistaa, että asiakkaat voivat todentaa itsensä ja käyttää tallennettuja tietoja, lisäksi meidän on otettava huomioon, että tämä protokolla on monikäyttöinen. , meillä ei ole vain sitä Windows-käyttöjärjestelmissä, vaan se on myös yhteensopiva Linuxin, Unixin ja macOS:n kanssa protokollan kautta. Jotta saat käsityksen, seuraavat hakemistopalvelut käyttävät tätä protokollaa viestintään:

  • Microsoft Active Directory
  • Apache
  • Red Hat -hakemistopalvelu
  • OpenLDAP

Ja monet muutkin palvelut käyttävät sitä, varsinkin uusin, OpenLDAP, joka on avoimen lähdekoodin protokollatoteutus ja joka voidaan asentaa mihin tahansa järjestelmään, koska lähdekoodi sen kääntämiseen on saatavilla. Useimmissa Linux-jakeluissa se on kuitenkin saatavilla niiden arkistoissa.

 

Asennus ja peruskonfigurointi

Asennus ja käyttöönotto Linux-pohjaisissa käyttöjärjestelmissä on erittäin helppoa, ja meillä on myös mahdollisuus aktivoida palvelin QNAP NAS:ssa. Seuraavaksi aiomme selittää kuinka asennus ja perusasetukset suoritetaan Debianissa ja myös QNAP:ssa.

 

Debian

Jos meillä on Linux-pohjainen käyttöjärjestelmä, kuten Debian, voimme asentaa ldap:n jakelun virallisten arkistojen kautta. Tätä varten voimme laittaa seuraavan komennon terminaaliin, loogisesti tarvitsemme superkäyttäjän oikeudet.

sudo apt install slapd ldap-utils

Kun suoritamme sen, se kysyy meiltä, ​​mikä järjestelmänvalvojan salasana laitetaan palvelimelle. Kun olemme laittaneet sen, se suorittaa ohjelmiston asennuksen ja voimme alkaa työskennellä sen kanssa.

Varmistaaksemme, että se on asennettu oikein, laitamme seuraavan järjestyksen ja se näyttää meille kaikki palvelimen tiedot tällä hetkellä.

sudo slapcat

Seuraavan kuvakaappauksen pitäisi näyttää, mitä saamme heti asennuksen jälkeen:

Nyt meidän on määritettävä slapd uudelleen, jotta voimme laittaa oman toimialueen, suoritamme seuraavan komennon käynnistääksesi ohjatun konfigurointitoiminnon.

sudo dpkg-reconfigure slapd

Ohjattu toiminto kysyy meiltä monia palvelimen näkökohtia, voimme jättää kaiken sellaiseksi, kuin näytämme seuraavissa kuvakaappauksissa. Tärkeintä on laittaa DN oikein.

Kun olemme tehneet kaiken, meillä on palvelin valmiina lisäämään eri käyttäjiä.

Ensimmäinen asia, joka meidän on tehtävä, on luoda luettelo kaikista käyttäjistä. Tätä varten luomme tiedoston /etc/ldap-kansioon nimellä "users.ldif".

sudo touch /etc/ldap/users.ldif

Millä tahansa tekstieditorilla jatkamme tämän tiedoston muokkaamista seuraavan sisällön kanssa:

dn: ou=People,dc=redeszone,dc=net
objectClass: organizationalUnit
ou: People

Kun olemme tehneet sen, meidän on esitettävä se palvelimelle seuraavalla tavalla:

sudo ldapadd -D "cn=admin,dc=redeszone,dc=net" -W -H ldapi:/// -f users.ldif

Se kysyy meiltä salasanaa ja jatkamme sen syöttämisessä. Sen ei pitäisi antaa meille minkäänlaista virhettä.

Lopuksi, jos haluamme suorittaa haun, voimme tehdä sen seuraavalla tavalla:

sudo ldapsearch -x -b "dc=redeszone,dc=net" ou

Palvelimen perusasetukset on jo tehty, nyt meidän on lisättävä eri merkinnät haluamillamme tiedoilla.

 

QNAP NAS -palvelin

Jos käytät QNAP NAS -palvelinta, meillä on oletuksena asennettuna LDAP-palvelin. Voit tehdä tämän siirtymällä "Ohjauspaneeli / Sovellukset / LDAP-palvelin" -osioon. Jatkamme tässä valikossa verkkotunnuksen ja järjestelmänvalvojan salasanan lisäämistä, kun olemme ilmoittaneet sen, jatkamme napsauttamalla "Käytä".

Kun olemme tehneet muutokset, saamme palvelimen toimimaan. Nyt uudet välilehdet nimeltä "Käyttäjät", "Ryhmä" ja myös "Varmuuskopiointi ja Palauta” tulee näkyviin.

Käyttäjät-osiossa voimme rekisteröidä eri käyttäjät pienellä ohjatulla konfigurointitoiminnolla. Meidän on vain noudatettava tätä yksinkertaista ohjattua toimintoa lisätäksemme kaikki haluamamme käyttäjät.

Meillä on myös mahdollisuus lisätä uusi käyttäjäryhmä, meillä on myös ohjattu toiminto, joka auttaa meitä prosessissa.

Lopuksi varmuuskopiointi- ja palautusosiossa voimme tehdä varmuuskopion koko palvelintietokannasta ja jopa palauttaa sen aiemmasta kopiosta, mikä on ihanteellinen, jotta kaikki palvelimellamme olevat tiedot eivät katoa.

Kuten näette, tämän LDAP-palvelimen toteuttaminen QNAP:ssa on hyvin yksinkertaista, meidän ei tarvitse suorittaa mitään komentoa konsolin kautta, kaikki tehdään graafisen käyttöliittymän kautta.

 

Päätelmät

LDAP-protokollaa käytetään laajalti ammattiympäristöissä eri käyttäjien todentamiseen ja mihin pystymme tallentamaan järjestetyn ja hierarkkisen tiedon. Tätä protokollaa eivät käytä vain ohjelmistot, kuten OpenLDAP, vaan myös muut hakemistojärjestelmät, kuten Windows tai RedHat, sekä monet muut, jotka olemme sinulle selittäneet. Vaikka sen toiminta saattaa aluksi tuntua monimutkaiselta, kun olemme asentaneet palvelimen ja alkaneet rekisteröidä käyttäjiä ja ryhmiä, ymmärrät täydellisesti kaiken tähän tärkeään protokollaan liittyvän.

Tämä protokolla on yksi tärkeimmistä yrityksen sisällä käyttäjien todentamisessa, lisäksi sitä käytetään usein myös yhdessä RADIUS-palvelimien kanssa, ja tarpeistamme riippuen voimme valita tämän protokollan RADIUSin sijaan ja jopa molemmat olemassa samassa paikallisessa. verkkoon eri käyttötarkoituksiin, joita voimme tarjota sille.