2 LDAP

Pārskats

Ārējo LDAP autentifikāciju var izmantot, lai pārbaudītu lietotājvārdus un paroles.

Zabbix LDAP autentifikācija darbojas vismaz ar Microsoft Active Directory un OpenLDAP.

Ja ir konfigurēta tikai LDAP pierakstīšanās, tad lietotājam ir jāeksistē arī Zabbix, taču tā Zabbix parole netiks izmantota. Ja autentifikācija ir veiksmīga, tad Zabbix salīdzinās lokālu lietotājvārdu ar lietotājvārda atribūtu, ko atgriež LDAP.

Lietotāju nodrošināšana

Ir iespējams konfigurēt JIT (just-in-time) lietotāju nodrošināšanu LDAP lietotājiem. Šajā gadījumā nav nepieciešams, lai lietotājs jau eksistētu Zabbix. Lietotāja kontu var izveidot, kad lietotājs pirmo reizi piesakās Zabbix.

Kad LDAP lietotājs ievada savu LDAP pieteikšanās vārdu un paroli, Zabbix pārbauda, vai šis lietotājs eksistē noklusējuma LDAP serverī. Ja lietotājs eksistē un viņam vēl nav konta Zabbix, Zabbix tiek izveidots jauns lietotājs un lietotājs var pieteikties.

Lietotājs, kas izveidots, izmantojot JIT nodrošināšanu, tiek saistīts ar LDAP serveri (direktoriju), kas izveides brīdī ir iestatīts kā noklusējuma serveris. Vēlāka noklusējuma LDAP servera maiņa nemaina un neatjaunina LDAP serveri, kas ir saistīts ar lietotājiem, kuri jau tika nodrošināti.

Ja JIT nodrošināšana ir iespējota, cilnē Authentication ir jānorāda lietotāju grupa atnodrošinātajiem lietotājiem.

JIT nodrošināšana ļauj arī atjaunināt nodrošinātos lietotāju kontus, pamatojoties uz izmaiņām LDAP. Piemēram, ja lietotājs tiek pārvietots no vienas LDAP grupas uz citu, lietotājs tiks pārvietots arī no vienas grupas uz citu Zabbix; ja lietotājs tiek noņemts no LDAP grupas, lietotājs tiks noņemts arī no grupas Zabbix un, ja viņš nepieder nevienai citai grupai, tiks pievienots atnodrošināto lietotāju grupai. Nodrošinātie lietotāju konti tiek atjaunināti, pamatojoties uz konfigurēto nodrošināšanas periodu vai kad lietotājs piesakās Zabbix.

Ņemiet vērā, ka fona nodrošināšanu veic Zabbix lietotāja saskarne, kamēr lietotājs ar to mijiedarbojas vai vismaz pārlūkprogrammā ir atvērta lietotāja saskarnes lapa. Nav īpašu fona procesu lietotāju nodrošināšanai.

LDAP atbalsta trīs veidus, kā piesaistīties direktorijam autentifikācijai un meklēšanai:

  • Anonīma piesaiste — nav norādīts Bind DN / Bind password, un LDAP serveris atļauj anonīmus vaicājumus.
  • Īpašs piesaistes lietotājs (servisa konts) — konkrēts LDAP konts ir iestatīts laukos Bind DN / Bind password un to Zabbix izmanto meklēšanai un nodrošināšanai. Šī ir ieteicamā un elastīgākā opcija, jo Zabbix var veikt meklēšanu un fona nodrošināšanu bez galalietotāja akreditācijas datiem.
  • Tieša lietotāja piesaiste — Zabbix veic piesaisti, izmantojot akreditācijas datus, ko lietotājs ievada pieteikšanās laikā (nav konfigurēts Bind DN / Bind password); to konfigurē, Base DN iekļaujot vietturi, piemēram, uid=%{user}. Šajā režīmā Zabbix piekļūst lietotāja parolei tikai interaktīvās pieteikšanās laikā. Tādēļ nodrošināšanas darbības, kurām nepieciešama autentificēšanās LDAP ārpus lietotāja pieteikšanās sesijas (piemēram, izmantojot pogu Provision now vai palaižot fona nodrošināšanu, kad lietotājs nav aktīvi pieteicies), nevar autentificēties un tāpēc nedarbosies. Tiešās lietotāja piesaistes gadījumā nodrošināšana un atjauninājumi notiek tikai brīdī, kad lietotājs piesakās.

Vairāki serveri

Ja nepieciešams, var definēt vairākus LDAP serverus. Piemēram, citu serveri var izmantot citas lietotāju grupas autentificēšanai. Kad LDAP serveri ir konfigurēti, lietotāju grupas konfigurācijā kļūst iespējams atlasīt attiecīgajai lietotāju grupai nepieciešamo LDAP serveri.

Ja lietotājs ir vairākās lietotāju grupās un vairākos LDAP serveros, autentificēšanai tiks izmantots pirmais serveris LDAP serveru sarakstā, kas sakārtots pēc nosaukuma augošā secībā.

Konfigurācija

Konfigurācijas parametri:

Parameter Description
Enable LDAP authentication Atzīmējiet izvēles rūtiņu, lai iespējotu LDAP autentifikāciju.
Enable JIT provisioning Atzīmējiet izvēles rūtiņu, lai iespējotu JIT nodrošināšanu.
Servers Noklikšķiniet uz Add, lai konfigurētu LDAP serveri (skatiet tālāk LDAP servera konfigurācija).
Case-sensitive login Noņemiet atzīmi no izvēles rūtiņas, lai atspējotu lietotājvārdu reģistrjutīgu pieteikšanos (pēc noklusējuma iespējota).
Reģistrjutīgas pieteikšanās atspējošana ļauj, piemēram, pieteikties kā "admin", pat ja Zabbix lietotājs ir "Admin" vai "ADMIN".
Lūdzu, ņemiet vērā: ja reģistrjutīga pieteikšanās ir atspējota un ir vairāki Zabbix lietotāji ar līdzīgiem lietotājvārdiem (piem., Admin un admin), šo lietotāju pieteikšanās vienmēr tiks liegta ar šādu kļūdas ziņojumu: "Authentication failed: supplied credentials are not unique."
Provisioning period Iestatiet nodrošināšanas periodu, t. i., cik bieži pieteicies lietotājs tiks nodrošināts, strādājot ar lietotāja saskarni.

LDAP servera konfigurācija

LDAP servera konfigurācijas parametri:

Parameter Description
Name LDAP servera nosaukums Zabbix konfigurācijā.
Host LDAP servera resursdatora nosaukums, IP adrese vai URI. Piemēri: ldap.example.com, 127.0.0.1, ldap://ldap.example.com
Drošam LDAP serverim izmantojiet ldaps protokolu un resursdatora nosaukumu. Piemērs: ldaps://ldap.example.com
Izmantojot OpenLDAP 2.x.x un jaunāku versiju, var izmantot pilnu LDAP URI formā ldap://hostname:port vai ldaps://hostname:port.
Port LDAP servera ports. Noklusējuma vērtība ir 389.
Drošam LDAP savienojumam porta numurs parasti ir 636.
Netiek izmantots, ja tiek lietoti pilni LDAP URI.
Base DN LDAP serverī esošo lietotāju kontu bāzes ceļš:
ou=Users,ou=system (OpenLDAP gadījumā),
DC=company,DC=com (Microsoft Active Directory gadījumā)
uid=%{user},dc=example,dc=com (tiešai lietotāja piesaistei, skatiet piezīmi zemāk)
Search attribute LDAP konta atribūts, ko izmanto meklēšanai:
uid (OpenLDAP gadījumā),
sAMAccountName (Microsoft Active Directory gadījumā)
Bind DN LDAP konts piesaistei un meklēšanai LDAP serverī, piemēri:
uid=ldap_search,ou=system (OpenLDAP gadījumā),
CN=ldap_search,OU=user_group,DC=company,DC=com (Microsoft Active Directory gadījumā)
Tiek atbalstīta arī anonīma piesaiste. Ņemiet vērā, ka anonīma piesaiste potenciāli atver domēna konfigurāciju neatļautiem lietotājiem (informācija par lietotājiem, datoriem, serveriem, grupām, pakalpojumiem utt.). Drošības apsvērumu dēļ atspējojiet anonīmās piesaistes LDAP hosts un izmantojiet autentificētu piekļuvi.
Bind password LDAP konta parole piesaistei un meklēšanai LDAP serverī.
Description LDAP servera apraksts.
Configure JIT provisioning Atzīmējiet šo izvēles rūtiņu, lai parādītu ar JIT provisioning saistītās opcijas.
Group configuration Atlasiet grupu konfigurācijas metodi:
memberOf - meklējot lietotājus un viņu grupas piederības atribūtu
groupOfNames - meklējot grupas, izmantojot member atribūtu
Ņemiet vērā, ka memberOf ir ieteicamāka, jo tā ir ātrāka; izmantojiet groupOfNames, ja jūsu LDAP serveris neatbalsta memberOf vai ir nepieciešama grupu filtrēšana.
Group name attribute Norādiet atribūtu, no kura iegūt grupas nosaukumu no visiem objektiem memberOf atribūtā (skatiet lauku User group membership attribute).
Grupas nosaukums ir nepieciešams lietotāju grupu kartēšanai.
User group membership attribute Norādiet atribūtu, kas satur informāciju par grupām, kurām lietotājs pieder (piem., memberOf).
Piemēram, memberOf atribūts var saturēt šādu informāciju: memberOf=cn=zabbix-admin,ou=Groups,dc=example,dc=com
Šis lauks ir pieejams tikai memberOf metodei.
User name attribute Norādiet atribūtu, kas satur lietotāja vārdu.
User last name attribute Norādiet atribūtu, kas satur lietotāja uzvārdu.
User group mapping Kartējiet LDAP lietotāju grupas modeli uz Zabbix lietotāju grupu un lietotāja lomu.
Tas ir nepieciešams, lai noteiktu, kādu lietotāju grupu/lomu provisionētais lietotājs saņems Zabbix.
Noklikšķiniet Add, lai pievienotu kartējumu.
Lauks LDAP group pattern atbalsta aizstājējzīmes. Grupas nosaukumam ir jāsakrīt ar esošu grupu.
Ja LDAP lietotājs atbilst vairākām Zabbix lietotāju grupām, lietotājs kļūst par visu šo grupu dalībnieku.
Ja lietotājs atbilst vairākām Zabbix lietotāju lomām, lietotājs saņems to, kurai ir visaugstākais atļauju līmenis.
Media type mapping Kartējiet lietotāja LDAP media atribūtus (piem., e-pastu) uz Zabbix lietotāja medijiem paziņojumu sūtīšanai (atribūta vērtība tiek izmantota kā medija Send to lauks).
Advanced configuration Noklikšķiniet uz virsraksta Advanced configuration, lai parādītu papildu konfigurācijas opcijas (skatiet tālāk).
StartTLS Atzīmējiet izvēles rūtiņu, lai, izveidojot savienojumu ar LDAP serveri, izmantotu StartTLS darbību. Savienojums neizdosies, ja serveris neatbalsta StartTLS.
StartTLS nevar izmantot ar serveriem, kas izmanto ldaps protokolu.
Search filter Definējiet pielāgotu virkni, autentificējot lietotāju LDAP. Tiek atbalstīti šādi vietturi:
%{attr} - meklēšanas atribūta nosaukums (uid, sAMAccountName)
%{user} - autentificējamā lietotāja lietotājvārda vērtība
Piemēram, lai veiktu reģistrjutīgu meklēšanu reģistrnejutīgā LDAP vai Microsoft Active Directory vidē, virkni var definēt šādi:
(%{attr}:caseExactMatch:=%{user}).
Ja filtrs nav pielāgots, LDAP izmantos noklusējumu: (%{attr}=%{user}).

Lai konfigurētu LDAP serveri tiešai lietotāja piesaistei, pievienojiet atribūtu uid=%{user} parametram Base DN (piemēram, uid=%{user},dc=example,dc=com) un atstājiet parametrus BindDN un Bind password tukšus. Autentificēšanas laikā vietturis %{user} tiks aizstāts ar lietotājvārdu, kas ievadīts pieteikšanās laikā.
Izmantojot tiešo lietotāja piesaisti, Zabbix piekļūst lietotāja akreditācijas datiem tikai interaktīvās pieteikšanās laikā. Tāpēc provisioning uzdevumi, kas darbojas bez interaktīvas pieteikšanās (piemēram, poga Provision now vai user.provision API metode), ignorēs lietotājus, kas autentificējas, izmantojot tiešo lietotāja piesaisti, jo Zabbix nevar piesaistīties viņu vārdā. Izmantojiet anonīmu piesaisti vai atsevišķu piesaistes lietotāju (pakalpojuma kontu), ja nepieciešams, lai provisioning un LDAP meklēšana darbotos no lietotāja saskarnes, neprasot, lai galalietotājs būtu pieteicies.

Tālāk norādītie lauki ir specifiski "groupOfNames" kā Group configuration metodei:

Parameter Description
Group base DN LDAP serverī esošo grupu bāzes ceļš.
Group name attribute Norādiet atribūtu, no kura iegūt grupas nosaukumu norādītajā grupu bāzes ceļā.
Grupas nosaukums ir nepieciešams lietotāju grupu kartēšanai.
Group member attribute Norādiet atribūtu, kas satur informāciju par grupas dalībniekiem LDAP (piem., member).
Reference attribute Norādiet atsauces atribūtu grupas filtram (skatiet lauku Group filter).
Pēc tam grupas filtrā izmantojiet %{ref}, lai iegūtu vērtības šeit norādītajam atribūtam.
Group filter Norādiet filtru, lai izgūtu grupu, kuras dalībnieks ir lietotājs.
Piemēram, (member=uid=%{ref},ou=Users,dc=example,dc=com) atbildīs "User1", ja grupas member atribūts ir uid=User1,ou=Users,dc=example,dc=com, un atgriezīs grupu, kuras dalībnieks ir "User1".

Ja rodas problēmas ar sertifikātiem, lai drošs LDAP savienojums (ldaps) darbotos, iespējams, būs jāpievieno rinda TLS_REQCERT allow konfigurācijas failam /etc/openldap/ldap.conf. Tas var samazināt savienojuma drošību ar LDAP katalogu.

Ieteicams izveidot atsevišķu LDAP kontu (Bind DN), lai veiktu piesaisti un meklēšanu LDAP serverī ar minimālām LDAP privilēģijām, nevis izmantotu reālus lietotāju kontus (kas tiek izmantoti pieteikšanās Zabbix lietotāja saskarnē).
Šāda pieeja nodrošina lielāku drošību un neprasa mainīt Bind password, kad lietotājs maina savu paroli LDAP serverī.
Iepriekšējā tabulā tas ir konta nosaukums ldap_search.

Piekļuves testēšana

Poga Test ļauj pārbaudīt lietotāja piekļuvi:

Parametrs Apraksts
Login LDAP lietotāja vārds testēšanai (iepriekš aizpildīts ar pašreizējā lietotāja vārdu no Zabbix lietotāja saskarne). Šim lietotāja vārdam jāeksistē LDAP serverī.
Zabbix neaktivizēs LDAP autentifikāciju, ja tas nespēs autentificēt testa lietotāju.
User password LDAP lietotāja parole testēšanai.