অ্যাপাচি এলডিএপি-তে নেস্টেড গ্রুপগুলিতে ব্যবহারকারীদের কীভাবে প্রমাণীকরণ করবেন?


21

আমি নিম্নলিখিত সেটআপের সাথে এলডিএপি প্রমাণীকরণের কাজ করছি

 AuthName            "whatever"
 AuthType            Basic
 AuthBasicProvider   ldap
 AuthLDAPUrl         "ldap://server/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=company,DC=local?sAMAccountName?sub?(objectClass=*)"
 Require ldap-group  CN=MySpecificGroup,OU=Security Groups,OU=MyBusiness,DC=company,DC=local

এটি কাজ করে, তবে আমি যা ব্যবহার করতে চাইছি তাতে সমস্ত ব্যবহারকারীকে রেখেছি MySpecificGroup। তবে এলডিএপি সার্ভারে আমি কনফিগার করেছি যে ব্যবহারকারীর আরও একটি তালিকা সহ MySpecificGroupগ্রুপটি রয়েছে MyOtherGroup

তবে সেই ব্যবহারকারীরা MyOtherGroupসত্যায়িত নয়, আমি তাদের হাতে ম্যানুয়ালি যোগ করেছি MySpecificGroupএবং মূলত নেস্টেড গ্রুপিং ব্যবহার করতে পারি না। আমি উইন্ডোজ এসবিএস 2003 ব্যবহার করছি।

এটি করার জন্য অ্যাপাচি এলডিএপি কনফিগার করার কোনও উপায় আছে কি? অথবা সম্ভাব্য অসীম পুনরাবৃত্তি নিয়ে কোনও সমস্যা আছে এবং এর ফলে অনুমোদিত নয়?

উত্তর:


19

AuthLDAPSubGroupDepthএই কাজটি করার জন্য আপনাকে সেট করা দরকার । আপনি এখানে প্রদত্ত পূর্ণসংখ্যাটি সাব-গ্রুপ নেস্টিংয়ের সর্বোচ্চ গভীরতা নির্দিষ্ট করে যা ব্যবহারকারীর অনুসন্ধান বন্ধ হওয়ার আগে মূল্যায়ন করা হবে।

এটি আপনার কনফিগারেশনে যুক্ত করুন:

AuthLDAPSubGroupDepth 1

আরও তথ্য: এখানে এবং এখানে


আমি অ্যাপাচি ২.২ চালিয়ে যাচ্ছি, এটি মোড_আউথনজ_ল্ডাপ অথলডিএপিএসএসবগ্রুপডেপথের নির্দেশনা নেই: httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html
পাভেল

সুতরাং, আপডেট না কেন?
বার্ট ডি ভোস

2
আমি ডেবিয়ান স্কুইজ চালাচ্ছি এবং আমি স্থিতিশীল বিতরণ থেকে প্যাকেজগুলি ব্যবহার করতে পছন্দ করি: ভাল পরীক্ষিত, নিয়মিত সুরক্ষা আপডেট। অ্যাপাচি ২.৩ এখনও বিটা, এটি শীঘ্রই স্থিতিশীল বা স্থিতিশীল-ব্যাকপোর্টগুলিতে উপস্থিত হবে। আমি AuthnProviderAliasআপাতত ব্যবহার করে এই সমস্যাটি সমাধান করেছি । যদি কেউ অ্যাপাচি ২.২ এর সমাধান না দেয় তবে অনুগ্রহ আপনারই :)
সেলিভানভ পাভেল

বিভিন্ন সার্ভারে গ্রুপগুলির নতুন তথ্য দেওয়া, আমি মনে করি না এই পদ্ধতিটি এখনও কাজ করবে।
জেফ স্ট্রান্চ

3
অ্যাথেলডিএপসপগ্রুপডেপথ অ্যাপাচি HTTPd 2.4 তে বিদ্যমান নেই in AuthLDAPMaxSubGroupDepth সঠিক ব্যবহারের সঠিক নির্দেশনা।
ক্রিস হ্যারিস

33

এছাড়াও AuthLDAPSubGroupDepth, এটি কেবল অ্যাপাচি ২.৪ এ উপলব্ধ, মাইক্রোসফ্ট এডি এলডিএপি ব্যবহার করার সময়, এলডিএপি_এমএটিচিং_আরইউএল_এইচএইচ ম্যাচের নিয়ম ব্যবহার করে নেস্টেড গ্রুপগুলি ব্যবহার করে অনুমোদন করা সম্ভব। এটি ক্লায়েন্টে সাবগ্রুপগুলি অনুসন্ধান করার চেয়ে অনেক দ্রুত, কারণ এটি ডিসি সার্ভারে নেটওয়ার্কের তুলনায় কম প্রশ্নের সাথে করা হয়।

Require ldap-filter memberof:1.2.840.113556.1.4.1941:=CN=Access to Apache,OU=My Organization Unit,DC=company,DC=com

স্ট্রিংকে 1.2.840.113556.1.4.1941একটি ওআইডি বলা হয় LDAP_MATCHING_RULE_IN_CHAIN। এই ওআইডি মাইক্রোসফ্ট দ্বারা এলডিএপি প্রয়োগের (অ্যাক্টিভ ডিরেক্টরি নির্দেশের অংশ) ব্যবহারের জন্য নিয়োগ দেওয়া হয়েছে। আপনি অন্যান্য LDAP সার্ভারের সাথে এটি ব্যবহার করতে পারবেন না। মানবের পুনঃনির্মাণযোগ্য বিন্যাসটি হ'ল:iso(1).member_body(2).us(840).microsoft(113556).ad(1).as_schema(4).LDAP_MATCHING_RULE_IN_CHAIN(1941)

মাইক্রোসফ্ট ডকুমেন্টেশন থেকে:

এই নিয়মটি ফিল্টারগুলিতে সীমাবদ্ধ যা ডিএন-এর জন্য প্রযোজ্য। এটি একটি বিশেষ "বর্ধিত" ম্যাচ অপারেটর যা কোনও মিল খুঁজে না পাওয়া অবধি অবধি বস্তুগুলিতে পিতৃপুরুষের শৃঙ্খলটি অনুসরণ করে।

আরো দেখুন:


আমি যদি এই 10x upvote করতে পারি। RHEL 5 চালিয়ে যাওয়া লোকদের জন্য, এটি দুর্দান্ত সমাধান। সর্বশেষ বৈশিষ্ট্যগুলি পেতে বিক্রেতার উত্স সংকলন করা সর্বদা পছন্দসই সমাধান নয়!
অ্যারন কোপালি

আমি আনন্দিত যে এটি সাহায্য করেছে। আমি মনে করি এটি অ্যাপাচে LDAP_MATCHING_RULE_IN_CHAIN ​​এর প্রথম নথিভুক্ত ব্যবহার।
মিরসিয়া ভুটকোভিচি

LDAP_MATCHING_RULE_IN_CHAINপুনরাবৃত্তকারী গোষ্ঠী সদস্যতা পুনরুদ্ধার করার জন্য এবং এটি ব্যাকএন্ড সার্ভারে অ্যাপাচি (বিপরীত প্রক্সি হিসাবে অ্যাপাচি ব্যবহার করে) পাস করার জন্য কি কোনও উপায় আছে ??
গের্শন পাপি

mod_authnz_ldapএটি সরবরাহ করে না তবে আপনি LDAP_MATCHING_RULE_IN_CHAINআপনার অ্যাপ্লিকেশনটিতে এলডিএপি ফিল্টার ব্যবহার করতে পারেন । দেখুন: stackoverflow.com/a/34075052/290087
Mircea Vutcovici

6

দেখে মনে হচ্ছে অ্যাপাচি ২.২-এ আপনার একমাত্র বিকল্পটি হ'ল প্রতিটি মূল তালিকাটি যা আপনার প্রধান অনুমোদিত গোষ্ঠী দ্বারা অন্তর্ভুক্ত রয়েছে।

Require ldap-group  CN=MySpecificGroup,OU=Security Groups,OU=MyBusiness,DC=company,DC=local
Require ldap-group  CN=MyOtherGroup,OU=Security Groups,OU=MyBusiness,DC=company,DC=local

আপনার নেস্টেড গ্রুপগুলি খুব জটিল না হলে এটি যুক্তিসঙ্গত হওয়া উচিত।


AD ডোমেনগুলি অতিক্রম করে (দুটি LDAP সার্ভার ব্যবহার করে)

আপনার প্রমাণীকরণের প্রক্সি দেওয়ার জন্য আপনার ওয়েব সার্ভারে চলমান slapd_meta ওভারলে দিয়ে আপনি ওপেনলডিএপ সেট করতে পারেন ।

/etc/ldap/slapd.conf এর মতো কিছু দেখতে পাওয়া উচিত:

database meta
suffix   "DC=company,DC=local"
uri      "ldap://a.foo.com/OU=MyBusiness,DC=company,DC=local"
uri      "ldap://b.foo.com/OU=otherdomainsuffix,DC=company,DC=local"

তারপরে, আপনার মোড_আউথনজ_ল্ডপ স্তম্ভটি দেখতে এর মতো দেখতে পাবেন:

AuthName            "whatever"
AuthType            Basic
AuthBasicProvider   ldap
AuthLDAPUrl         "ldapi:///DC=company,DC=local?sAMAccountName?sub?(objectClass=*)"
Require ldap-group  CN=MySpecificGroup,OU=Security Groups,OU=MyBusiness,DC=company,DC=local
Require ldap-group  CN=MyOtherGroup,OU=Security Groups,OU=otherdomainsuffix,DC=company,DC=local

এটির কাজটি পেতে এটির জন্য কিছু ম্যাসেজের প্রয়োজন হবে তবে আমি মনে করি এটি সাধারণ ধারণা।


1
দুর্ভাগ্যক্রমে এটি কাজ করে না যখন গোষ্ঠীগুলি বিভিন্ন AD ডোমেনগুলিতে থাকে (ডোমেন 1_ডোমেনলোক্যাল_গ্রুপে ডোমেন 2_গ্লোবাল_গ্রুপ অন্তর্ভুক্ত)। এটিই আমি প্রথম চেষ্টা করেছি :)
সেলিবানোভ পাভেল

তার মানে কি এই যে গ্রুপগুলির মধ্যে একটি আলাদা সার্ভারে রয়েছে? যদি এটি সত্য হয় তবে আমি সন্দেহ করি যে AuthLDAPSubGroupDepth আপনার পক্ষেও কাজ করবে না।
জেফ স্ট্রানক

হ্যাঁ, দুটি সার্ভার, দুটি ডোমেন। আমি AD তে লিনাক্স বাক্সকে একীভূত করা এবং প্যাম প্রমাণীকরণ ব্যবহার করার বিষয়ে বিবেচনা করেছি, তবে অ্যাপাচি ২.০ থেকে মোড-অ্যাথ-পাম সমর্থিত নয়, মোড-আথনজ-এক্সটার্নাল + পাওথ গ্রুপগুলি সমর্থন করে না। এই সব দুঃখজনকভাবে :(
সেলভিয়ানভ পাভেল

1
ওহ, আমি লক্ষ্য করি না যে আপনি উত্তর আপডেট করেছেন। ওপেনলডিএপি slapd_meta ব্যবহার করা সমাধান হতে পারে, তবে এটি এই কনফিগারেশনের মূল পয়েন্টটি মেরে ফেলে: একক পয়েন্টে (অ্যাক্টিভ ডিরেক্টরি) ব্যবহারকারীদের গোষ্ঠী থেকে এবং একে অপরের গোষ্ঠীগুলি অন্তর্ভুক্ত করে মুছে ফেলার মাধ্যমে ব্যবহারকারীর অধিকারগুলি পরিচালিত করুন। অতিরিক্ত ওপেনলডিএপি পরিষেবা ব্যতীত অথনপ্রোভিডারআলিয়াসের সাথে আমার অ্যানালগ সমাধানটি এখানে রয়েছে: <অউথনপ্রোভিডারআলিয়াস ldap প্রথম-ldap> আউথলডিএপিআরএল ... <আউনপ্রোভিডারআলিয়াস ldap দ্বিতীয়-ldap> আথলডিপিআরএল ... প্রথমআথিক্রোভাইডার ... -ldap
পাভেল

1
আমি বার্ট ডি ভোসকে অনুদান দেওয়ার সিদ্ধান্ত নিয়েছি: এটি আমার প্রশ্ন নয়; মূল প্রশ্নের জন্য (আমার নিজের নির্দিষ্ট ব্যতীত) তার সমাধানটি সহজ এবং কাজ করবে
সেলিভানভ পাভেল

4

@ মির্সিয়া_ভুটকোভিসি প্রদত্ত সমাধানটি আমার পক্ষে কাজ করার সময়, আমার একমাত্র সমালোচনা হ'ল লোকেরা যখন বিটওয়াইজ অপারেটরগুলি ব্যবহার করতে দেখবে তখন তারা বোকা হতে পারে।

উদাহরণস্বরূপ, আমি একটি অ্যাপাচি ব্লাডহাউন্ড ইনস্টলেশনটি হস্তান্তর করব, যা অ্যাডি গ্রুপ লেখার সাথে অ্যাপাচি এইচটিটিপিডি ব্যবহার করে একটি সহযোগী বিকাশকারীদের একটি গ্রুপকে end বিটওয়াইজ অপারেটরদের সাথে তাদের আঁকড়ে উঠতে সমস্যা হবে। অ্যাডমিনগুলি অবশ্যই দুর্বোধ্য হবে না ... আমি আশা করি

বলা হচ্ছে, আমার একটি সমাধান রয়েছে যা বিটওয়াইস অপারেটর ব্যবহার করে না এবং এটি একাধিক ldap-গ্রুপ সংজ্ঞা ব্যবহার করে না।

নিম্নলিখিত কনফিগারেশন আমার জন্য কাজ করে:

<Location /protected>
    # Using this to bind
    AuthLDAPURL "ldap://<MY_SERVER>:3268/<MY_SEARCH_BASE>?sAMAccountName?sub?(objectClass=user)"
    AuthLDAPBindDN "<MY_BIND_DN>"
    AuthLDAPBindPassword "<MY_PASSWORD>"
    LDAPReferrals Off

    AuthType Basic
    AuthName "USE YOUR AD ACCOUNT"
    AuthBasicProvider ldap
    Require ldap-group <MY_PARENT_GROUP>
    AuthLDAPMaxSubGroupDepth 1
    AuthLDAPSubgroupAttribute member
    AuthLDAPSubGroupClass group
    AuthLDAPGroupAttribute member
    AuthLDAPGroupAttributeIsDN on
</Location>

সমালোচনা অংশটি নিম্নলিখিত কনফিগারেশন ছিল:

AuthLDAPSubGroupClass group

AuthLDAPMaxSubGroupDepth নিজে থেকে কাজ করে না, বা যখন AuthLDAPSubgroupAtribute এর সাথে মিলিত হয়। আমি তখনই যখন অথলডিএপিএসপগ্রুপ ক্লাস ব্যবহার করেছি যে সাব গ্রুপগুলির বিরুদ্ধে লেখকরা কাজ শুরু করেছিল ... কমপক্ষে আমার এবং আমার পরিস্থিতির জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.