এই ফিচারের জন্য সমর্থিত সংস্করণগুলো হলো: ফ্রন্টলাইন স্ট্যান্ডার্ড এবং ফ্রন্টলাইন প্লাস; বিজনেস প্লাস; এন্টারপ্রাইজ স্ট্যান্ডার্ড এবং এন্টারপ্রাইজ প্লাস; এডুকেশন ফান্ডামেন্টালস, এডুকেশন স্ট্যান্ডার্ড, এবং এডুকেশন প্লাস; এন্টারপ্রাইজ এসেনশিয়ালস প্লাস। আপনার সংস্করণটি তুলনা করুন।
আপনার LDAP ক্লায়েন্টকে Secure LDAP পরিষেবার সাথে সংযুক্ত করার চেষ্টা করার আগে, আপনি চাইলে ldapsearch , ADSI , বা ldp.exe- এর মতো সহজ টুল ব্যবহার করে একটি দ্রুত সংযোগ পরীক্ষা করে নিতে পারেন। আপনার LDAP ক্লায়েন্টকে পরিষেবার সাথে সংযুক্ত করার সময় কোনো ত্রুটির সম্মুখীন হলে, সমস্যা সমাধানের জন্যও এই টুলগুলি ব্যবহার করা যেতে পারে।
নিচের বিভাগগুলিতে বর্ণিত পরীক্ষাগুলি আপনাকে বুঝতে সাহায্য করবে যে আপনার কনফিগারেশনে কোনো সমস্যা আছে কিনা, সাধারণ ত্রুটির বার্তাগুলি কী কী এবং সেই সমস্যাগুলি কীভাবে সমাধান করা যেতে পারে।
এই নিবন্ধটিতে নিম্নলিখিত বিভাগগুলি রয়েছে:
- সংযোগ যাচাই করুন এবং একটি LDAP কোয়েরি চালান।
একটি LDAP কোয়েরি চালানোর মাধ্যমে আপনি নিশ্চিত করতে পারেন যে আপনি Secure LDAP-এর সাথে সংযোগ স্থাপন করতে এবং কোয়েরি সম্পাদন করতে সক্ষম। - প্রয়োজন হলে, প্রাথমিক সংযোগ পরীক্ষা চালান।
যদি কোনো LDAP কোয়েরি চালাতে ব্যর্থ হয়, তাহলে নেটওয়ার্ক অ্যাক্সেস এবং প্রমাণীকরণ পরীক্ষা করার জন্য প্রাথমিক সংযোগ পরীক্ষা চালান।
দ্রষ্টব্য: এই প্রক্রিয়া চলাকালীন যদি আপনার Google Workspace Support বা Cloud Identity Premium Support-এর সাথে যোগাযোগ করার প্রয়োজন হয়, তাহলে কমান্ডগুলোর আউটপুট অবশ্যই সংরক্ষণ করুন। সাপোর্ট টিমের সাথে শেয়ার করার আগে আউটপুট থেকে যেকোনো ব্যক্তিগত শনাক্তকরণযোগ্য তথ্য মুছে ফেলুন।
সংযোগ যাচাই করুন এবং একটি LDAP কোয়েরি চালান।
একবার আপনি গুগল অ্যাডমিন কনসোলে সিকিউর এলড্যাপ পরিষেবাটি সেট আপ করে নিলে, সিকিউর এলড্যাপের সাথে সংযোগ যাচাই করার জন্য আপনি এই তিনটি সহজ টুলের যেকোনো একটি ব্যবহার করতে পারেন: ldapsearch , ADSI , অথবা ldp.exe । বিস্তারিত বিবরণ এবং নির্দেশাবলীর জন্য, নিচের বিভাগগুলো দেখুন।
এলড্যাপসার্চ
একটি সাধারণ LDAP কোয়েরি করার জন্য কমান্ড লাইন থেকে ldapsearch ইউটিলিটি ব্যবহার করুন। একটি সফল LDAP কোয়েরির ফলাফল নির্দেশ করে যে LDAP ক্লায়েন্ট এবং অন্তর্নিহিত TLS সেশন ও TCP সংযোগ উদ্দেশ্য অনুযায়ী কাজ করছে।
ldapsearch-এর সাথে সংযোগ পরীক্ষা করতে:
- "Add LDAP clients"- এর নির্দেশাবলী অনুসরণ করে একটি LDAP কনফিগারেশন তৈরি করুন এবং সার্টিফিকেটটি ডাউনলোড করুন।
দ্রষ্টব্য: পরীক্ষার পরিবেশ সহজ করার জন্য, নিশ্চিত করুন যে আপনি যে সাংগঠনিক ইউনিটকে LDAP ক্লায়েন্ট অ্যাক্সেসের অনুমোদন দিচ্ছেন, সেখানে অন্তত একজন ব্যবহারকারী আছেন।
- একটি LDAP কোয়েরি চালান। এই উদাহরণটি একজন নির্দিষ্ট ব্যবহারকারীকে কোয়েরি করে (আরও বিস্তারিত জানতে, OpenLDAP ldapsearch দেখুন)।
LDAPTLS_CERT={crt_file} LDAPTLS_KEY={key_file} ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} '(mail={user_email})'প্লেসহোল্ডারগুলিকে নিম্নরূপে প্রতিস্থাপন করুন:
- {crt_file} .crt ফাইলটির নাম
- {key_file} .key ফাইলের ফাইলের নাম
- {domain} ডোমেইন নামের প্রতিটি অংশ, উদাহরণস্বরূপ: example.com হয়ে যাবে "dc=example,dc=com"।
- {user_email} ডোমেইনের একজন ব্যবহারকারীর প্রাথমিক ইমেইল ঠিকানা।
ldapsearch ব্যবহারের উপর কিছু নোট
- যদি কোনো BindDN ভ্যালু প্রদান করা না হয়, তাহলে ldapsearch সার্চটিকে অনুমোদন করার জন্য কী এবং সার্টিফিকেট ব্যবহার করে।
- যদি BindDN ভ্যালুটি অ্যাডমিন কনসোলে আপনার তৈরি করা কোনো LDAP ইউজারনেম হয়, তাহলে ldapsearch অ্যাডমিন কনসোলে কনফিগার করা LDAP ক্লায়েন্টের পারমিশনগুলোই ব্যবহার করবে।
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {ldap_access_credentials_username} -W '(mail={user_email}) - যদি BindDN-এর মান কোনো ওয়ার্কস্পেস ব্যবহারকারীর ইমেল ঠিকানা বা LDAP ডিস্টিংগুইশড নেম হয়, তাহলে ldapsearch সেই ব্যবহারকারীর অনুমতির ভিত্তিতে অনুসন্ধান করার জন্য তার ক্রেডেনশিয়াল ব্যবহার করবে।
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {workspace_username@domain} -W '(mail={user_email})'
stunnel-এর সাথে ldapsearch ব্যবহার করুন
আপনার ডেপ্লয়মেন্টের জন্য যদি stunnel ব্যবহার করার প্রয়োজন হয়, তাহলে এই ধাপগুলো অনুসরণ করুন:
- অ্যাডমিন কনসোলে, ldapsearch-এর জন্য প্রয়োজনীয় ইউজারনেম ও পাসওয়ার্ড তৈরি করতে অ্যাক্সেস ক্রেডেনশিয়াল জেনারেট করুন ।
- নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
ldapsearch -x -D "{username}" -w {password} -H ldap://{stunnel_host}:{stunnel_port} -b dc={domain},dc={domain} '(mail={user_email})'প্লেসহোল্ডারগুলিকে নিম্নরূপে প্রতিস্থাপন করুন:
- {username} অ্যাডমিন কনসোলে তৈরি হওয়া ক্রেডেনশিয়াল থেকে প্রাপ্ত ইউজারনেম।
- অ্যাডমিন কনসোলে তৈরি হওয়া ক্রেডেনশিয়াল থেকে প্রাপ্ত পাসওয়ার্ড {password} ।
- {stunnel_host} : আপনার নেটওয়ার্কে যে মেশিনে stunnel চলছে, তার আইপি অ্যাড্রেস বা হোস্টনেম।
- {stunnel_port} : যে পোর্টে স্টানেল চলছে, আপনার স্টানেল কনফিগারেশন পরীক্ষা করুন।
- {user_email} ডোমেইনের একজন ব্যবহারকারীর প্রাথমিক ইমেইল ঠিকানা।
ldapsearch কমান্ডের সফল দৃশ্যকল্প
ldapsearch কমান্ডটি সফলভাবে সম্পন্ন হলে, LDAP ক্লায়েন্ট তৈরির সময় নির্দিষ্ট করা ইমেলসহ ব্যবহারকারীর তালিকাটি LDIF ফরম্যাটে পাওয়া যাবে।
উদাহরণস্বরূপ:
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.com
dn: dc=example,dc=com
objectClass: top
objectClass: domain
objectClass: dcObject
dc: example
# admin-group, Groups, example.com
dn: cn=admin-group,ou=Groups,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
objectClass: posixGroup
cn: admin-group
displayName: admin-group
description:
gidNumber: 12345
member: uid=admin,ou=Users,dc=example,dc=com
memberUid: admin
googleAdminCreated: FALSE
# example-user, Users, example.com
dn: uid=example-user,ou=Users,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
uid: example-user
googleUid: example-user
posixUid: example-user
cn: example-user
cn: FirstName LastName
sn: FirstName
displayName: FirstName LastName
givenName: FirstName
mail: example-user@example.com
uidNumber: 12345
gidNumber: 12345
homeDirectory: /home/example-user
loginShell: /bin/bash
gecos:
সম্ভাব্য ত্রুটি
- OpenLDAP ক্লায়েন্ট এবং/অথবা লাইব্রেরি SNI সমর্থন ছাড়াই কম্পাইল করা হয়েছে
LDAP ক্লায়েন্টকে (এই ক্ষেত্রে OpenLDAP ) অবশ্যই SNI (সার্ভার নেম ইন্ডিকেশন) সমর্থন করতে হবে। যদি SNI উপলব্ধ না থাকে, তাহলে আপনি নিম্নলিখিতটির মতো একটি ত্রুটি দেখতে পারেন:
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
সুপারিশ:- আপনি যদি MacOS ব্যবহার করেন, তাহলে SASL ডিফল্টরূপে সক্রিয় থাকে এবং "-x" অপশনটি ব্যবহার করে এটিকে বাইপাস করা যায়।
- ldapsearch- এ
-d5অপশনটি যোগ করুন এবং আউটপুটে নিম্নলিখিত লাইনটি খুঁজুন:
TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
ldapsearch স্ট্যাটাস ০ (সফল) ফেরত দেয় কিন্তু কোনো ব্যবহারকারী আউটপুট হিসেবে আসে না।
ক্লায়েন্ট সার্টিফিকেটের সাথে ldapsearch অপশন-x(SASL অথেন্টিকেশন ব্যবহার করুন) নির্দিষ্ট করলে সফলভাবে অথেন্টিকেট হবে, কিন্তু ডোমেইনের ব্যবহারকারীদের তালিকা দেখা যাবে না।
পরামর্শ:-xঅপশনটি সরিয়ে দিয়ে আবার চেষ্টা করুন।
ADSI সম্পাদনা (উইন্ডোজ)
- ক্লায়েন্ট সার্টিফিকেটগুলো ইনস্টল করতে ldp.exe (উইন্ডোজ) -এ ১–১১ নম্বর ধাপগুলো অনুসরণ করুন।
- কার্যক্রমে যান > সংযোগ করুন…
- নিম্নলিখিত সংযোগ সেটিংস প্রবেশ করান:
নাম: আপনার সংযোগের জন্য একটি নাম টাইপ করুন, যেমন Google LDAP ।
সংযোগ বিন্দু: "একটি বিশিষ্ট নাম বা নামকরণের প্রেক্ষাপট নির্বাচন করুন বা টাইপ করুন"
আপনার ডোমেইন নামটি DN ফরম্যাটে লিখুন (উদাহরণস্বরূপ, example.com এর জন্য dc=example,dc=com )।
কম্পিউটার: "একটি ডোমেইন বা সার্ভার নির্বাচন করুন বা টাইপ করুন"
ldap.google.com
SSL-ভিত্তিক এনক্রিপশন ব্যবহার করুন: যাচাই করা হয়েছে - অ্যাডভান্সড... এ ক্লিক করুন এবং নিম্নলিখিত বিবরণগুলি প্রবেশ করান:
পরিচয়পত্র নির্দিষ্ট করুন: যাচাই করা হয়েছে
ইউজারনেম: অ্যাডমিন কনসোল থেকে প্রাপ্ত অ্যাক্সেস ক্রেডেনশিয়াল ইউজারনেম।
পাসওয়ার্ড: অ্যাডমিন কনসোল থেকে প্রাপ্ত অ্যাক্সেস ক্রেডেনশিয়াল পাসওয়ার্ড।
বন্দর নম্বর: ৬৩৬
প্রোটোকল: এলডিএপি
সরল বাইন্ড প্রমাণীকরণ: যাচাই করা হয়েছে - OK-তে ক্লিক করুন, এবং তারপর আবার OK-তে ক্লিক করুন।
- সংযোগ সফল হলে, বেস ডিএন-এর ডিরেক্টরির বিষয়বস্তু ডান প্যানে প্রদর্শিত হয়।
ldp.exe (উইন্ডোজ)
- OpenSSL ইনস্টল করুন।
- সার্টিফিকেট এবং কী ফাইলগুলোকে একটি PKCS12 ফরম্যাটের ফাইলে রূপান্তর করুন। কমান্ড প্রম্পটে নিম্নলিখিতটি লিখুন:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
আউটপুট ফাইলটি এনক্রিপ্ট করতে একটি পাসওয়ার্ড দিন। - কন্ট্রোল প্যানেলে যান।
- সার্চ বক্সে 'সার্টিফিকেট' লিখে সার্চ করুন এবং 'ম্যানেজ ইউজার সার্টিফিকেটস'-এ ক্লিক করুন।
- অ্যাকশন > সমস্ত টাস্ক > ইম্পোর্ট-এ যান…
- বর্তমান ব্যবহারকারীকে নির্বাচন করুন এবং পরবর্তী বোতামে ক্লিক করুন।
- ব্রাউজ করুন… ক্লিক করুন
- ডায়ালগ বক্সের নিচের ডান কোণায় থাকা ফাইল টাইপ ড্রপডাউন থেকে Personal Information Exchange (*.pfx;*.p12) নির্বাচন করুন।
- ধাপ ২ থেকে ldap-client.p12 ফাইলটি নির্বাচন করুন, Open-এ ক্লিক করুন এবং তারপর Next-এ ক্লিক করুন।
- ধাপ ২ থেকে পাসওয়ার্ডটি প্রবেশ করান এবং পরবর্তী বাটনে ক্লিক করুন।
- ব্যক্তিগত সার্টিফিকেট স্টোরটি নির্বাচন করুন, Next-এ ক্লিক করুন এবং তারপর Finish-এ ক্লিক করুন।
- Ldp.exe চালান।
- কানেকশন > কানেক্ট-এ যান...
- নিম্নলিখিত সংযোগের বিবরণ লিখুন:
সার্ভার: ldap.google.com
বন্দর: ৬৩৬
সংযোগহীন: অপরীক্ষিত
SSL: যাচাই করা হয়েছে - OK ক্লিক করুন।
- ভিউ > ট্রি- তে যান।
- বেস ডিএন (base DN) লিখুন। এটি হলো ডিএন ফরম্যাটে আপনার ডোমেইন নেম। (উদাহরণস্বরূপ, example.com- এর জন্য dc=example,dc=com )।
- OK ক্লিক করুন।
- সংযোগ সফল হলে, বেস ডিএন-এর ডিরেক্টরির বিষয়বস্তু ডান প্যানে প্রদর্শিত হয়।
প্রয়োজন হলে, প্রাথমিক সংযোগ পরীক্ষা চালান।
আপনি যদি 'কানেক্টিভিটি যাচাই করুন এবং একটি LDAP কোয়েরি চালান' -এ সফল ফলাফল পেতে ব্যর্থ হন, তাহলে কানেক্টিভিটি পরীক্ষার জন্য এই বিভাগের নির্দেশাবলী অনুসরণ করুন। যদি 'ldapsearch' প্রত্যাশিত ব্যবহারকারীকে সফলভাবে ফেরত না দেয় এবং অন্তর্নিহিত TLS সেশনটি সফল হওয়ার কোনো স্পষ্ট ইঙ্গিত না দেয়, তাহলে OpenSSL ক্লায়েন্ট ব্যবহার করে যাচাই করুন যে OpenLDAP যে নেটওয়ার্ক লেয়ারগুলোর উপর নির্ভর করে সেগুলো প্রত্যাশিতভাবে কাজ করছে কিনা।
প্রাথমিক সংযোগ পরীক্ষা পরিচালনা করতে:
আপনার অপারেটিং সিস্টেমের জন্য openssl ক্লায়েন্ট ইউটিলিটি ইনস্টল করুন।
অধিকাংশ GNU/Linux ডিস্ট্রিবিউশন 'openssl' প্যাকেজটি ব্যবহার করে। অন্যান্য অপারেটিং সিস্টেম সম্পর্কে বিস্তারিত দেখুন।
openssl ক্লায়েন্ট ব্যবহার করে Secure LDAP পরিষেবাতে ম্যানুয়াল সংযোগ স্থাপন করুন:
openssl s_client -connect ldap.google.com:636`openssl s_client` আউটপুটের শেষে নিম্নলিখিত লাইনটির উপস্থিতি দেখে SSL নেগোসিয়েশন সফল হয়েছে কিনা তা নিশ্চিত করুন:
Verify return code: 0 (ok)
সম্ভাব্য ত্রুটি
OpenSSL ক্লায়েন্ট/লাইব্রেরি SNI (সার্ভার নেম ইন্ডিকেশন) সমর্থন করে না।
সংযোগ পরীক্ষা চলাকালীন, নিম্নলিখিত আউটপুটটি ফেরত আসতে পারে:
Verify return code: 18 (self signed certificate)
সিকিওর এলড্যাপ (Secure LDAP) পরিষেবার জন্য এমন একটি টিএলএস (TLS) ক্লায়েন্ট প্রয়োজন যা এসএনআই (SNI - সার্ভার নেম ইন্ডিকেশন) ব্যবহার করে একটি টিএলএস সেশন সমর্থন ও শুরু করে। যদি টিএলএস ক্লায়েন্ট এসএনআই সমর্থন না করে, তাহলে টিএলএস সার্ভার (ldap.google.com) একটি সেলফ-সাইন্ড সার্টিফিকেট ফেরত দেয় যা সিএ (CA) ভ্যালিডেশন চেক পাস করবে না, এবং এটি নির্দেশ করে যে এসএনআই প্রয়োজন।
আউটপুটের শুরুর দিকে নিম্নলিখিত লাইনটি খুঁজে বের করে OpenSSL ক্লায়েন্ট আউটপুট পরীক্ষা করার মাধ্যমে এই আচরণটি নিশ্চিত করা যেতে পারে:
depth=0 OU = "No SNI provided; please fix your client.", CN = invalid2.invalid
এই ত্রুটির কারণগুলোর মধ্যে থাকতে পারে এমন একটি OpenSSL সংস্করণ যা SNI সমর্থন করে না, অথবা এমন কোনো অ্যাপ্লিকেশন যা OpenSSL লাইব্রেরি ব্যবহার করার সময় SNI স্পষ্টভাবে নিষ্ক্রিয় করে রাখে।
সংযোগ প্রত্যাখ্যান করা হয়েছে
যদি নিম্নলিখিত আউটপুটটি ফেরত আসে—যেখানে {timestamp} হলো মাইক্রোসেকেন্ডে একটি UNIX টাইমস্ট্যাম্প—তাহলে TLS নেগোসিয়েশন শুরু হওয়ার আগেই TCP সংযোগটি সক্রিয়ভাবে প্রত্যাখ্যান করা হচ্ছে:
{timestamp}:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
{timestamp}:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:connect:errno=111
এর কারণগুলো নিম্নরূপ হতে পারে:
- স্থানীয় মেশিনে একটি অ্যাপ্লিকেশন-স্তরের বা সিস্টেম-স্তরের ফায়ারওয়াল
- একই ভৌত নেটওয়ার্ক বা আপস্ট্রিম নেটওয়ার্কে একটি ফায়ারওয়াল
তদন্ত করতে, কোন হোস্ট সংযোগটি প্রত্যাখ্যান করছে তা নির্ধারণ করতে tcptraceroute ব্যবহার করুন—উদাহরণস্বরূপ, tcptraceroute ldap.google.com 636 ।