OpenVPN’дин LDAP аутентификациясы иштейт, бирок топ текшерүүсү ишке ашпайт: кайдан кароо керек
Аутентификация өтүшү мүмкүн, ал эми топ текшерүү баарын четке кагат. Authorization блогун, мүчөлүк атрибутун жана каталогдун акыркы чекитин кезеги менен карап чыгыңыз.
Кирүү маалыматтары өтөт, тоннель көтөрүлө баштайт, анан сессия сырсөз тууралуу эмес, топ тууралуу билдирүү менен ишке ашпайт. Бул айкалыш катаны LDAP плагининин ишинин экинчи жарымына жайгаштырат: байлоо жана сырсөздү текшерүү ийгиликтүү болду, ал эми андан кийинки мүчөлүк чечими болбоду. Эки жарым тең бир конфигурация блогунен окушат, ошондуктан бир жердеги оңдоо экинчисин тийбестен калтырышы мүмкүн. Кадамды атаган журнал сабынан баштаңыз, кокустан сынап жаткан каттоо эсебиңизден эмес.
Четке кагууну авторизациянын жообу катары кабыл алыңыз
Плагин кызматтык байлоону аткарат, каттоо эсебин издейт, берилген сырсөздү текшерет, анан ошол эсеп уруксат берилген топко таандыкпы деп сурайт. Бул төрт өзүнчө операция жана акыркысы гана топтор тууралуу. Ошондуктан ийгиликтүү байлоодон кийин келген четке кагуу сырсөз тууралуу эч нерсе айтпайт, кардар жалпы аутентификация катасын көрсөтсө да. Конфигурацияны өзгөртүүнүн алдында плагиндин журнал деңгээлин көтөрүү чыгарылышта бул төртөөнү ажыратат.
Топту баалоонун өзүн издеңиз. Топ суроосу таптакыр көрүнбөсө, авторизация блогуна жетилбейт, бул адатта директива ага ээ болгон блоктон сырткары турганын же милдеттүү параметр жетишпегенин билдирет. Суроо көрүнүп, эч нерсе кайтарбаса, акыркы чекит же чыпка сиз ойлогондон башка суроого жооп берет.
Мүчөлүк чыпкадабы же топ блогундабы — чечиңиз
Колдоого алынган эки форма бар жана аларды аралаштыруу — иштеп жаткан конфигурациянын иштебей калышынын жолу. Биринчиси колдонуучу объектисиндеги атрибутту сурап, мүчөлүктү колдонуучу издөөсүнө түртөт; экинчиси колдонуучу издөөсүн өз калыбында калтырып, плагинге кийин топ объектисин издөөгө мүмкүндүк берет. Ар бир жайгаштыруу үчүн бирөөнү тандап, кайсынысын тандаганыңызды жазыңыз.
<Authorization>
BaseDN "OU=People,DC=example,DC=org"
SearchFilter "(&(sAMAccountName=%u)(memberOf=CN=VPN Access,OU=Groups,DC=example,DC=org))"
RequireGroup false
</Authorization>Бул формада баарын чыпка чечет, ошондуктан RequireGroup false болушу керек, болбосо плагин чыпка эч качан атабаган топ объектисин издейт. Чыпкадагы атрибут колдонуучу объектисинде болушу жана толтурулушу керек, ал эми топтор ичине салынганда бул кепилденбейт.
Башка форма издөөнү жөнөкөй кармап, андан кийин топ издөөсүн кошот. Топ объектиси ачык аталат жана плагин колдонуучуну каталог ага кайтарган мүчөлөр менен салыштырат. Колдонуучу чыпкасында эч нерсе өзгөрбөйт, бул топту башка команда башкарганда бул форманы текшерүүнү жеңилдетет.
<Authorization>
BaseDN "OU=People,DC=example,DC=org"
SearchFilter "(sAMAccountName=%u)"
RequireGroup true
Group "CN=VPN Access,OU=Groups,DC=example,DC=org"
</Authorization>Сокур так бирдей: жөнөкөй мүчөлүк салыштыруу ичине салынган топторду ачпайт, ошондуктан ата-эне тобу аркылуу кирүүсү келген эсеп ишке ашпайт, ал эми консол мүчөлүктү дагы эле көрсөтүп турат. Active Directory топто member атрибутун ачат, башка схемалар uniqueMember колдонушат, туура эмес атрибутту көрсөтүү катанын ордуна бош натыйжа кайтарат.
Топ объектисин кармаган акыркы чекитти тандаңыз
URL плагиндин кайсы каталогдон сураарын чечет, ал эми 389 портундагы домен контроллеру өзүнүн атоо контексти үчүн гана жооп берет. 3268 портундагы глобалдык каталог бүт токой үчүн жооп берет, тек окуу режиминде жана жарым-жартылай атрибут топтому менен. Эсептер бир доменде, VPN тобу башкасында болсо, бир домендик суроо колдонуучуну таап, мүчөлүктү баары бир өткөрүп жибериши мүмкүн. URLди каталог портуна жылдыруу четке кагууну чечкен учуру ушул, жана адамдар ашыкча жалпылаштырган учур да ушул.
Жарым-жартылай атрибут топтому — чек: каталог кармабаган атрибут боюнча чыпкалоо мүмкүн эмес, ошондуктан ошол эле өзгөртүү бир жайгаштырууну иштетип, экинчиси эч нерсе кайтарбашы мүмкүн. Блокту кайра жазганга чейин акыркы чекиттин чыныгы колдонуучу жана топ үчүн эмнени кайтарарын ырастаңыз. Шилтемелер жана TLS кайрадан өзүнчө маселелер, анткени шилтемени ээрчүү керек, ал эми TLS талап кылган акыркы чекитке тиешелүү ишеним файлдары керек.
Эсеп абалын жана издөө камтылышын өз талааларында сактаңыз
Өчүрүү желеги чыпкага таандык, топ текшерүүсүнө эмес. Active Directoryде бул userAccountControl нун экинчи бити, жана бул шартсыз жарактуу сырсөзү бар өчүрүлгөн эсеп аутентификациядан өтүп, анан топ кадамында ишке ашпайт, бул авторизация катасына окшош көрүнөт. Издөө камтылышы базалык DNге таандык, анткени домен тамырынан баштоо жайыраак жана камтууну көздөгөн уюштуруу бирдигинен тышкары объектилерге дал келиши мүмкүн.
Байлоо эсебинин укуктарын да тар кармаңыз. Кенен каталог укуктары туура эмес конфигурацияланган чыпканы ийгиликтүү суроого айландырат жана бирөө эсепти текшергенге чейин катаны жашырат. Мүчөлүктү каталогдун өзүндө өзгөртүңүз, эч качан жергиликтүү өзгөчөлүктөр тизмесинде эмес, ошентип кирүүнү алуу үчүн эсепти өчүрүү жетиштүү болот. Эгер топту башка команда башкарса, ага чыпка жазганга чейин алар толтурган атрибут боюнча макулдашыңыз.
Натыйжаны үч эсеп менен далилдеңиз
Конфигурацияны үч инсанга каршы иштетиңиз: уруксат берилген мүчө, топтон тыш жарактуу эсеп жана өчүрүлгөн эсеп. Эгер үчөө тең четке кагылса, байлоо же топ суроосу бузулган; эгер үчөө тең кабыл алынса, топ шарты такыр колдонулбайт. Аралаш натыйжа гана конфигурация сиз үчүн маанилүү учурларды ажыратарын далилдейт.
Плагинди күнөөлөөдөн мурун ошол эле үч жоопту түз каталогдон окуңуз. Биринчи суроо чыпка көз каранды болгон топ атрибутун көрсөтөт, экинчиси эсепти башкаруу маанисин көрсөтөт. Өз базалык DN, эсеп жана акыркы чекитиңиз менен алмаштырыңыз:
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 бош кайткан колдонуучу — бул каталогдун фактысы, плагиндин катасы эмес, ал эми өчүрүлгөндөн кийин да аутентификациядан өткөн эсеп чыпкада эсепти башкаруу шарты жетишпегенин билдирет. Алгач ошол далилди оңдоңуз, анан үч эсептик тестти кайра иштетиңиз. Ишке ашпаган кадамды атаган журнал сабын конфигурация өзгөрүүсүнүн жанында кармаңыз, кийинки адам издөөнү кайталабастан авторизацияны аутентификациядан ажырата алат.