en
Nyelv
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI fordítás
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

LDAP hitelesítés

LDAP

Az LDAP hitelesítés konfigurálása

Áttekintés
Az LDAP hitelesítési mód deklarálása
Menet közben a felhasználók létrehozása
Csoportalapú LDAP bejelentkezés
Hibaelhárítás
Corner helyzetek

 

Áttekintés

Az LDAP (Lightweight Directory Access Protocol) egy szoftverprotokoll, amely lehetővé teszi, hogy bárki megtalálja a szervezeteket, személyeket és egyéb erőforrásokat, például fájlokat és eszközöket a hálózatban, akár a nyilvános interneten, akár a vállalati intraneten. Az LDAP a Directory Access Protocol (DAP) "könnyű" (kisebb mennyiségű) verziója, amely része az X.500 -nak, a hálózat címtárszolgáltatásának szabványának. Az LDAP könnyebb, mert kezdeti verziójában nem tartalmazott biztonsági funkciókat. Az Easy Redmine natív módon támogatja az LDAP hitelesítést egy vagy több LDAP könyvtár használatával. A támogatott címtárszolgáltatástípusok közé tartozik az Active Directory, az OpenLDAP, az eDirectory, a Sun Java System Directory Server és más kompatibilis címtárszolgáltatások.

Az LDAP könyvtár egy egyszerű „fa” hierarchiába van rendezve, amely a következő szintekből áll:

  1. A gyökérkönyvtár (a fa kiindulási helye vagy forrása), amely elágazik
  2. Országok, amelyek mindegyike leágazik
  3. Szervezetek, amelyek elágaznak
  4. Szervezeti egységek (részlegek, osztályok stb.), Amelyek leágaznak (tartalmaz egy bejegyzést)
  5. Egyének (beleértve az embereket, fájlokat és megosztott erőforrásokat, például nyomtatókat)

 

Az LDAP hitelesítési mód deklarálása

Lépjen az Adminisztráció elemre, és kattintson a menüben az "LDAP hitelesítés" gombra. Itt megtalálja az összes létező LDAP hitelesítési mód listáját, beleértve a tesztelés vagy törlés lehetőségeit. Új létrehozásához kattintson a jobb felső sarokban található "Új hitelesítési mód" zöld gombra.

Az LDAP szolgáltató URL -címet használ a címtárkiszolgálóhoz való kapcsolat beállításához. Az LDAP kapcsolat URL -jének előállításához a következő mezőket kell megadni:

  • Név: A könyvtár tetszőleges neve.
  • Host: Az LDAP gazdagép neve (teszt szerver).
  • Port: Az LDAP port (alapértelmezett: 389).
  • LDAPS: Jelölje be ezt, ha LDAPS -t szeretne vagy használnia kell a címtár eléréséhez.
  • Számla: Adjon meg egy felhasználónevet, amely olvasási jogosultsággal rendelkezik az LDAP -hoz, ellenkező esetben hagyja üresen ezt a mezőt, ha az LDAP névtelenül olvasható (az Active Directory -kiszolgálók általában nem teszik lehetővé a névtelen hozzáférést).
  • Jelszó: A fiók jelszava.
  • Alap DN: Az LDAP címtárfa legfelső szintű DN -je (példa: dc = példa, dc = com).
  • LDAP szűrő: A szűrők korlátozhatják azon felhasználók vagy csoportok számát, akik hozzáférhetnek az alkalmazáshoz. Lényegében a szűrő korlátozza, hogy az LDAP fa mely részéről szinkronizálja az alkalmazás. Szűrőt lehet és kell írni mind a felhasználói, mind a csoporttagsághoz. Ez biztosítja, hogy nem árasztja el alkalmazását olyan felhasználókkal és csoportokkal, akiknek nincs szükségük hozzáférésre.
     

    Minta szűrők

    (Figyelem) Ezeket a szűrőket az Active Directoryhoz írták. Ahhoz, hogy használni lehessen őket például OpenLDAP -ra, az attribútumokat módosítani kell.

    Ez csak a "CaptainPlanet" csoportba tartozó felhasználókat szinkronizálja - ezt a Felhasználói objektumszűrő:

    (&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))

    Ez megkeresi azokat a felhasználókat, akik e csoport tagjai, közvetlenül vagy beágyazás útján:

    (&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=CaptainPlanet,ou=users,dc=company,dc=com))

    (Info) Fontos, hogy az Active Directory rendelkezzen tagOf: 1.2.840.113556.1.4.1941 ha beágyazott csoportokat szeretne találni (ne cserélje ki a numerikus karakterláncot) a CaptainPlanet csoporton belül.

    Ezzel keresni fogja azokat a felhasználókat, akik a 4 vagy bármelyik csoport tagjai (tűz, szél, víz, szív)

    (&(objectCategory=Person)(sAMAccountName=*)(|(memberOf=cn=fire,ou=users,dc=company,dc=com)(memberOf=cn=wind,ou=users,dc=company,dc=com)(memberOf=cn=water,ou=users,dc=company,dc=com)(memberOf=cn=heart,ou=users,dc=company,dc=com)))
  • Időtúllépés (másodpercben): Ha az LDAP -szolgáltató a megadott időn belül nem kap LDAP -választ, megszakítja az olvasási kísérletet. Az egész számnak nagyobbnak kell lennie, mint a nulla. A nullánál kisebb vagy azzal egyenlő egész szám azt jelenti, hogy nincs megadva olvasási időtúllépés, ami egyenlő azzal, hogy végtelenül várni kell a válaszra, amíg meg nem érkezik, ami alapértelmezés szerint az eredeti viselkedést mutatja. Ha ez a tulajdonság nincs megadva, akkor alapértelmezés szerint várni kell a válaszra, amíg meg nem érkezik.
  • Repülő felhasználó létrehozása: Ennek ellenőrzésével minden LDAP felhasználó automatikusan létrehozza Easy Redmine fiókját, amikor először jelentkezik be az Easy Redmine szolgáltatásba. Ellenkező esetben manuálisan kell létrehoznia a felhasználót az Easy Redmine -ban minden LDAP -felhasználó számára, aki bejelentkezni szeretne.

Attribútumok (példák):

  • Bejelentkezési attribútum: A bejelentkezési név, amellyel a felhasználó bejelentkezik és hitelesítve van.
  • Keresztnév attribútum: A keresztnév attribútuma.
  • Vezetéknév attribútum: Vezetéknév attribútuma.
  • E -mail attribútum: E -mail cím attribútuma.

Az Easy Redmine felhasználók mostantól képesnek kell lenniük az LDAP felhasználónevük és jelszavuk használatával történő hitelesítésre, ha fiókjukban az LDAP -t használják a hitelesítéshez (ellenőrizze a "Hitelesítési mód" beállítást a felhasználó profiljának szerkesztésekor).

Ennek teszteléséhez hozzon létre egy Easy Redmine felhasználót az LDAP-fiókjának megfelelő bejelentkezési névvel (általában az Easy Redmine az LDAP-adatok megkeresésével tanácsot ad), válassza ki az újonnan létrehozott LDAP-t a Hitelesítési mód legördülő listából (ez a mező csak akkor jelenik meg a fiók képernyőjén, ha LDAP van deklarálva), és hagyja üresen a jelszavát. Próbáljon bejelentkezni az Easy Redmine -be az LDAP felhasználónévvel és jelszóval.

 

Menet közben a felhasználók létrehozása

Ellenőrzéssel on-the-fly felhasználó létrehozása, minden LDAP felhasználó automatikusan létrehozza Easy Redmine fiókját, amikor először jelentkezik be az Easy Redmine szolgáltatásba.
Ehhez meg kell adnia az LDAP attribútumok nevét (keresztnév, vezetéknév, e -mail), amelyeket az Easy Redmine fiók létrehozásához használnak.

Íme egy tipikus példa az Active Directory használatára:

Név = Saját címtár Host = host.domain.org Port = 389 LDAPS = nincs fiók = MyDomain \ UserName (vagy UserName@MyDomain az AD szervertől függően) Jelszó = Alap DN = CN = felhasználók, DC = gazdagép, DC = tartomány, DC = org On-the-fly felhasználó létrehozása = igen

Íme egy másik példa a tagolt intranettel rendelkező Active Directoryra:

Név = Csak az engedélyezési módok leírása Host = Osztálynév.OrganizationName.local Port = 389 LDAPS = nincs Fiók = Osztálynév \ Felhasználónév (vagy Felhasználónév@SajátDomain az AD szervertől függően vagy kötés DN uid = Kezelő, cn = felhasználók, dc = MyDomain, dc = com) Jelszó = Alap DN = DC = Osztálynév, DC = Szervezetnév, DC = helyi On-the-fly felhasználó létrehozása = igen

Vegye figyelembe, hogy az LDAP attribútumnevek a következők Kis-nagybetű érzékeny.

Dinamikus kötési fiók

A fenti beállításhoz szükség van egy speciális fiókra a címtárszerveren, amelyet az Easy Redmine használ az előhitelesítéshez. Lehetőség van a kulcsszó használatára $ bejelentkezés a számla mezőben, amelyet ezután a jelenlegi bejelentkezés vált fel. A jelszó ebben az esetben üresen maradhat, például:

Fiók: $login@COMPANY.DOMAIN.NAME

or

Fiók: cég \ $ bejelentkezés

Alap DN változatok

Bár teljesen lehetséges, hogy a fenti Base DN szabványos az Active Directory számára, a munkáltatóm webhelyén található Active Directory nem használja a Users tárolót a szabványos felhasználók számára, ezért ezek az utasítások hosszú és fájdalmas utat jártak be. Azt is javaslom, hogy csak a "DC = host, DC = domain, DC = org" próbálkozzon, ha a bejelentkezés sikertelen az ottani beállításokkal.

 

Csoportalapú LDAP bejelentkezés

Ha csak egy bizonyos LDAP csoportba tartozó felhasználók bejelentkezését szeretné engedélyezni, kövesse az alábbi utasításokat. Ezek alapja az OpenLDAP LDAP szerver és az Easy Redmine.

1. (OpenLDAP szerver) Engedélyezze a tag fedvényt

1.1. Fájl létrehozása:

vim ~/memberof_add.ldif

Az alábbi tartalommal:

dn: cn = modul, cn = konfiguráció
objectClass: olcModuleList
cn: modul
olcModulePath:/usr/lib/ldap
olcModuleLoad: tagja

1.2. Fájl létrehozása:

vim ~/memberof_config.ldif

Az alábbi tartalommal:

dn: olcOverlay = memberof, olcDatabase = {1} hdb, cn = config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: tagja
olcMemberOfDangling: figyelmen kívül hagyás
olcMemberOfRefInt: IGAZ
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: tag
olcMemberOfMemberOfAD: memberOf

1.3. Töltse fel őket. Ez az OpenLDAP konfigurációjától függ, ezért javaslunk néhány lehetőséget:

sudo ldapadd -c -Y KÜLSŐ -H ldapi: /// -f memberof_add.ldif
sudo ldapadd -c -Y KÜLSŐ -H ldapi: /// -f memberof_config.ldif

Vagy:

ldapadd -D cn = admin, cn = config -w "jelszó" -H ldapi: /// -f memberof_add.ldif
ldapadd -D cn = admin, cn = config -w "jelszó" -H ldapi: /// -f memberof_config.ldif

Az újraindítás NEM szükséges, ha dinamikus futásidejű konfigurációs motort (slapd-config) használ.

1.4. (Opcionális) Tesztelje:

ldapsearch -D cn = admin, dc = példa, dc = com -x -W -b 'dc = példa, dc = com' -H 'ldap: //127.0.0.1: 389/"(& (objectClass = posixAccount ) (memberOf = cn = ldapeasyredmine, ou = csoportok, dc = példa, dc = com)) '

2. (OpenLDAP szerver) Hozza létre a csoportot. Ebben a példában a felhasználó "ldap_user_1", a csoport pedig "ldapeasyredmine":

dn: cn = ldapeasyredmine, ou = csoportok, dc = példa, dc = com
cn: ldapeasyredmine
leírás: Az alkalmazottak beléphetnek az Easy Redmine jegyrendszerbe
tag: cn = ldap_user_1, ou = emberek, dc = példa, dc = com
objektumosztály: groupOfNames
tárgyosztály: felül

Állítsa be a "dn" és "cn" értékeket, hogy illeszkedjenek a DIT szerkezetéhez

3. (Easy Redmine) Szerkessze az LDAP hitelesítési módot. Esetemben az "ldap_user_1" egy "posixAccount" objektumosztály:

Alap DN: dc = példa, dc = com
Szűrő: (& (objectClass = posixAccount) (memberOf = cn = ldapeasyredmine, ou = csoportok, dc = példa, dc = com))

 

Hibaelhárítás

Ha menet közbeni felhasználó-létrehozást szeretne használni, győződjön meg arról, hogy az Easy Redmine le tudja tölteni az LDAP-ból az összes szükséges információt egy érvényes felhasználó létrehozásához.
Például a menet közbeni felhasználók létrehozása nem működik, ha nincs érvényes e-mail címe a könyvtárában (bejelentkezéskor az „Érvénytelen felhasználónév/jelszó” hibaüzenet jelenik meg).
(Ez nem igaz az újabb Easy Redmine verziókra; a felhasználó létrehozási párbeszédablakban minden megtalálható, amit az LDAP szerverről talál, és a többi részt kéri kitölteni.)

Ellenőrizze azt is, hogy nincs -e egyéni mezője megjelölve kötelező felhasználói fiókok esetében. Ezek az egyéni mezők megakadályozzák a felhasználói fiókok menet közbeni létrehozását.

A bejelentkezési rendszerben előforduló hibákat nem közlik valódi információkkal az Easy Redmine naplókban, ami megnehezíti a hibaelhárítást. Azonban a legtöbb információt megtalálhatja a használatával Wireshark az Easy Redmine gazdagép és az LDAP szerver között. Vegye figyelembe, hogy ez csak akkor működik, ha rendelkezik jogosultsággal a két gazdagép közötti hálózati forgalom olvasásához.

Az „ldapsearch” eszközzel is ellenőrizheti, hogy a beállítások helyesek -e. Jelentkezzen be az Easy Redmine -t üzemeltető Linux -gépbe (és esetleg telepítse az ldaputils -t), és futtassa ezt:

ldapsearch -x -b  "dc=example,dc=com" -H ldap://hostname/ -D "DOMAIN\USER" -w mypassword [searchterm]

Ha sikeres lesz, akkor a keresési lekérdezésnek megfelelő listát kap az AD tartalmáról. Ezután tudni fogja, hogyan kell kitölteni az Easy Redmine LDAP konfigurációs mezőit.

Alternatív módok a működés ellenőrzésére

  • Próbálja meg eltávolítani azokat az LDAP -szűrőket, amelyek - ha helytelenül vannak beállítva - törölhetik a keresni kívánt felhasználókat.
  • A "Bejelentkezés attribútum" mellett egy könyv ikon látható. Ha rákattint, és az LDAP helyesen van beállítva, a "szokásos attribútumokat" automatikusan kitölti az aktuális LDAP szerver. A szövegmezők helyett kijelölő négyzetek jelennek meg egy olyan esetben, amikor a felhasználó módosítani szeretné a beállításokat. A legtöbb esetben a felhasználónak ezt egyáltalán nem kell kitöltenie. Ha ez működik, akkor minden más valószínűleg működik.
  • Csatlakozási problémák esetén használhatja a "Teszt" gombot az LDAP szerver listáján. Vigyázat, ez csak annak tesztelésére szolgál, hogy csatlakozhat -e az LDAP -hoz. A gyakori probléma az, hogy a rendszergazdák akkor sem töltik ki az LDAP rendszer felhasználóját, ha az LDAP beállítások még védettek. Ebben az esetben a teszt rendben fut, mert a kapcsolat működik, de nem lehet felhasználókat hozzáadni, mert az LDAP nem "lát".
  • Annak ellenőrzésére, hogy az LDAP valóban működik -e, az "Elérhető felhasználók" szám is használható - ha értéke 0, az LDAP nem ad vissza adatokat, és valószínűleg helytelenül van beállítva. Ha van egy szám, akkor kattintson rá, hogy kibonthassa, és megtekintse, mit mutat az LDAP (és ennek megfelelően állítsa be a szűrőket).

Fiók érték formátum

Előfordulhat, hogy a kötési hitelesítő adatok felhasználónevét nem DN -ként, hanem UPN -ként kell megadni (user@domain.com) vagy mint domain \ user, amint erre a megjegyzés rámutat forrás: trunk/vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap.rb:

  # Amint azt a #bind című fejezetben leírtuk, a legtöbb LDAP-kiszolgáló megköveteli, hogy teljes DN # -et adjon meg kötelező érvényű hitelesítő adatként, valamint hitelesítőt, például jelszót.

Ezért a felhasználó a MyDomain \ MyUserName vagy MyUserName@MyDomain.com a felhasználónév csak a MyUserName nevet adhatja meg Easy Redmine bejelentkezési névként.

Lassú LDAP hitelesítés

Ha az LDAP hitelesítés lassú, és van AD -fürtje, próbálja meg a Host mezőben megadni az egyik AD fizikai kiszolgálót. Segíthet.

OpenDS

Ha az OpenDS szervert használja, akkor problémái lehetnek a "Paged results" kérésvezérlővel, amelyet a felhasználó a megadott bejelentkezési attribútum alapján keres a kezdeti lekérdezés során. Ez az 1.2.840.113556.1.4.319 kérésvezérlés alapértelmezés szerint nem engedélyezett névtelen felhasználók számára, így megakadályozva, hogy az Easy Redmine még a kötés előtt megtalálja a felhasználót a könyvtárban.

Adjon hozzá egy ilyen globális ACI -t

./dsconfig -h SERVER_IP -p 4444 -D cn = "Directory Manager" -w PASSWORD -n set -access -control -handler -prop --trustAll --add global -aci: \ (targetcontrol = \ "1.2.840.113556.1.4.319 .3.0 \ "\) \ \ (\ verzió \ 1.2.840.113556.1.4.319 \; \ acl \ \" Anonymous \ control \ access \ to \ XNUMX \ "\; \ allow \ \ (read \) \ userdn = \ "ldap: /// bárki \" \; \)

Megjegyzés: Írja be a parancsot az egyik sorba, használja az escaping billentyűt pontosan a jelzett módon (az "acl" után az \ "szóköz" "."

Egyes felhasználók nem tudnak bejelentkezni

Probléma: A felhasználók egy meghatározott szervezeti egysége nem tud bejelentkezni (érvénytelen felhasználó vagy jelszó), míg a többiek nem. A felhasználók egy távoli webhelyen tartózkodnak, de az ugyanazon a helyen található többi szervezeti egység felhasználói nem kapják meg ezt a hibát.

Megoldás: A probléma valószínűleg nem a helytelen beállításokkal, hanem az Active Directory (AD) problémával kapcsolatos. Azok a felhasználók, akik nem tudtak csatlakozni, a "Belépés" mezőt egy adott számítógépre állították az AD felhasználó tulajdonságaiban (AD adminisztráció). Miután mindenhonnan bejelentkezett, működnie kell. Pontosabban, ezt a mezőt a következőre kell állítani: Hirdetési felhasználó -> Tulajdonságok -> Fiók -> Bejelentkezés mindenhonnan.

Problémák a bejelentkezéssel, ha érvényes tanúsítvány nélkül használja az LDAPS-t

A bejelentkezéssel kapcsolatos problémák merülhetnek fel, ha érvényes tanúsítvány nélkül használja az LDAPS-t. A Redmine 4 -ben az LDAPS tanúsítvány mindig érvényes. Érvénytelen tanúsítvánnyal a felhasználók nem tudnak bejelentkezni. Természetesen a helyes és hosszú távú megoldás az érvényes tanúsítvány használata. Amíg azonban ezt nem éri el, az ideiglenes megoldás az Adminisztráció >> LDAP hitelesítés >> A megfelelő hitelesítési mód szerkesztése.

Módosítsa a beállítást erre LDAPS (tanúsítványellenőrzés nélkül).

Az Easy Redmine Server megoldással a sínkonzolról ömlesztve változtathatja meg
r "AuthSource.update_all (hitelesítő_fajta: hamis)" -e gyártás

vagy SQL-en keresztül
UPDATE auth_sources set check_peer = 0;

 

Corner helyzetek

  • Amikor a felhasználókat automatikusan importálja/hozza létre az LDAP -ból, a felhasználó -létrehozási űrlapon megadott alapértelmezett felhasználói típus -beállítás előnyben részesül az LDAP -ban megadott alapértelmezett felhasználói típus -beállítással szemben. A felhasználó létrehozása után ez a beállítás később nem módosítható (hacsak nem hoz létre új LDAP -t).

Próbálja ki az Easy Redmine-t 30 napos ingyenes próbaverzióval

Teljes funkciók, SSL védett, napi biztonsági mentések az Ön földrajzi elhelyezkedésében