OpenVPNen LDAP autentifikazioa funtzionatzen du, baina talde-egiaztapenak huts egiten du: nondik begiratu
Autentifikazioak aurrera egin dezake talde-egiaztapenak denak baztertzen dituen bitartean. Aztertu Authorization blokea, kidetasun-atributua eta katalogoaren amaierako puntua banan-banan.
Kredentzialek aurrera egiten dute, tunela igotzen hasten da, eta orduan saioak huts egiten du pasahitzari buruzkoa ez den talde-mezu batekin. Konbinazio horrek hutsegitea LDAP plugineko lanaren bigarren erdian kokatzen du: bind-ak eta pasahitz-egiaztapenak arrakasta izan zuten, eta ondoren datorren kidetasun-erabakiak ez. Bi erdiek konfigurazio-bloke beretik irakurtzen dute, eta horregatik leku bateko konponketak bestea ukitu gabe utz dezake. Hasi urratsa izendatzen duen log-lerrotik, ez kasualitatez probatzen ari zaren kontutik.
Hartu bazterketa autorizazio-erantzun gisa
Pluginak zerbitzu-bind bat egiten du, kontua bilatzen du, emandako pasahitza egiaztatzen du, eta gero galdetzen du kontu hori baimendutako talde batekoa den. Lau eragiketa bereizi dira, eta azkena soilik da taldeei buruzkoa. Beraz, bind arrakastatsuaren ondoren iristen den bazterketak ezer ez du pasahitzari buruz esaten, bezeroak autentifikazio-errore orokorra erakusten duenean ere. Konfigurazioa aldatu aurretik pluginaren log-maila igotzea da laurek irteeran bereiztea ahalbidetzen duena.
Bilatu taldearen ebaluazioa bera. Talde-kontsultarik inondik agertzen ez denean, autorizazio-blokea ez da iristen, eta horrek esan nahi du normalean direktiba bat berau duen bloketik kanpo dagoela edo derrigorrezko aukera bat falta dela. Kontsulta agertzen denean eta ezer itzultzen ez duenean, amaierako puntuak edo iragazkiak zuk nahi zenuenaren bestelako galdera bati erantzuten dio.
Erabaki kidetasuna iragazkian edo talde-bloke batean bizi den
Onartutako bi forma daude, eta hauek nahastea da funtzionatzen zuen konfigurazio batek funtzionatzeari uzten dion modua. Lehenak kidetasuna erabiltzaile-bilaketara bultzatzen du erabiltzaile-objektuan atributu bat eskatuz; bigarrenak erabiltzaile-bilaketa bakean uzten du eta pluginari talde-objektua geroago bilatzeko agintzen dio. Aukeratu bat hedapen bakoitzeko eta idatzi zein aukeratu duzun.
<Authorization>
BaseDN "OU=People,DC=example,DC=org"
SearchFilter "(&(sAMAccountName=%u)(memberOf=CN=VPN Access,OU=Groups,DC=example,DC=org))"
RequireGroup false
</Authorization>Forma horrekin iragazkiak dena erabakitzen du, beraz RequireGroup false izan behar da, bestela pluginak iragazkiak inoiz aipatu ez zuen talde-objektu baten bila abiatuko da. Iragazkiko atributuak erabiltzaile-objektuan existitu eta beteta egon behar du, eta hori ez dago bermatuta taldeak habiaratuta daudenean.
Beste formak bilaketa soil mantentzen du eta talde-bilaketa gehitzen dio ondoren. Talde-objektua esplizituki izendatzen da, eta pluginak erabiltzailea katalogoak horretarako itzultzen dituen kideekin alderatzen du. Erabiltzaile-iragazkian ezer ez da aldatzen, eta horrek forma hau errazagoa egiten du ikuskatzeko taldea beste talde batek kudeatzen duenean.
<Authorization>
BaseDN "OU=People,DC=example,DC=org"
SearchFilter "(sAMAccountName=%u)"
RequireGroup true
Group "CN=VPN Access,OU=Groups,DC=example,DC=org"
</Authorization>Puntu itsua partekatua da: kidetasun-konparaketa soilak ez ditu talde habiaratuak zabaltzen, beraz guraso-talde baten bidez sarbidea duen kontuak huts egiten du, kontsola kidetasuna erakusten jarraitzen duen bitartean. Active Directoryk member erakusten du taldean, beste eskema batzuek uniqueMember erabiltzen dute, eta atributu okerra seinalatzeak errore bat beharrean emaitza hutsa itzultzen du.
Aukeratu talde-objektua duen amaierako puntua
URLak erabakitzen du pluginak zein katalogo galdetzen duen, eta 389 portuko domeinu-kontrolatzaile batek bere izen-espazioaren alde soilik erantzuten du. 3268 portuko katalogo global batek baso osoaren alde erantzuten du, irakurtze soilik eta atributu-multzo partzialarekin. Kontuak domeinu batean eta VPN taldea beste batean daudenean, domeinu bakarreko kontsulta batek erabiltzailea aurki dezake eta kidetasuna huts egin. Hau da URLak katalogoaren portura eramateak bazterketa konpontzen duen kasua, eta hau da, halaber, jendeak gehiegi orokortzen duen kasua.
Atributu-multzo partziala da muga: katalogoak ez duen atributu baten arabera ezin da iragazi, beraz aldaketa berak hedapen bat funtzionarazi eta beste batek ezer ez itzultzea eragin dezake. Berretsi amaierako puntuak benetako erabiltzaile eta taldearentzat benetan zer itzultzen duen blokea berridatzi aurretik. Erreferentzia eta TLS berriro gai bereiziak dira, erreferentzia bat jarraitu behar baita eta TLS eskatzen duen amaierako puntu batek konfiantza-fitxategi egokiak behar baititu.
Eduki kontuaren egoera eta bilaketa-eremua beren eremuetan
Desgaitze-bandera iragazkian dagokio, ez talde-egiaztapenean. Active Directoryn userAccountControl atributuaren bigarren bita da, eta baldintza hori gabe pasahitz baliodun kontu desgaituta autentifikatzen da eta gero talde-urratsean huts egiten du, eta hori autorizazio-errore baten antza du. Bilaketa-eremua oinarrizko DNari dagokio, domeinuaren erroan hastea motelagoa baita eta estali nahi zenuen unitate antolakuntzaz kanpoko objektuekin bat etor daiteke.
Eduki bind-kontuaren eskubideak estu ere. Katalogo-eskubide zabalek oker konfiguratutako iragazki bat kontsulta arrakastatsu bihurtzen dute eta errorea ezkutatzen dute norbaitek kontua ikuskatu arte. Aldatu kidetasuna katalogoan bertan, inoiz ez tokiko salbuespen-zerrenda batean, kontua desgaitzea nahikoa izan dadin sarbidea kentzeko. Taldea beste talde batek kudeatzen badu, adostu haiek betetzen duten atributua haren aurka iragazki bat idatzi aurretik.
Frogatu emaitza hiru konturekin
Exekutatu konfigurazioa hiru identitateren aurka: kide baimendua, taldetik kanpoko kontu balioduna eta desgaitu den kontu bat. Hirurak baztertzen badira, bind-a edo talde-kontsulta hondatuta daude; hirurak onartzen badira, ez da talde-baldintzarik aplikatzen. Emaitza mistoa da axola zaizkizun kasuak konfigurazioak bereizten dituela frogatzen duen emaitza bakarra.
Irakurri hiru erantzun berberak zuzenean katalogotik plugina errudun egin aurretik. Lehen kontsultak iragazkiak menpe duen talde-atributua erakusten du, eta bigarrenak kontu-kontroleko balioa. Ordeztu zure oinarrizko DN, kontu eta amaierako puntuarekin:
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)" userAccountControlmemberOf hutsik itzultzen zaion erabiltzailea katalogoaren egitate bat da, ez pluginaren errore bat, eta desgaitu ondoren oraindik autentifikatzen den kontuak esan nahi du iragazkiari kontu-kontroleko baldintza falta zaiola. Konpondu lehenengo froga hori, eta gero exekutatu berriro hiru kontuko proba. Eduki huts egin zuen urratsa izendatu zuen log-lerroa konfigurazio-aldaketaren ondoan, hurrengo pertsonak autorizazioa autentifikaziotik bereizi ahal izan dezan bilaketa errepikatu gabe.