মেয়াদোত্তীর্ণ অ্যাকাউন্টগুলির সাথে একাধিক এলডিএপি সার্ভারের বিরুদ্ধে অ্যাপাচি HTTPd প্রমাণীকরণ করা হচ্ছে


8

সাবভার্সন সংগ্রহস্থলের হোস্টিংয়ের জন্য একাধিক অ্যাক্টিভ ডিরেক্টরি ডোমেনের বিরুদ্ধে প্রমাণীকরণের জন্য আমরা অ্যাপাচি ২.২.৯ (ডিবিয়ান ৫.০, ২.২.৯-১০ + লেনি in তে পাঠানো) তে মোড_আউথনজ_ল্ডাপ এবং মোড_আউথন_ালিয়াস ব্যবহার করছি। আমাদের বর্তমান কনফিগারেশনটি হ'ল:

# Turn up logging
LogLevel debug

# Define authentication providers
<AuthnProviderAlias ldap alpha>
  AuthLDAPBindDN "CN=Subversion,OU=Service Accounts,O=Alpha"
  AuthLDAPBindPassword [[REDACTED]]
  AuthLDAPURL ldap://dc01.alpha:3268/?sAMAccountName?sub?
</AuthnProviderAlias>

<AuthnProviderAlias ldap beta>
  AuthLDAPBindDN "CN=LDAPAuth,OU=Service Accounts,O=Beta"
  AuthLDAPBindPassword [[REDACTED]]
  AuthLDAPURL ldap://ldap.beta:3268/?sAMAccountName?sub?
</AuthnProviderAlias>

# Subversion Repository
<Location /svn>
  DAV svn
  SVNPath /opt/svn/repo
  AuthName "Subversion"
  AuthType Basic
  AuthBasicProvider alpha beta
  AuthzLDAPAuthoritative off
  AuthzSVNAccessFile /opt/svn/authz
  require valid-user
</Location>

আলফা এবং বিটা উভয় ক্ষেত্রেই অ্যাকাউন্ট রয়েছে এমন ব্যবহারকারীদের সাথে আমরা সমস্যার মুখোমুখি হয়েছি, বিশেষত যখন আলফায় তাদের অ্যাকাউন্টগুলির মেয়াদ শেষ হয়ে যায় (তবে এখনও উপস্থিত থাকে; কোম্পানির নীতি হ'ল অ্যাকাউন্টগুলি সর্বনিম্ন 1 বছরের জন্য বেঁচে থাকে)। উদাহরণস্বরূপ, যখন ব্যবহারকারী x (যা আলফায় মেয়াদোত্তীর্ণ অ্যাকাউন্ট, এবং বিটাতে একটি বৈধ অ্যাকাউন্ট) রয়েছে, অ্যাপাচি ত্রুটি লগ নিম্নলিখিতটি রিপোর্ট করে:

[Tue May 11 13:42:07 2010] [debug] mod_authnz_ldap.c(377): [client 10.1.1.104] [14817] auth_ldap authenticate: using URL ldap://dc01.alpha:3268/?sAMAccountName?sub?
[Tue May 11 13:42:08 2010] [warn] [client 10.1.1.104] [14817] auth_ldap authenticate: user x authentication failed; URI /svn/ [ldap_simple_bind_s() to check user credentials failed][Invalid credentials]
[Tue May 11 13:42:08 2010] [error] [client 10.1.1.104] user x: authentication failure for "/svn/": Password Mismatch
[Tue May 11 13:42:08 2010] [debug] mod_deflate.c(615): [client 10.1.1.104] Zlib: Compressed 527 to 359 : URL /svn/

অ-অরক্ষিত ব্যবহারকারী (ননডকুল) হিসাবে প্রমাণীকরণের চেষ্টা উভয় এলডিএপি সার্ভারকে জিজ্ঞাসা করার সঠিক আচরণের ফলাফল:

[Tue May 11 13:42:40 2010] [debug] mod_authnz_ldap.c(377): [client 10.1.1.104] [14815] auth_ldap authenticate: using URL ldap://dc01.alpha:3268/?sAMAccountName?sub?
[Tue May 11 13:42:40 2010] [warn] [client 10.1.1.104] [14815] auth_ldap authenticate: user nobodycool authentication failed; URI /svn/ [User not found][No such object]
[Tue May 11 13:42:40 2010] [debug] mod_authnz_ldap.c(377): [client 10.1.1.104] [14815] auth_ldap authenticate: using URL ldap://ldap.beta:3268/?sAMAccountName?sub?
[Tue May 11 13:42:44 2010] [warn] [client 10.1.1.104] [14815] auth_ldap authenticate: user nobodycool authentication failed; URI /svn/ [User not found][No such object]
[Tue May 11 13:42:44 2010] [error] [client 10.1.1.104] user nobodycool not found: /svn/
[Tue May 11 13:42:44 2010] [debug] mod_deflate.c(615): [client 10.1.1.104] Zlib: Compressed 527 to 359 : URL /svn/

আলফায় যদি কোনও মেয়াদোত্তীর্ণ অ্যাকাউন্টের মুখোমুখি হয় তবে আমি কীভাবে অ্যাপাকে সঠিকভাবে জিজ্ঞাসা করতে কনফিগার করব?

উত্তর:


4

AuthzLDAPAuthoritative offডিরেক্টিভের পরবর্তী মডিউল ব্যবহারকারী ক্যোয়ারীতে একটি ডিএন সাথে মানানসই করা যাবে না শুধুমাত্র যদি মাধ্যমে প্রমাণীকরণ পতনের দেওয়া হবে। বর্তমানে ব্যবহারকারীর মেয়াদ শেষ হলেও, এলডিএপি ক্যোয়ারী সম্পন্ন হওয়ার পরে তাদের অ্যাকাউন্টটি এখনও ফলাফল হিসাবে ফিরে আসবে বলে মনে হয়।

অ্যাক্টিভ ডিরেক্টরী এলডিএপি স্কিমা সম্পর্কে এখানে একটি নির্দিষ্ট উত্তর দেওয়ার জন্য আমি যথেষ্ট পরিমাণে জানি না, তবে আপনি যদি আপনার AuthLDAPURLনির্দেশিকায় এমন একটি ফিল্টার যুক্ত করতে পারেন যা মেয়াদোত্তীর্ণ অ্যাকাউন্টগুলিকে ফিল্টার করে দেয় তবে ফলাফলটি ব্যবহারকারীর নামটির সাথে কোয়েরিতে কোনও ডিএন মেলে না should এর ফলে পরবর্তী মডিউলে প্রমাণীকরণ নেমে আসবে।


1
একটি ফিল্টার যুক্ত কাজ। আলফা থেকে বিটাতে সরানো হয়েছে এমন ব্যবহারকারীদের বিবরণ ক্ষেত্রে একটি ধারাবাহিক স্ট্রিং রাখার জন্য এটি যথেষ্ট দয়াবান ছিল (এজন্য অ্যাকাউন্টগুলির মেয়াদ শেষ হয়ে গেছে)। নিম্নলিখিত ইউআরএলটি সঠিকভাবে কাজ করে: AuthLDAPURL ldap: //dc01.alpha: 3268 /? SAMAccountName? Sub? (& (ऑজেক্টক্লাস = ব্যবহারকারী)) (! (বিবরণ = * সরানো-থেকে-বিটা *)))
ব্রায়ান বাসেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.