Il-kredenzjali jgħaddu, il-mina tibda titla’, u mbagħad is-sessjoni tfalli b’messaġġ dwar il-grupp u mhux dwar il-password. Din il-kombinazzjoni tqiegħed il-ħsara fit-tieni nofs tax-xogħol tal-plugin LDAP: l-irbit u l-verifika tal-password irnexxew, u d-deċiżjoni tas-sħubija li tiġi wara ma rnexxietx. Iż-żewġ nofsijiet jaqraw mill-istess blokka tal-konfigurazzjoni, u għalhekk tiswija f’post wieħed tista’ tħalli lill-ieħor bla ma tmissu. Ibda mil-linja tal-log li ssemmi l-pass, mhux mill-kont li tkun qed tittestja bih b’kumbinazzjoni.

Ittratta ċ-ċaħda bħala tweġiba tal-awtorizzazzjoni

Il-plugin jagħmel irbit tas-servizz, ifittex il-kont, jivverifika l-password mogħtija, u mbagħad jistaqsi jekk dak il-kont jappartjenix għal grupp permess. Dawn huma erba’ operazzjonijiet distinti, u biss l-aħħar waħda hija dwar gruppi. Għalhekk ċaħda li tasal wara irbit b’suċċess ma tgħid xejn dwar il-password, anki meta l-klijent juri żball ġeneriku tal-awtentikazzjoni. Li tgħolli l-livell tal-log tal-plugin qabel ma tbiddel il-konfigurazzjoni huwa dak li jifred l-erbgħa fl-output.

Fittex il-valutazzjoni tal-grupp innifisha. Meta ma tidher xejn mistoqsija dwar il-grupp, il-blokka tal-awtorizzazzjoni ma tintlaħaqx, li normalment ifisser li direttiva tinsab barra mill-blokka li tgħoddha jew li għażla obbligatorja hija nieqsa. Meta l-mistoqsija tidher u ma tirritornax xejn, il-punt tat-tmiem jew il-filtru jwieġeb mistoqsija oħra minn dik li kellek f’moħħok.

Iddeċiedi jekk is-sħubija tgħix fil-filtru jew fil-blokka tal-grupp

Hemm żewġ forom appoġġjati, u li tħallathom huwa l-mod kif konfigurazzjoni li taħdem tieqaf taħdem. L-ewwel tgħaddi s-sħubija fit-tiftix tal-utent billi titlob attribut fuq l-oġġett tal-utent; it-tieni tħalli t-tiftix tal-utent u tħalli lill-plugin ifittex l-oġġett tal-grupp wara. Agħżel waħda għal kull implimentazzjoni u ikteb liema għażilt.

<Authorization>
    BaseDN       "OU=People,DC=example,DC=org"
    SearchFilter "(&(sAMAccountName=%u)(memberOf=CN=VPN Access,OU=Groups,DC=example,DC=org))"
    RequireGroup false
</Authorization>

B’dik il-forma l-filtru jiddeċiedi kollox, għalhekk RequireGroup irid ikun false inkella l-plugin imur ifittex oġġett tal-grupp li l-filtru qatt ma semma. L-attribut fil-filtru irid jeżisti fuq l-oġġett tal-utent u jkun mimli, li mhux garantit ladarba l-gruppi jkunu nidfru.

Il-forma l-oħra żżomm it-tiftix sempliċi u żżid tiftixa tal-grupp warajh. L-oġġett tal-grupp jissemma b’mod espliċitu, u l-plugin iqabbel l-utent mal-membri li d-direttorju jirritorna għalih. Xejn fil-filtru tal-utent ma jinbidel, u dan jagħmel din il-forma eħfef biex tiġi awditjata meta tim ieħor imexxi l-grupp.

<Authorization>
    BaseDN       "OU=People,DC=example,DC=org"
    SearchFilter "(sAMAccountName=%u)"
    RequireGroup true
    Group        "CN=VPN Access,OU=Groups,DC=example,DC=org"
</Authorization>

Il-punt agħma huwa komuni: paragun sempliċi tas-sħubija ma jespandix gruppi nidfrin, għalhekk kont li l-aċċess tiegħu jiġi minn grupp ġenitur ifalli filwaqt li l-console xorta turi s-sħubija. Active Directory tesponi member fuq il-grupp, skemi oħra jużaw uniqueMember, u li tipponta lejn l-attribut ħażin iġib riżultat vojt minflok żball.

Agħżel punt tat-tmiem li jżomm l-oġġett tal-grupp

L-URL tiddeċiedi liema direttorju l-plugin jistaqsi, u kontrollur tad-dominju fuq il-port 389 iwieġeb biss għall-kuntest tal-ismijiet tiegħu stess. Katalgu globali fuq il-port 3268 iwieġeb għall-foresta kollha, biss qari u b’sett parzjali ta’ attributi. Meta l-kontijiet ikunu f’dominju wieħed u l-grupp VPN f’ieħor, mistoqsija ta’ dominju wieħed tista’ ssib lill-utent u xorta taqbeż is-sħubija. Dan huwa l-każ fejn iċ-ċaqliq tal-URL għall-port tal-katalgu ssolvi ċ-ċaħda, u dan huwa wkoll il-każ fejn in-nies jiġġeneralizzaw wisq.

Is-sett parzjali tal-attributi huwa l-limitu: attribut li l-katalgu ma jżommx ma jistax jiġi ffiltrat, għalhekk l-istess bidla tista’ tagħmel implimentazzjoni taħdem u oħra tirritorna xejn. Ikkonferma x’jirritorna l-punt tat-tmiem għall-utent u l-grupp reali qabel ma terġa’ tikteb il-blokka. Ir-referrals u t-TLS huma għal darb’oħra kwistjonijiet separati, għax referral irid jiġi segwit u punt tat-tmiem li jitlob TLS jeħtieġ il-fajls tal-fiduċja li jaqblu.

Żomm l-istat tal-kont u l-ambitu tat-tiftix fl-oqsma tagħhom

Il-bandiera tad-diżattivazzjoni tappartjeni lill-filtru, mhux lill-verifika tal-grupp. F’Active Directory hija t-tieni bit ta’ userAccountControl, u mingħajr dik il-kundizzjoni kont diżattivat b’password valida jawtentika ruħu u mbagħad ifalli fil-pass tal-grupp, li jidher bħala bug tal-awtorizzazzjoni. L-ambitu tat-tiftix jappartjeni lid-DN bażi, għax il-bidu mill-għerq tad-dominju huwa aktar bil-mod u jista’ jaqbel ma’ oġġetti barra mill-unità organizzattiva li ridt tkopri.

Żomm id-drittijiet tal-kont tal-irbit dejqa wkoll. Drittijiet wesgħin tad-direttorju jbiddlu filtru konfigurat ħażin f’mistoqsija b’suċċess u jaħbu l-bug sakemm xi ħadd jawditja l-kont. Ibdel is-sħubija fid-direttorju stess, qatt f’lista lokali ta’ eċċezzjonijiet, sabiex id-diżattivazzjoni tal-kont tkun biżżejjed biex tneħħi l-aċċess. Jekk tim ieħor imexxi l-grupp, ftiehem dwar l-attribut li jimlew qabel ma tikteb filtru fuqu.

Ipprova r-riżultat bi tliet kontijiet

Mexxi l-konfigurazzjoni kontra tliet identitajiet: membru permess, kont validu barra mill-grupp u kont li ġie diżattivat. Jekk it-tlieta jiġu miċħuda, l-irbit jew il-mistoqsija tal-grupp huma miksura; jekk it-tlieta jiġu aċċettati, l-ebda kundizzjoni tal-grupp mhi applikata xejn. Riżultat imħallat huwa l-uniku li jipprova li l-konfigurazzjoni tiddistingwi l-każijiet li jimpurtak minnhom.

Aqra l-istess tliet tweġibiet direttament mid-direttorju qabel ma twaħħal il-plugin. L-ewwel mistoqsija turi l-attribut tal-grupp li l-filtru jiddependi fuqu, u t-tieni turi l-valur tal-kontroll tal-kont. Issostitwixxi bl-DN bażi, il-kont u l-punt tat-tmiem tiegħek:

ldapsearch -H ldap://dc01.example.org:3268 -x -D "[email protected]" -W -b "DC=example,DC=org" "(sAMAccountName=alice)" memberOf
ldapsearch -H ldap://dc01.example.org:3268 -x -D "[email protected]" -W -b "DC=example,DC=org" "(sAMAccountName=bob)" userAccountControl

Utent li l-memberOf tiegħu jiġi vojt huwa fatt tad-direttorju, mhux bug tal-plugin, u kont li għadu jawtentika wara li jiġi diżattivat ifisser li l-filtru qed jonqos mill-kundizzjoni tal-kontroll tal-kont. Sejjaħ dik il-prova l-ewwel, imbagħad erġa’ mexxi t-test tat-tliet kontijiet. Żomm il-linja tal-log li semmiet il-pass fallut ħdejn il-bidla fil-konfigurazzjoni, sabiex il-persuna li jmiss tkun tista’ tifred l-awtorizzazzjoni mill-awtentikazzjoni mingħajr ma terġa’ tagħmel it-tiftix.

Artikli relatati