ফাইন-গ্রেইন্ড পাসওয়ার্ড পলিসি (FGPP) আপনাকে নির্দিষ্ট ব্যবহারকারী বা গ্রুপের জন্য একাধিক পাসওয়ার্ড পলিসি তৈরি করতে দেয়। একাধিক পাসওয়ার্ড পলিসি উইন্ডোজ সার্ভার ২০০৮ ভার্সন থেকে Active Directory-এ উপলব্ধ। এর আগের AD ভার্সনগুলোতে, আপনি ডোমেন প্রতি শুধু একটি পাসওয়ার্ড পলিসি তৈরি করতে পারতেন (Default Domain Policy ব্যবহার করে)।
এই নিবন্ধে আমরা দেখব কিভাবে Active Directory ডোমেনে একাধিক Password Setting Objects তৈরি এবং কনফিগার করতে হয়।
ফাইন-গ্রেইন্ড পাসওয়ার্ড পলিসির কনসেপ্ট
ফাইন-গ্রেইন্ড পাসওয়ার্ড পলিসি অ্যাডমিনিস্ট্রেটরকে একটি AD ডোমেনে একাধিক কাস্টম Password Setting Objects (PSO) তৈরি করতে দেয়। PSO-তে আপনি পাসওয়ার্ডের প্রয়োজনীয়তা (লেন্থ, কমপ্লেক্সিটি, হিস্টরি) এবং অ্যাকাউন্ট লকআউট অপশন সেট করতে পারেন। PSO পলিসি নির্দিষ্ট ব্যবহারকারী বা গ্রুপের জন্য অ্যাসাইন করা যায়, কিন্তু Active Directory কন্টেইনার (OU) এর জন্য নয়। যদি একটি PSO একজন ব্যবহারকারীর জন্য অ্যাসাইন করা হয়, তবে Default Domain Policy GPO-র পাসওয়ার্ড পলিসি সেটিংস সেই ব্যবহারকারীর জন্য আর প্রয়োগ হয় না।
উদাহরণস্বরূপ, FGPP পলিসি ব্যবহার করে অ্যাডমিনিস্ট্রেটর অ্যাকাউন্ট, সার্ভিস অ্যাকাউন্ট, বা বাহ্যিক অ্যাক্সেস সহ ব্যবহারকারীদের (VPN বা DirectAccess দিয়ে) পাসওয়ার্ডের লেন্থ এবং কমপ্লেক্সিটি রিকোয়ারমেন্ট বাড়ানো যায়।
ডোমেনে একাধিক FGPP পাসওয়ার্ড পলিসি ব্যবহার করার বেসিক রিকোয়ারমেন্ট:
- ডোমেন ফাংশনাল লেভেল Windows Server 2008 বা তার উপরের হতে হবে;
- পাসওয়ার্ড পলিসি ব্যবহারকারী বা Global (!) সিকিউরিটি গ্রুপের জন্য অ্যাসাইন করা যায়;
- FGPP সম্পূর্ণরূপে প্রয়োগ হয় (আপনি GPO-তে কিছু পাসওয়ার্ড সেটিং এবং FGPP-তে কিছু সেট করতে পারবেন না)
Active Directory-এ Password Setting Policy (PSO) তৈরি করার পদ্ধতি
Windows Server 2012 এবং নতুন ভার্সনে, আপনি Active Directory Administration Center (ADAC) কনসোলের গ্রাফিক্যাল ইন্টারফেস থেকে Fine-Grained Password Policies তৈরি এবং এডিট করতে পারেন।
AD-এর এই ভার্সনে Active Directory Recycle Binও আছে, যা ডিলিট করা AD অবজেক্ট রিস্টোর করতে দেয়, এবং Managed Service Accounts (gMSA)ও।
এই উদাহরণে, আমরা Domain Admins গ্রুপের জন্য আলাদা একটি পাসওয়ার্ড পলিসি তৈরি এবং অ্যাসাইন করব।
Active Directory Administrative Center (dsac.msc) শুরু করুন, ট্রি ভিউ-এ স্যুইচ করুন এবং System কন্টেইনার এক্সপ্যান্ড করুন। Password Settings Container খুঁজে বের করুন, এতে রাইট-ক্লিক করুন, এবং New → Password Settings সিলেক্ট করুন।

পাসওয়ার্ড পলিসির নাম দিন (আমাদের উদাহরণে Password Policy for Domain Admins) এবং এর সেটিংস কনফিগার করুন (পাসওয়ার্ডের ন্যূনতম লেন্থ এবং কমপ্লেক্সিটি, হিস্টরিতে সংরক্ষিত পাসওয়ার্ডের সংখ্যা, লকআউট সেটিংস, কত দিন পর পাসওয়ার্ড পরিবর্তন করতে হবে, ইত্যাদি)।
PSO-এর প্রতিটি প্যারামিটার (msDS-PasswordSettings ক্লাস) একটি আলাদা AD অ্যাট্রিবিউট দ্বারা বর্ণিত হয়:
- msDS-LockoutDuration
- msDS-LockoutObservationWindow
- msDS-LockoutThreshold
- msDS-MaximumPasswordAge
- msDS-MinimumPasswordAge
- msDS-MinimumPasswordLength
- msDS-PasswordComplexityEnabled
- msDS-PasswordHistoryLength
- msDS-PasswordReversibleEncryptionEnabled
- msDS-PasswordSettingsPrecedence
Precedence অ্যাট্রিবিউটে মনোযোগ দিন। এই অ্যাট্রিবিউট বর্তমান পাসওয়ার্ড পলিসির প্রায়োরিটি নির্ধারণ করে। যদি একটি অবজেক্টের একাধিক FGPP পলিসি অ্যাসাইন করা থাকে, তবে Precedence ফিল্ডে সবচেয়ে কম মানवाले পলিসি প্রয়োগ হবে।
নোট:
- যদি একজন ব্যবহারকারীর দুটি পলিসি থাকে একই Precedence মান সহ, তবে কম GUID वालা পলিসি প্রয়োগ হবে।
- যদি একজন ব্যবহারকারীর একাধিক পলিসি অ্যাসাইন করা থাকে, এবং 그중 একটি AD সিকিউরিটি গ্রুপের মাধ্যমে সক্ষম করা থাকে, আরেকটি সরাসরি ব্যবহারকারী অ্যাকাউন্টে অ্যাসাইন করা থাকে, তবে অ্যাকাউন্টে সরাসরি অ্যাসাইন করা পলিসি প্রয়োগ হবে।
তারপর Direct Applies To সেকশনে গ্রুপ বা ব্যবহারকারী যোগ করুন পলিসি প্রয়োগ করার জন্য (আমাদের কেসে Domain Admins)। আমরা পরামর্শ দিচ্ছি PSO পলিসি إنডিভিজুয়াল ইউজারের বদলে গ্রুপে প্রয়োগ করার জন্য। পলিসি সেভ করুন।

এই পাশাপাশি, এই পাসওয়ার্ড পলিসি Domain Admins গ্রুপের সব মেম্বারের জন্য প্রয়োগ হবে।
Active Directory Users and Computers (dsa.msc) কনসোল শুরু করুন (Advanced Features অপশন সক্ষম করে) এবং Domain Admins গ্রুপের যেকোনো ব্যবহারকারির প্রোপার্টিজ খুলুন। Attribute Editor ট্যাবে যান এবং Filter ফিল্ডে Constructed অপশন সিলেক্ট করুন।
msDS-ResultantPSO ইউজার অ্যাট্রিবিউট খুঁজে বের করুন। এই অ্যাট্রিবিউট ব্যবহারকারীর জন্য সক্রিয় পাসওয়ার্ড পলিসি দেখায় (CN=Password Policy for Domain Admin,CN=Password Settings Container,CN=System,DC=woshub,DC=com)।

আপনি dsget টুলও ব্যবহার করে ব্যবহারকারীর জন্য বর্তমান PSO পলিসি পেতে পারেন:
dsget user "CN=Max,OU=Admins,DC=woshub,DC=com" –effectivepso

PowerShell ব্যবহার করে ফাইন-গ্রেইন্ড পাসওয়ার্ড পলিসি (PSO) কনফিগার করা
আপনি PowerShell ব্যবহার করে PSO পাসওয়ার্ড পলিসি ম্যানেজ করতে পারেন (আপনার কম্পিউটারে Active Directory PowerShell মডিউল ইনস্টল থাকতে হবে)।
নতুন PSO তৈরি করতে New-ADFineGrainedPasswordPolicy কমান্ডলেট ব্যবহার করা হয়:
New-ADFineGrainedPasswordPolicy -Name “Admin PSO Policy” -Precedence 10 -ComplexityEnabled $true -Description “Domain password policy for admins”-DisplayName “Admin PSO Policy” -LockoutDuration “0.20:00:00” -LockoutObservationWindow “0.00:30:00” -LockoutThreshold 6 -MaxPasswordAge “12.00:00:00” -MinPasswordAge “1.00:00:00” -MinPasswordLength 8 -PasswordHistoryCount 12 -ReversibleEncryptionEnabled $false
এখন পাসওয়ার্ড পলিসি একটি ব্যবহারকারী গ্রুপে অ্যাসাইন করুন:
Add-ADFineGrainedPasswordPolicySubject “Admin PSO Policy” -Subjects “Domain Admins”

PSO পলিসি সেটিংস পরিবর্তন করতে:
Set-ADFineGrainedPasswordPolicy "Admin PSO Policy" -PasswordHistoryCount:"12"
ডোমেনের সব FGPP পলিসি লিস্ট করতে:
Get-ADFineGrainedPasswordPolicy -Filter *

নির্দিষ্ট ব্যবহারকারীর জন্য প্রয়োগ হোনার ফাইনাল পাসওয়ার্ড পলিসি পেতে Get-ADUserResultantPasswordPolicy কমান্ড ব্যবহার করুন।
Get-ADUserResultantPasswordPolicy -Identity jsmith

Name ফিল্ডে ব্যবহারকারীর জন্য প্রয়োগ হোনার PSO-এর নাম নির্দিষ্ট থাকে।
Active Directory গ্রুপে অ্যাসাইন করা PSO পলিসির তালিকা দেখতে Get-ADGroup কমান্ড ব্যবহার করুন:
Get-ADGroup "Domain Admins" -properties * | Select-Object msDS-PSOApplied
Default Domain Policy GPO থেকে ডিফল্ট পাসওয়ার্ড পলিসি সেটিংস দেখতে কমান্ড চালান:
Get-ADDefaultDomainPasswordPolicy
Fine-Grained Password পলিসি ব্যবহার করলেও, ব্যবহারকারীরা এখনও দুর্বল পাসওয়ার্ড ব্যবহার করতে পারে, যেমন P@ssw0rd, Pa$$w0rd, ইত্যাদি। আমরা পরামর্শ দিচ্ছি আপনার ডোমেনে দুর্বল ইউজার পাসওয়ার্ডের জন্য নিয়মিত অডিট করার জন্য।