এই পর্বে যা শিখবেন
- Windows-এর baseline: update, UAC, Defender, Credential Guard, BitLocker আর security baseline
- Active Directory-র গঠন: domain, domain controller, group, OU আর Group Policy
- Kerberos আর NTLM ধারণার স্তরে, আর SMBv1 ও NTLM কমানোর নিরাপদ পথ
- Tier 0/1/2, enterprise access model, Windows LAPS, Protected Users আর gMSA
- কোন Event ID দেখবেন, একটি privileged group বদল কীভাবে তদন্ত করবেন
- AD backup, forest recovery আর hybrid identity-র ঝুঁকি
১ · Windows-এর ভিত্তি — একটি যন্ত্র আগে শক্ত করুন
একটি অফিস ভাবুন। দারোয়ান ভালো, কিন্তু পেছনের জানালা খোলা। তাহলে দারোয়ানের দাম কমে যায়। Active Directory নিয়ে কথা বলার আগে তাই প্রতিটি Windows যন্ত্রের জানালা বন্ধ করা দরকার। এই কাজের নাম hardening. বাংলায়, যন্ত্রের অপ্রয়োজনীয় ঝুঁকি কমিয়ে একটি জানা নিরাপদ অবস্থায় আনা।
এই পর্ব প্রশাসকের চোখে লেখা। এখানে যা দেখবেন, সব কেবল নিজের বা অনুমতি পাওয়া domain-এর জন্য। অন্যের নেটওয়ার্কে হাত দেওয়া অপরাধ। সীমারেখাটি পর্ব ৬-এ আছে।
| নিয়ন্ত্রণ | যা ঠেকায় | যা ঠেকায় না |
|---|---|---|
| Update | জানা দুর্বলতা। ধরন আর অগ্রাধিকার পর্ব ৩২-এ। | Zero-day, আর support শেষ হওয়া OS. Windows 10-এর সাধারণ support ১৪ অক্টোবর ২০২৫-এ শেষ হয়েছে। |
| UAC | Admin অধিকার সারাক্ষণ সক্রিয় থাকা। প্রোগ্রাম সাধারণ অধিকারে চলে, বড় কাজে সম্মতি চায়। | এটি পূর্ণ security boundary নয়। আলাদা admin account-এর বিকল্পও নয়। |
| Microsoft Defender | পরিচিত malware, ক্ষতিকর আচরণের কিছু অংশ। Attack surface reduction নিয়ম ঝুঁকিপূর্ণ আচরণ বন্ধ করে। | সব নতুন malware নয়। তদন্তের জন্য EDR লাগে। |
| Application control | অনুমোদনহীন প্রোগ্রাম চলা। | অনুমোদিত প্রোগ্রামের অপব্যবহার পুরোটা নয়। |
| Credential Guard | NTLM hash আর Kerberos TGT-কে virtualization-based security দিয়ে OS থেকে আলাদা রাখে। | AD database বা local SAM নয়। টাইপ করার মুহূর্তের password-ও এর আওতার বাইরে হতে পারে। |
| BitLocker | বন্ধ অবস্থায় হারানো ল্যাপটপের disk পড়া। সাধারণত TPM-এ key বাঁধা থাকে। | চালু অবস্থায় যন্ত্রের ভেতরের malware. Disk তখন খোলাই থাকে। |
| Security baseline | ভুলে যাওয়া সেটিং। Microsoft-এর baseline বা CIS Benchmark-এর মতো জানা নীতি দিয়ে শুরু করা যায়। | আপনার application ভেঙে যাবে না, এই নিশ্চয়তা। আগে ছোট দলে পরীক্ষা করুন। |
Credential Guard নিয়ে দুটি বাস্তব কথা জানা দরকার। Microsoft-এর নথি অনুসারে Windows 11 22H2 থেকে শর্ত পূরণ করা domain-joined যন্ত্রে এটি ডিফল্টে সক্রিয় হয়, Windows Server 2025-এও DC ছাড়া অন্য সার্ভারে। কিন্তু এটি Enterprise বা Education লাইসেন্সের সুবিধা, Pro-তে নয়। আর domain controller-এ এটি কোনো বাড়তি সুরক্ষা দেয় না, তাই সেখানে চালু করার পরামর্শ নেই।
আপনার যন্ত্রের অবস্থা দেখার কিছু নিরাপদ, শুধু-পড়ার কমান্ড নিচে আছে। Endpoint-এর বিস্তারিত পর্ব ২৯-এ, আর Linux-এর hardening পর্ব ৩০-এ দেখেছেন।
# Read-only checks for your own Windows machine. Run in an elevated PowerShell.
Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled, AntivirusSignatureAge
Get-BitLockerVolume | Select-Object MountPoint, VolumeStatus, ProtectionStatus
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol
# SecurityServicesRunning contains 1 when Credential Guard is running.
Get-CimInstance -Namespace root\Microsoft\Windows\DeviceGuard `
-ClassName Win32_DeviceGuard | Select-Object SecurityServicesRunningনমুনা আউটপুট — version-ভেদে আলাদা হতে পারে
RealTimeProtectionEnabled AntivirusSignatureAge
------------------------- ---------------------
True 1
MountPoint VolumeStatus ProtectionStatus
---------- ------------ ----------------
C: FullyEncrypted On
EnableSMB1Protocol
------------------
False
SecurityServicesRunning
-----------------------
{1, 2}
২ · Active Directory কী, আর কেন এটি এত দামি
একটি বড় পোশাক কারখানার পরিচয়পত্র বিভাগ ভাবুন। কে কর্মী, কে কোন সেকশনে, কোন গেট দিয়ে ঢুকতে পারবে, সব এক রেজিস্টার খাতায় লেখা। প্রতিটি গেটের দারোয়ান সেই বিভাগের কার্ড বিশ্বাস করেন। Active Directory ঠিক সেই বিভাগ। আর কেউ যদি বিভাগটিই দখল করে, সে নিজের জন্য যেকোনো গেটের কার্ড বানাতে পারে।
Active Directory (AD) হলো Windows জগতের কেন্দ্রীয় পরিচয় ব্যবস্থা। Windows 2000-এর সময় থেকে বহু প্রতিষ্ঠানের ভিত্তি এটি। মূল অংশগুলো চিনে নিন:
- Domain: একই পরিচয় ডেটাবেস আর একই নীতির অধীন user আর কম্পিউটারের দল, যেমন
corp.example.com. - Forest: এক বা একাধিক domain-এর সবচেয়ে বড় বিশ্বাসের সীমা। প্রকৃত নিরাপত্তা সীমা domain নয়, forest.
- Domain controller (DC): যে সার্ভার পরিচয় ডেটাবেস রাখে, login যাচাই করে আর অন্য DC-র সাথে ডেটা মেলায়। প্রতিটি DC-তে সব account-এর password-থেকে-তৈরি key থাকে।
- User আর computer account: মানুষ আর যন্ত্র, দুই ধরনের পরিচয়।
- Security group: অনেক account-কে একসাথে অনুমতি দেওয়ার দল।
Domain Adminsএমনই একটি দল। - Organizational Unit (OU): account সাজানোর ফোল্ডার। Group Policy বসানো আর কাজ ভাগ করে দেওয়া হয় এখানে।
- Group Policy: OU বা domain-এর সব যন্ত্রে একসাথে সেটিং পাঠানোর ব্যবস্থা। OS-এর নিরাপত্তা ধারণাগুলো এভাবেই হাজার যন্ত্রে বসে।
একটি domain-এর গঠন
Domain controllers replicate one directory; policy flows down to OUs
রক্ষকের চোখে AD কেন উচ্চমূল্যের
- কেন্দ্রীয় বিশ্বাস: সব যন্ত্র DC-কে বিশ্বাস করে।
Domain Adminsডিফল্টে domain-joined যন্ত্রের local Administrators দলে থাকে। ফলে blast radius পুরো প্রতিষ্ঠান। - এক জায়গা থেকে সব যন্ত্রে পৌঁছানো: Group Policy প্রশাসকের জন্য সুবিধা। ভুল হাতে গেলে একই সুবিধা ক্ষতি ছড়ায়। বড় ransomware ঘটনায় তাই AD প্রায়ই কেন্দ্রে থাকে। প্রস্তুতি পর্ব ৩৪-এ।
- জটিলতা: ২০ বছরের পুরোনো delegation, ভুলে যাওয়া service account, নেস্টেড group. কে কী পারে, তা প্রায়ই কেউ পুরোটা জানেন না। অনুমতির ভাষা পর্ব ১৯-এ দেখেছেন।
- বৈধ login দেখতে স্বাভাবিক: চুরি করা credential দিয়ে ঢোকা malware-এর মতো শব্দ করে না। তাই audit ছাড়া ধরা কঠিন।
Domain controller-এ নিয়ন্ত্রণ মানে পুরো domain-এ নিয়ন্ত্রণ। তাই DC, তার backup, তার হাইপারভাইজর আর তাকে পরিচালনার যন্ত্র, সবই সমান মূল্যবান। আক্রমণকারী দরজা ভাঙে না, সবচেয়ে দুর্বল পথটি খোঁজে। রক্ষককে তাই পুরো পথ দেখতে হয়।
৩ · Kerberos, NTLM আর পুরোনো protocol কমানো
Domain-এ login মানে শুধু password মেলানো নয়। Windows দুটি প্রধান protocol ব্যবহার করে। Kerberos ticket-ভিত্তিক, MIT-র Project Athena থেকে আসা, আর এখনকার মান RFC 4120 (২০০৫ সালের)। NTLM পুরোনো challenge-response ব্যবস্থা। Kerberos-এ টিকিট কাউন্টারের মতো একজন মধ্যস্থ থাকেন। তিনি হলেন KDC, যা প্রতিটি DC-তে চলে।
মেলায় ঢুকলে আগে পরিচয় দেখিয়ে একটি হাতের ব্যান্ড নেন। এরপর প্রতিটি স্টলের জন্য আলাদা করে কুপন নেন সেই ব্যান্ড দেখিয়ে। স্টলের লোক আপনার পরিচয়পত্র আর দেখেন না, কুপন দেখেন। ব্যান্ডটি TGT, কুপনটি service ticket.
- Client
PC-HR-07rumi - KDC: AS
DC-01TGT দেয় - KDC: TGS
DC-01service ticket দেয় - Service
FILE-01ticket যাচাই করে
from : rumi@corp.example.com proof: timestamp, password-থেকে-তৈরি key দিয়ে encrypted password নিজে network-এ যায় না
TGT : krbtgt key দিয়ে encrypted expires: 19:00:00 (ডিফল্ট ১০ ঘণ্টা) clock skew 5 মিনিটের বেশি হলে এখানেই ব্যর্থ
want : cifs/FILE-01
present: TGT + নতুন authenticator
password আর লাগে নাticket for: cifs/FILE-01
sealed by : FILE-01 account-এর key
inside : rumi + group তালিকাlogon type: 3 (network)
package : Kerberos
FILE-01 নিজের key দিয়ে ticket খোলে, DC-কে ডাকে নাAuthentication: কে আপনি -> ticket বলল rumi
Authorization : কী পারেন -> ফাইলের ACL আর group
group থেকে সরালেও পুরোনো ticket মেয়াদ পর্যন্ত থাকতে পারে- প্রমাণ পাঠানো। সকাল ০৯:০০:০০-এ রুমি password টাইপ করলেন। যন্ত্র তা থেকে একটি key বানিয়ে সময়চিহ্নটি encrypt করে DC-তে পাঠাল। Password নিজে network-এ গেল না।
- TGT পাওয়া। KDC account-এর key দিয়ে সময়চিহ্ন খুলে মিলিয়ে দেখল, তফাত ৫ মিনিটের মধ্যে। সে TGT দিল ১৯:০০ পর্যন্ত। DC-তে Event 4768 লেখা হলো। TGT krbtgt account-এর key দিয়ে সিল করা।
- Service ticket চাওয়া। ০৯:০৪:১০-এ রুমি
FILE-01খুললেন। যন্ত্র TGT দেখিয়ে সেই সেবার জন্য ticket চাইল। আবার password লাগল না, এটাই SSO. - Ticket পাওয়া। KDC সেবাটির account-এর key দিয়ে ticket সিল করল, ভেতরে রুমির নাম আর group. DC-তে Event 4769 লেখা হলো।
- Service-এ প্রবেশ। FILE-01 নিজের key দিয়ে ticket খুলল। এখানে DC-কে জিজ্ঞেস করতে হলো না। FILE-01-এ logon type 3 হিসেবে Event 4624 লেখা হলো।
- অনুমতি আলাদা সিদ্ধান্ত। Kerberos বলে আপনি কে। আপনি কী পারবেন, তা বলে ACL আর group. তাই কাউকে group থেকে সরালেও পুরোনো ticket মেয়াদ পর্যন্ত থেকে যেতে পারে। তদন্তে এটি মনে রাখতে হয়।
এখান থেকে একটি অঙ্ক। ধরুন DC-র ঘড়িতে ১০:০০:০০, client-এর ঘড়িতে ১০:০৬:০০. তফাত ৬ মিনিট। ডিফল্ট সীমা ৫ মিনিট, তাই login ব্যর্থ হবে। এজন্য domain-এ সময় মেলানো নিরাপত্তারও অংশ।
NTLM আর SMBv1 কেন কমাতে হবে
NTLM-এ client একটি challenge-এর উত্তর password-থেকে-তৈরি hash দিয়ে বানায়। এখানে মধ্যস্থ ticket নেই, আর hash-ই প্রমাণের মতো কাজ করে। Microsoft-এর জুন ২০২৪-এর ঘোষণায় NTLM-এর সব version deprecated, আর NTLMv1 Windows 11 24H2 ও Windows Server 2025 থেকে সরানো হয়েছে। জানুয়ারি ২০২৬-এর একটি Microsoft ব্লগ ধাপে ধাপে network NTLM ডিফল্টে বন্ধের পরিকল্পনা জানায়, তবে সময়সূচি বদলাতে পারে বলেও সতর্ক করে। তাই সর্বশেষ অবস্থা Microsoft-এর নথিতে দেখে নিন।
SMBv1 হলো ফাইল শেয়ারের পুরোনো version. SMB নিজে দরকারি, কিন্তু এই পুরোনো রূপটি নয়। ২০১৭ সালের WannaCry ঘটনার পর থেকে এটি সরানোর প্রচলিত উদাহরণ। Microsoft-এর বর্তমান নথি অনুসারে Windows 11 আর Windows Server 2019 থেকে এটি ডিফল্টে ইনস্টল থাকে না।
- মাপুন: SMBv1 access audit চালু করুন, NTLM audit চালু করুন। DC-তে Event 4776 আর 4624-এর authentication package দেখুন।
- তালিকা করুন: কোন পুরোনো printer, scanner বা application এখনো নির্ভর করে, মালিক কে।
- ঠিক করুন: Update, বদল বা আলাদা করা। পরে SMBv1 সরান, LAN Manager authentication level শক্ত করুন, SMB signing আর LDAP signing নিশ্চিত করুন।
- যাচাই করুন: প্রথমে ছোট OU-তে, পরে পুরোটায়। ফেরার পথ হাতে রাখুন।
# Own server only. Audit first; the setting is safe to read at any time.
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, AuditSmb1Access
Set-SmbServerConfiguration -AuditSmb1Access $true -Confirm:$false
# Each SMBv1 attempt appears as event 3000 in this log.
Get-WinEvent -LogName 'Microsoft-Windows-SMBServer/Audit' -MaxEvents 5SMBv1 বা NTLM তালিকা ছাড়া হঠাৎ বন্ধ করবেন না। পুরোনো scanner থেমে গেলে মানুষ নিরাপত্তা নিয়ন্ত্রণকেই দোষ দেবেন, আর ব্যতিক্রম চিরস্থায়ী হবে। এটাই পর্ব ৩-এর psychological acceptability-র বাস্তব রূপ।
৪ · Credential exposure — দুর্বল যন্ত্রে শক্তিশালী logon কেন বিপজ্জনক
এই পর্বের সবচেয়ে গুরুত্বপূর্ণ ধারণা এটি। একজন admin-এর password যত শক্তই হোক, তিনি যে যন্ত্রে বসেন সেটি দুর্বল হলে বিপদ থেকে যায়। কারণ Windows SSO দেওয়ার জন্য login-এর পর কিছু ব্যবহারযোগ্য প্রমাণ মেমরিতে রাখে। এই অবস্থাকে বলে credential exposure.
ব্যাংকের ভল্টের চাবি হাতে নিয়ে আপনি বাজারের ভিড়ে চা খেতে গেলেন। চাবি মজবুত, তালাও মজবুত। কিন্তু পকেটমারের কাছে তালা ভাঙার দরকার নেই, তার দরকার শুধু আপনার পকেট। দুর্বল ল্যাপটপে domain admin logon ঠিক এই পকেট।
| Logon-এর ধরন | Logon type | Target-এ ব্যবহারযোগ্য credential থাকে? |
|---|---|---|
নিজে বসে login, runas | 2 | হ্যাঁ |
| Remote Desktop | 10 | সাধারণত হ্যাঁ। Remote Credential Guard-এর মতো বিকল্প এটি কমায়। |
| Network logon, যেমন file share খোলা | 3 | সাধারণত না, যদি delegation না থাকে |
| Service বা scheduled task | 5 / 4 | হ্যাঁ, secret যন্ত্রে জমা থাকে |
ধরুন helpdesk-এর একজন একটি user-এর ল্যাপটপে Domain Admin দিয়ে Remote Desktop করলেন। ল্যাপটপে আগে থেকে malware থাকলে সেই মুহূর্তে Domain Admin-এর প্রমাণ ঝুঁকিতে পড়ে। আক্রমণকারী তখন password না জেনেই একে ব্যবহার করতে পারে। একটি সাধারণ ল্যাপটপ থেকে lateral movement এভাবেই পুরো domain-এ পৌঁছায়।
এই ঝুঁকি নতুন নয়। Microsoft ২০১২ সালে pass-the-hash আর credential চুরি ঠেকানো নিয়ে একটি বিস্তারিত নির্দেশিকা প্রকাশ করে, পরে দ্বিতীয় সংস্করণও আসে। মূল বার্তা ছিল: patch করা যন্ত্রেও credential চুরি সম্ভব, কারণ সমস্যাটি অনেকটা ব্যবহারের ধরনে। সমাধান তাই শুধু software নয়, admin-দের কাজের অভ্যাস।
আক্রমণের ধরন, রক্ষকের চোখে
নিচের তালিকা ধারণার স্তরে। এর উদ্দেশ্য রক্ষা আর শনাক্ত করা, কোনো ধাপ শেখানো নয়।
| ধরন (ধারণা) | প্রতিরোধ | শনাক্তকরণের সংকেত |
|---|---|---|
| Credential theft: যন্ত্র থেকে প্রমাণ চুরি | Tiering, Credential Guard, LSA সুরক্ষা, EDR | EDR alert, সন্দেহজনক process-এর credential store-এ প্রবেশ |
| Pass-the-hash আর pass-the-ticket: password ছাড়াই চুরি করা প্রমাণ পুনর্ব্যবহার | LAPS, Protected Users, NTLM কমানো | অচেনা যন্ত্র থেকে admin-এর logon type 3 বা 10, tier লঙ্ঘন |
| Password spraying: অনেক account-এ অল্প চেষ্টা | লম্বা password, banned-password তালিকা, MFA, lockout | এক উৎস থেকে অনেক account-এ Event 4625 বা 4771 |
| Service account-এর password offline guessing: দুর্বল password-এর ticket থেকে অনুমান | gMSA, লম্বা এলোমেলো password, AES, RC4 বাদ | অস্বাভাবিক হারে Event 4769, দুর্বল encryption type |
| Authentication relay: login মাঝপথে অন্য সেবায় ব্যবহার | SMB আর LDAP signing, channel binding, NTLM কমানো | একই account-এর অচেনা উৎস থেকে NTLM logon |
| Forged ticket: domain দখলের পর জাল ticket | Tier 0 রক্ষা, krbtgt নিয়মিত বদল, recovery পরিকল্পনা | অস্বাভাবিক ticket মেয়াদ, 4768 ছাড়া হঠাৎ 4769-এর ধারা। নিশ্চিত প্রমাণ নয়, সংকেত। |
| নিয়ন্ত্রণ বদল: group, Group Policy বা ACL পরিবর্তন | সীমিত অধিকার, change ticket, separation of duties | Event 4728, 4732, 4756, 5136 |
চোখে পড়ার মতো ব্যাপার হলো, তালিকার বেশিরভাগ প্রতিরোধ একই কয়েকটি নিয়ন্ত্রণে ফিরে আসে: credential কোথায় যাচ্ছে তা সীমিত করা, password অনন্য করা, আর পরিবর্তন দেখা। পরের তিনটি অংশ এদের নিয়েই।
৫ · Administrative tiering — উপরের চাবি নিচে নামে না
Administrative tiering হলো যন্ত্র আর account-কে ক্ষমতা অনুযায়ী স্তরে ভাগ করা। নিয়ম একটি: উপরের স্তরের credential নিচের স্তরের যন্ত্রে ব্যবহার হবে না। পর্ব ২০-এ আলাদা admin account আর PAW দেখেছেন। Tiering সেগুলোকে একটি পূর্ণ নকশায় বসায়।
তিন স্তর, এক নিয়ম
Control flows down; privileged credentials do not
আরেকটি নিয়ম হলো clean source: যে যন্ত্র দিয়ে কোনো সিস্টেম পরিচালনা করবেন, সেটি অন্তত সেই সিস্টেমের সমান সুরক্ষিত হতে হবে। ল্যাপটপে email পড়তে পড়তে DC চালানো মানে DC-র নিরাপত্তা নেমে গেল ল্যাপটপের স্তরে।
Enterprise access model
পুরোনো tier মডেল on-premises AD-র জন্য তৈরি। Microsoft-এর বর্তমান enterprise access model একে cloud আর API-র জগতে বাড়ায়। Tier 0 বড় হয়ে control plane হয়েছে। Tier 1 ভেঙেছে management plane আর data/workload plane-এ। Tier 2 ভেঙেছে user access আর app access-এ। নাম বদলেছে, নীতি একই: নিচের স্তর থেকে উপরের স্তর নিয়ন্ত্রণ করা যাবে না।
নীতি কীভাবে ঝুঁকিপূর্ণ logon থামায়
নিয়ম শুধু খাতায় থাকলে কেউ ক্লান্ত দুপুরে ভেঙে ফেলবেন। তাই Group Policy-র user right দিয়ে একে যন্ত্রে বসান। নিচে একটি কাল্পনিক ঘটনা দেখুন।
- অনুরোধ
HD-5531PC ধীর - চেষ্টা
rumi-t0RDP করতে চান - নীতি
Deny logonTier 2 OU - Event
4625SIEM-এ - নিরাপদ পথ
tania-t2সঠিক account
user : tania-র সহকর্মী, PC-HR-07
কাজ : ধীর কম্পিউটার দেখা
যন্ত্রটি Tier 2account: rumi-t0 (Tier 0)
target : PC-HR-07 (Tier 2)
type : 10, Remote Desktop
Tier 0 credential দুর্বল যন্ত্রে নামছেDeny log on through Remote Desktop Services:
CORP\Tier0-Admins, CORP\Tier1-Admins
Deny log on locally:
CORP\Tier0-Admins, CORP\Tier1-Adminsaccount : rumi-t0
type : 10
substat : 0xC000015B logon type not granted
action : rule tier-violation -> tickettania-t2 + LAPS-এর password -> PC-HR-07
rumi-t0 আগের মতো শুধু PAW-T0-1 আর DC-তে
Tier 0 credential যন্ত্রে রইল না- সাধারণ অনুরোধ। একটি ticket এলো, HD-5531: HR-এর একটি ধীর কম্পিউটার দেখতে হবে। যন্ত্রটি
PC-HR-07, Tier 2 স্তরের। - ঝুঁকিপূর্ণ অভ্যাস। তাড়াহুড়োয় রুমি নিজের
rumi-t0দিয়ে ১১:১৭-তে Remote Desktop করতে গেলেন। এটি Tier 0 account, আর logon type 10 যন্ত্রে credential রেখে যেতে পারে। - নীতি থামাল। Tier 2 OU-তে বসানো Group Policy-তে Tier0-Admins দলের জন্য RDP আর local logon নিষিদ্ধ। তাই session তৈরিই হলো না।
- চিহ্ন রইল। যন্ত্রে Event 4625 লেখা হলো, sub-status
0xC000015B, মানে এই logon type অনুমোদিত নয়। SIEM নিয়মটি একটি ticket খুলল। শাস্তির জন্য নয়, অভ্যাস ঠিক করার জন্য। - নিরাপদ পথ। কাজটি
tania-t2করলেন, প্রয়োজনে LAPS থেকে নেওয়া local password দিয়ে। Tier 0 credential সেই যন্ত্রে নামল না। ঠিক এজন্যই নিয়মের সাথে সহজ বিকল্পও রাখতে হয়।
বাস্তবে network, batch আর service logon-এর deny right-ও আলাদা করে ভাবতে হয়। Deny right session আটকায়। Credential যন্ত্রে পৌঁছানোই বন্ধ করতে আরও স্তর লাগে: PAW-এ outbound সীমা, যাতে সেখান থেকে নিচের স্তরে যাওয়াই না যায়। আর authentication policy silo, যা নির্দিষ্ট account-কে শুধু নির্দিষ্ট যন্ত্র থেকে TGT নিতে দেয়। নীতিগুলো ভুল হলে admin নিজেই আটকে যেতে পারেন, তাই আগে পরীক্ষা করুন আর একটি break-glass পথ রাখুন।
নিয়ম যতই থাকুক, লঙ্ঘন খুঁজে দেখা দরকার। নিচের খেলনা detector কিছু কাল্পনিক logon event মিলিয়ে দেখে। কোনো আসল log পড়ে না। চালিয়ে দেখুন।
// Toy tier-violation detector. All accounts, hosts and events are made up.
// Lower number = more powerful tier. Logon types: 2 console, 3 network, 10 RDP.
const accountTier = { 'rumi-t0': 0, 'sohel-t1': 1, 'tania-t2': 2, 'rumi': 2 };
const hostTier = { 'DC-01': 0, 'PAW-T0-1': 0, 'APP-SRV-04': 1, 'PC-HR-07': 2, 'PC-FIN-02': 2 };
const events = [
{ t: '09:02', acct: 'rumi-t0', host: 'PAW-T0-1', type: 2 },
{ t: '09:05', acct: 'rumi-t0', host: 'DC-01', type: 10 },
{ t: '10:11', acct: 'sohel-t1', host: 'APP-SRV-04', type: 10 },
{ t: '10:40', acct: 'tania-t2', host: 'PC-FIN-02', type: 10 },
{ t: '11:17', acct: 'rumi-t0', host: 'PC-HR-07', type: 10 },
{ t: '12:03', acct: 'sohel-t1', host: 'PC-FIN-02', type: 3 },
{ t: '13:20', acct: 'rumi', host: 'DC-01', type: 2 },
];
function judge(e) {
const a = accountTier[e.acct], h = hostTier[e.host];
if (a === h) return 'ok';
if (a > h) return 'ALERT lower account on higher host';
// a < h: a powerful account touched a weaker machine.
return e.type === 3
? 'REVIEW network logon down-tier'
: 'ALERT credentials exposed down-tier';
}
const counts = { ok: 0, REVIEW: 0, ALERT: 0 };
for (const e of events) {
const verdict = judge(e);
counts[verdict.split(' ')[0]]++;
console.log(e.t, e.acct.padEnd(9), '->', e.host.padEnd(11),
'type', String(e.type).padEnd(3), verdict);
}
console.log('summary:', JSON.stringify(counts));আউটপুটের শেষ লাইন summary: {"ok":4,"REVIEW":1,"ALERT":2}. ১১:১৭-র সারি বলছে rumi-t0 -> PC-HR-07 type 10 ALERT credentials exposed down-tier, ঠিক সেই পকেটমারের ঝুঁকি। ১২:০৩-এর type 3 সারিটি REVIEW, কারণ network logon সাধারণত credential রেখে যায় না, তবু কারণ জানা দরকার। ১৩:২০-র সারিতে সাধারণ rumi DC-তে ঢুকেছেন, তাই lower account on higher host. বাস্তবে হোস্ট আর account-এর tier তালিকা ঠিক রাখাই সবচেয়ে কঠিন কাজ।
৬ · Windows LAPS — প্রতিটি যন্ত্রে আলাদা local admin password
পুরোনো অফিসে একটি বড় সমস্যা দেখা যায়। IT একবার image বানিয়ে সব কম্পিউটারে বসিয়েছে, আর local administrator password সব যন্ত্রে এক। এ যেন পুরো মহল্লার সব বাড়িতে একই তালা। একটি চাবি কপি হলেই সব বাড়ি খোলা।
Windows LAPS এই সমস্যা সমাধান করে। এটি প্রতিটি যন্ত্রের local admin password নিজে বদলায়, এলোমেলো রাখে, আর AD বা cloud directory-তে জমা রাখে। অনুমোদিত admin দরকারে পড়ে নিতে পারেন। Microsoft-এর পুরোনো LAPS প্রোডাক্ট ছিল আলাদা ইনস্টল। Windows LAPS ১১ এপ্রিল ২০২৩-এর update থেকে Windows-এর ভেতরেই আসে, আর নতুন Windows-এ পুরোনোটি deprecated.
- Password আলাদা আর নিয়মিত বদলায়: নীতি প্রতি ঘণ্টায় যাচাই হয়, মেয়াদ পেরোলে নতুন password. মেয়াদ নীতিতে ঠিক করা যায়।
- Encryption: AD-তে password encrypt করে রাখা যায়, তবে domain functional level ২০১৬ বা নতুন হতে হবে। পুরোনো emulation mode-এ password খোলা লেখায় থাকে, যা শুধু অস্থায়ী ধাপ।
- কে পড়তে পারে: পড়ার অধিকার আর decrypt করার অধিকার আলাদা। ডিফল্টে Domain Admins. Helpdesk-কে শুধু Tier 2 OU-র অধিকার দিন।
- DSRM account: DC-র জরুরি account-ও Windows LAPS সামলাতে পারে, সমর্থিত DC-তে।
- সীমা: LAPS domain account রক্ষা করে না। পাশাপাশি AD-তে যে পড়তে পারে সে-ই নতুন ঝুঁকির কেন্দ্র, তাই পড়ার অধিকার audit করুন।
অঙ্ক: এক password কত দূর পৌঁছায়
ধরুন ২০০টি যন্ত্র, প্রতিটির বছরে দখল হওয়ার সম্ভাবনা p = ১%, স্বাধীনভাবে। অন্তত একটি দখল হওয়ার সম্ভাবনা:
অর্থাৎ বছরে একটি যন্ত্র দখল হওয়া প্রায় নিশ্চিত ঘটনা। একই local password থাকলে সেই একটির ক্ষতি থেকে ২০০টিতেই পৌঁছানোর পথ খুলে যায়। LAPS থাকলে সেই পথ বন্ধ। প্রত্যাশিত দখল হওয়া যন্ত্র তখন ২০০ × ০.০১ = ২টি। ঝুঁকি শূন্য হলো না, কিন্তু ছড়ানোর হিসাব ২০০ থেকে ১-এ নামল।
নিচের খেলনা রিপোর্টে ১০টি কাল্পনিক যন্ত্র আছে। আসল password নেই, শুধু লেবেল।
// Toy report: how far does one local admin password reach?
// "pw" holds a label for a password, never a password. All data is made up.
const fleet = [
['PC-01', 'img-2023', 'L1'], ['PC-02', 'img-2023', 'L2'],
['PC-03', 'img-2023', 'L3'], ['PC-04', 'img-2023', 'L4'],
['PC-05', 'img-2023', 'L5'], ['PC-06', 'img-2023', 'L6'],
['SRV-01', 'img-2023', 'L7'], ['SRV-02', 'srv-old', 'L8'],
['SRV-03', 'srv-old', 'srv-old'], ['KIOSK-1', 'img-2023', 'img-2023'],
].map(([host, before, after]) => ({ host, before, after }));
function report(label, field) {
const groups = {};
for (const m of fleet) (groups[m[field]] ??= []).push(m.host);
const reach = fleet.map(m => groups[m[field]].length);
const worst = Math.max(...reach);
const avg = reach.reduce((a, b) => a + b, 0) / fleet.length;
console.log(`${label}: distinct=${Object.keys(groups).length}` +
` worst=${worst} of ${fleet.length} avg=${avg.toFixed(1)}`);
return groups;
}
report('LAPS off', 'before');
const on = report('LAPS on ', 'after');
const gaps = Object.values(on).filter(g => g.length > 1).flat();
const covered = fleet.filter(m => /^L\d+$/.test(m.after)).length;
console.log(`coverage: ${covered} of ${fleet.length} = ${covered * 100 / fleet.length}%`);
console.log('not managed:', fleet.filter(m => !/^L\d+$/.test(m.after))
.map(m => m.host).join(', '));
console.log('still sharing:', gaps.length ? gaps.join(', ') : 'none');LAPS বন্ধ অবস্থায় distinct=2 worst=8 of 10 avg=6.8. আটটি যন্ত্রে এক password, দুটিতে আরেক। গড়ে একটি password ৬.৮টি যন্ত্রে পৌঁছায় (৮×৮ + ২×২ = ৬৮, দশ দিয়ে ভাগ)। LAPS চালুর পর worst=1 of 10 avg=1.0. কিন্তু coverage: 8 of 10 = 80% আর not managed: SRV-03, KIOSK-1 লাইন দুটি খেয়াল করুন। still sharing: none দেখে নিশ্চিন্ত হবেন না। ওই দুই যন্ত্রে পুরোনো password-ই আছে, যা কেউ জেনে থাকতে পারেন। রিপোর্টে আংশিক coverage সবচেয়ে বিপজ্জনক ফাঁক।
LAPS-এর অবস্থা দেখতে নিজের domain-এ নিচের কমান্ডগুলো চলে। -AsPlainText ইচ্ছা করেই বাদ, তাই password পর্দায় আসে না।
# Your own domain, with permission. The OU and computer names are examples.
# Who can read confidential attributes on this OU?
Find-LapsADExtendedRights -Identity 'OU=PCs,DC=corp,DC=example,DC=com'
# Metadata only: -AsPlainText is left out on purpose.
Get-LapsADPassword -Identity PC-HR-07 |
Select-Object ComputerName, Account, PasswordUpdateTime, ExpirationTimestamp, Sourceনমুনা আউটপুট — version-ভেদে আলাদা হতে পারে
ObjectDN ExtendedRightHolders
-------- --------------------
OU=PCs,DC=corp,DC=example,... {NT AUTHORITY\SYSTEM, CORP\Domain Admins}
ComputerName : PC-HR-07
Account : Administrator
PasswordUpdateTime : 10/12/2026 9:14:02 AM
ExpirationTimestamp : 11/11/2026 9:14:02 AM
Source : EncryptedPassword
প্রথম ফলাফলে SYSTEM আর Domain Admins ছাড়া অন্য কেউ থাকলে সেটি তদন্তের বিষয়। দ্বিতীয় ফলাফলে PasswordUpdateTime অনেক পুরোনো হলে বুঝবেন যন্ত্রটি নীতি পাচ্ছে না। যন্ত্রের LAPS log-এ সফল password আপডেটের জন্য Event 10018 দেখতে পারেন।
৭ · Protected group, Protected Users আর gMSA
নাম কাছাকাছি হলেও এগুলো আলাদা জিনিস। পরীক্ষাতেও গুলিয়ে যায়।
Protected groups আর AdminSDHolder
AD কিছু অতি-গুরুত্বপূর্ণ group আর account-কে আলাদা নজরে রাখে: Domain Admins, Enterprise Admins, Schema Admins, Administrators, Account Operators, Backup Operators, Server Operators, krbtgt প্রভৃতি। AdminSDHolder নামের বস্তুটি এদের অনুমতির ছাঁচ। SDProp নামের একটি কাজ ডিফল্টে প্রতি ৬০ মিনিটে মিলিয়ে দেখে, আর অমিল পেলে ছাঁচ অনুযায়ী ঠিক করে দেয়। তাই AdminSDHolder-এর অনুমতি বদল নিজেই একটি উচ্চ-সংকেত ঘটনা। এটি Event 5136 দিয়ে নজরে রাখুন।
Protected Users group
Protected Users একটি বিশেষ group, Windows Server 2012 R2 functional level থেকে। সদস্যদের ওপর কিছু অপরিবর্তনীয় নিয়ম বসে:
- NTLM দিয়ে authenticate করতে পারেন না
- Kerberos-এ DES বা RC4 নয়, শুধু AES
- Unconstrained বা constrained delegation হয় না
- TGT-র আয়ু ৪ ঘণ্টা, পরে নতুন করে authenticate
- যন্ত্রে cached logon থাকে না, তাই offline login চলে না
Service বা computer account Protected Users-এ রাখবেন না, Microsoft স্পষ্টভাবে নিষেধ করে। সব Domain Admin-কে একবারে ঢোকালেও সবাই আটকে যেতে পারেন, বিশেষ করে DC-তে সমস্যা হলে। আগে এক-দুটি পরীক্ষার account দিয়ে শুরু করুন। Break-glass account-এর সাথে এর সম্পর্ক ভেবে রাখুন।
Service account আর gMSA
Service account মানুষ নয়, কিন্তু প্রায়ই অনেক অধিকার রাখে, আর password বছরের পর বছর বদলায় না। Non-human identity-র ঝুঁকি পর্ব ২০-এ পড়েছেন। Windows-এর উত্তর হলো gMSA (group Managed Service Account).
- Password কেউ জানেন না: Windows নিজে লম্বা এলোমেলো password বানায় আর ডিফল্টে ৩০ দিন পরপর বদলায়।
- একাধিক server-এ এক পরিচয়: নির্দিষ্ট যন্ত্রগুলোই password নিতে পারে। অন্য কেউ পারে না।
- শর্ত: Domain-এ KDS root key থাকতে হবে, আর application-কে gMSA সমর্থন করতে হবে। AES চালু রাখুন।
- Server 2025: সেখানে delegated MSA (dMSA) নামে নতুন ধরনও আছে। ব্যবহারের আগে সর্বশেষ নথি পড়ুন।
সাধারণ নিয়ম: কোনো service account যেন Domain Admins-এ না থাকে। Error এলে সবচেয়ে বড় অধিকার দেওয়া সবচেয়ে সহজ, আর সবচেয়ে ভুল সমাধান। Least privilege এখানেই পরীক্ষায় পড়ে।
৮ · Audit — কোন event দেখবেন, কীভাবে তদন্ত করবেন
অফিসের রেজিস্টার খাতায় কে কখন ঢুকল লেখা থাকে। Windows-এর audit policy ঠিক করে সেই খাতায় কী কী লেখা হবে। অনেক ক্ষেত্রে ডিফল্ট যথেষ্ট নয়। Microsoft-এর নথিতেও বলা আছে, ডিফল্ট আচরণ version-ভেদে আলাদা, তাই Advanced Audit Policy নিজে ঠিক করতে হয়। আর log যন্ত্রে থাকলে দখলকারী মুছে দিতে পারে। তাই event কেন্দ্রীয় SIEM-এ পাঠান। কী রাখবেন আর কতদিন, তা পর্ব ৫৫-তে।
| Event ID | অর্থ | কোথায়, কীসে দেখবেন |
|---|---|---|
4624 / 4625 | Logon সফল / ব্যর্থ | Logon type, উৎস, authentication package |
4672 | নতুন logon-এ বিশেষ অধিকার | কোন যন্ত্রে admin logon হলো |
4648 | স্পষ্ট credential দিয়ে logon চেষ্টা | runas-এর মতো কাজ, অস্বাভাবিক জোড়া |
4768 / 4769 | Kerberos TGT / service ticket চাওয়া | DC-তে। Encryption type, অস্বাভাবিক হার |
4776 | DC credential যাচাই করল | NTLM ব্যবহার মাপার সূচনা |
4728 / 4729 | Global group-এ সদস্য যোগ / বাদ | Domain Admins এই ধরনের |
4732 / 4733 | Local group-এ সদস্য যোগ / বাদ | Administrators, যন্ত্রের local দলও |
4756 / 4757 | Universal group-এ সদস্য যোগ / বাদ | Enterprise Admins, Schema Admins |
4720 | User account তৈরি | Change ticket-এর সাথে মেলান |
4697 / 7045 | Service install | 4697 Security log-এ, 7045 System log-এ |
4719 / 1102 | Audit নীতি বদল / audit log মোছা | দুটিই উচ্চ-সংকেত |
5136 | Directory object বদল | Group Policy, AdminSDHolder. Audit নীতি লাগে। |
Microsoft-এর তালিকায় 4624-এর মতো event-এর গুরুত্ব কম, কারণ সংখ্যায় অনেক। 4719 গুরুত্বপূর্ণ, একবার ঘটলেও দেখার মতো। কিন্তু সব পরিবেশ আলাদা, তাই আগে নিজের স্বাভাবিক হার মাপুন। নিচে নিজের audit নীতি পড়ার কমান্ড আছে।
# Read-only, on a machine you administer. Run in an elevated prompt.
auditpol /get /subcategory:"Logon","Special Logon","Security Group Management","Security System Extension"
# Latest privileged group changes in the local Security log (run on a DC).
Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4728, 4732, 4756 } -MaxEvents 5 |
Select-Object TimeCreated, Idনমুনা আউটপুট — version-ভেদে আলাদা হতে পারে
System audit policy
Category/Subcategory Setting
Logon/Logoff
Logon Success and Failure
Special Logon Success
Account Management
Security Group Management Success
System
Security System Extension Success
TimeCreated Id
----------- --
10/30/2026 2:14:09 AM 4732
10/29/2026 3:01:44 PM 4756
একটি কেন্দ্রীয় নিয়ম Sigma-র ভাষায় এমন হতে পারে। Sigma নিয়ে বিস্তারিত পর্ব ৫৬-তে।
title: Member added to a privileged group
status: experimental
logsource:
product: windows
service: security
detection:
selection:
EventID:
- 4728
- 4732
- 4756
TargetUserName:
- 'Domain Admins'
- 'Enterprise Admins'
- 'Schema Admins'
- 'Administrators'
- 'Backup Operators'
condition: selection
level: high
falsepositives:
- Approved changes; match them to a change ticketএবার একটি খেলনা monitor. এতে অনুমোদিত change ticket-এর সাথে event মেলানো হয়, আর যোগ করে দ্রুত সরিয়ে নেওয়ার ধরনও ধরা হয়। সব ডেটা কাল্পনিক।
// Toy monitor for privileged group changes. Events and tickets are made up.
const WATCH = new Set(['Domain Admins', 'Enterprise Admins', 'Schema Admins',
'Administrators', 'Backup Operators']);
const ACTION = { 4728: 'add', 4732: 'add', 4756: 'add',
4729: 'remove', 4733: 'remove', 4757: 'remove' };
const approved = [ { ticket: 'CHG-204', group: 'Domain Admins', member: 'sohel-t0' } ];
const events = [
{ min: 610, id: 4728, group: 'Domain Admins', member: 'sohel-t0', by: 'rumi-t0' },
{ min: 640, id: 4728, group: 'Print-Staff', member: 'tania', by: 'tania-t2' },
{ min: 725, id: 4729, group: 'Domain Admins', member: 'sohel-t0', by: 'rumi-t0' },
{ min: 134, id: 4732, group: 'Administrators', member: 'svc-report', by: 'it-lead' },
{ min: 139, id: 4733, group: 'Administrators', member: 'svc-report', by: 'it-lead' },
{ min: 901, id: 4756, group: 'Schema Admins', member: 'nadia', by: 'rumi-t0' },
].sort((a, b) => a.min - b.min);
const clock = m => String(Math.floor(m / 60)).padStart(2, '0') + ':' +
String(m % 60).padStart(2, '0');
const open = new Map(); // "group|member" -> minute it was added
const SHORT_WINDOW = 30; // minutes
for (const e of events) {
const key = e.group + '|' + e.member, act = ACTION[e.id];
let verdict = 'info (not watched)';
if (WATCH.has(e.group)) {
if (act === 'add') {
open.set(key, e.min);
const t = approved.find(a => a.group === e.group && a.member === e.member);
verdict = t ? 'ok (' + t.ticket + ')' : 'ALERT no approved ticket';
} else {
const held = e.min - open.get(key);
verdict = held < SHORT_WINDOW ? `ALERT add+remove in ${held} min` : `ok (held ${held} min)`;
}
}
console.log(clock(e.min), e.id, act.padEnd(6), e.group.padEnd(14),
e.member.padEnd(10), 'by', e.by.padEnd(8), verdict);
}প্রথম দুই সারি রাতের: 02:14 4732 add Administrators svc-report ... ALERT no approved ticket, আর পাঁচ মিনিট পরে ALERT add+remove in 5 min. দ্রুত যোগ করে সরিয়ে নেওয়া ঘটনা শেষে group তালিকা দেখে ধরা যায় না, তাই event দরকার। ১০:১০-এর পরিবর্তন ok (CHG-204), আর ১২:০৫-এ ok (held 115 min), মানে অনুমোদিত কাজ। Print-Staff নজরের তালিকায় নেই, তাই info (not watched). ১৫:০১-এ Schema Admins-এ ticket ছাড়া যোগ হওয়ায় ALERT. লক্ষ করুন, rumi-t0 একজন বৈধ admin হলেও নিয়ম সেটি পাশ কাটায় না।
রপ্তানি করা event-এ দ্রুত গণনার জন্য awk কাজে লাগে। নিচে নমুনা CSV ব্লকের ভেতরেই তৈরি হয়। কোনো আসল log পড়া হয় না।
# Count events in a fixed sample export. Every row is made up.
dir=$(mktemp -d)
trap 'rm -rf "$dir"' EXIT
cd "$dir" || exit 1
cat > events.csv <<'EOF'
time,id,account,host,type
02:01,4625,admin,PC-FIN-02,3
02:01,4625,backup,PC-FIN-02,3
02:02,4625,rumi,PC-FIN-02,3
02:02,4625,tania,PC-FIN-02,3
02:03,4625,nadia,PC-FIN-02,3
02:09,4624,tania,PC-FIN-02,3
02:14,4672,tania,PC-FIN-02,-
02:16,4728,svc-report,DC-01,-
02:19,4697,tania,APP-SRV-04,-
09:02,4624,rumi-t0,PAW-T0-1,2
09:05,4672,rumi-t0,DC-01,-
10:11,4624,sohel-t1,APP-SRV-04,10
EOF
echo "== count by event id =="
awk -F, 'NR > 1 { n[$2]++ } END { for (i in n) print i, n[i] }' events.csv | sort
echo "== failed logons by host =="
awk -F, '$2 == 4625 { f[$4]++; u[$4 SUBSEP $3] = 1 }
END { for (k in u) { split(k, p, SUBSEP); a[p[1]]++ }
for (h in f) print h, "failures=" f[h], "accounts=" a[h] }' events.csv
echo "== high-value events =="
awk -F, 'NR > 1 && ($2 == 4728 || $2 == 4697) { print $1, $2, $3, $4 }' events.csvগণনায় 4625 5, অর্থাৎ পাঁচটি ব্যর্থতা। পরের অংশ PC-FIN-02 failures=5 accounts=5 বেশি কথা বলে: পাঁচটি ব্যর্থতা পাঁচটি আলাদা account-এ, এক account-এ নয়। এই ধরন password spraying-এর মতো দেখায়। এরপর ০২:০৯-এ tania-র সফল logon. শেষে 02:16 4728 svc-report DC-01 আর 02:19 4697 tania APP-SRV-04, মানে group বদল আর service install. আলাদা করে প্রতিটি সাধারণ দেখায়, একসাথে একটি গল্প। এই সময়রেখা বানানোই তদন্ত।
Event থেকে তদন্ত
SIEM-এ ০২:১৪-য় একটি alert এলো। একজন বিশ্লেষক কীভাবে এগোবেন, ধাপে ধাপে দেখুন।
| event | |
| member | |
| actor | |
| ticket | |
| severity |
- Alert এলো। ০২:১৪-য় DC থেকে Event 4732:
svc-reportযোগ হলোAdministrators-এ, করেছেনit-lead. প্রথম মাত্রা medium. - প্রেক্ষিত মেলানো। Group নজরের তালিকায় আছে। অনুমোদিত change ticket নেই, আর সময় মাঝরাত। মাত্রা বাড়ল high-তে। Group বা member-এর নাম নয়, প্রসঙ্গই সিদ্ধান্ত ঠিক করে।
- Actor-এর পথ খোঁজা।
it-lead-এর Event 4624 আর 4672 দেখা গেলPC-FIN-02থেকে। এই যন্ত্র তাঁর স্বাভাবিক যন্ত্র নয়। Tier লঙ্ঘনের সংকেতও মিলছে। - আলাদা পথে যাচাই। ফোনে, চ্যাটে নয়, it-lead-কে জিজ্ঞেস করা হলো। তিনি বললেন, তিনি কিছু করেননি। কারণ দখল হওয়া account-ই চ্যাটে উত্তর দিতে পারে। মাত্রা critical, incident ঘোষণা।
- Containment. আগে log সংরক্ষণ, তারপর
svc-reportসরানো (Event 4733),it-leadবন্ধ, session আর ticket বাতিল,PC-FIN-02আলাদা করা। মনে রাখবেন, group থেকে সরালেও পুরোনো ticket থাকতে পারে। - পরিধি আর শিক্ষা। ওই সময়ের 4720, 4697, 5136 দেখা, পুরো timeline, credential বদল, আর ফাঁকের কারণ লেখা (PIR-88). সম্পূর্ণ প্রক্রিয়া পর্ব ৬১ আর ৬২-তে আছে।
৯ · AD backup, recovery আর hybrid identity
সব প্রতিরোধ ব্যর্থ হতে পারে। প্রশ্ন তখন, পরিষ্কার অবস্থায় ফিরবেন কীভাবে। সাধারণ backup-এর চেয়ে AD-র backup কঠিন, কারণ বাকি সব সিস্টেম AD-র ওপর দাঁড়িয়ে।
- একাধিক DC-র নিয়মিত System State backup: একটিমাত্র DC-র backup মানে একক ব্যর্থতার বিন্দু। Hypervisor snapshot backup-এর বিকল্প নয়।
- Tombstone lifetime-এর চেয়ে নতুন: সাধারণত ১৮০ দিন, পুরোনো forest-এ কম হতে পারে। এর চেয়ে পুরোনো backup সমস্যা তৈরি করে।
- Backup-ও Tier 0: Backup-এর ফাইলে সব account-এর key থাকে। একে domain থেকে আলাদা, আর সম্ভব হলে অপরিবর্তনীয় বা offline জায়গায় রাখুন।
- দখলের আগের backup: Backup-এ যদি আক্রমণকারীর পরিবর্তন ঢুকে থাকে, ফেরা মানে তাকেও ফেরানো। তাই ঘটনা শুরু হওয়ার সময় বুঝতে audit লাগে।
- জরুরি জিনিস আলাদা রাখুন: DSRM password, BitLocker recovery key, topology মানচিত্র। DC না থাকলেও এগুলো পেতে হবে।
- krbtgt দুবার বদল: Microsoft-এর forest recovery নির্দেশিকায় krbtgt password দুবার বদলাতে বলা হয়, মাঝে অন্তত টিকিটের সর্বোচ্চ আয়ু, ডিফল্টে ১০ ঘণ্টা। কারণ পুরোনো দুটি password-ই ইতিহাসে থাকে।
- মহড়া: Microsoft-এর নির্দেশিকা forest recovery-র পদ্ধতি lab-এ পরীক্ষা করতে আর নিয়মিত, যেমন বছরে একবার, যাচাই করতে বলে। Lab-টি বিচ্ছিন্ন রাখুন। ভুল করে মোছা object ফেরাতে AD Recycle Bin আলাদা, ছোট হাতিয়ার।
Hybrid identity
অনেক প্রতিষ্ঠানে AD-র পাশাপাশি cloud directory থাকে, যেমন Microsoft Entra ID. দুটিকে জোড়ার নাম hybrid identity. একটি sync সেবা account তথ্য cloud-এ পাঠায়। Product-এর নাম আর সেবার ধরন সময়ে বদলায়, তাই ধারণাটি মনে রাখুন:
- Sync সার্ভার Tier 0: Identity sync সার্ভার দুই জগতের সেতু। একে সাধারণ সার্ভারের মতো রাখবেন না।
- Cloud admin cloud-only: On-premises account-কে cloud-এর বড় role দেবেন না। AD দখল হলে cloud-ও যেন না যায়।
- Federation-এর key: Federation ব্যবহার করলে token-সই করার key-ও Tier 0.
- শক্ত login: Privileged cloud role-এ phishing-প্রতিরোধী MFA আর সময়সীমিত অধিকার। Cloud-এর অনুমতি মডেল এই পর্বে আছে।
আরও গভীরে: Kerberos-এর মূল ধারণা Needham-Schroeder (১৯৭৮) প্রোটোকল থেকে এসেছে, আর ঘড়ি মেলানো সেখানে replay ঠেকানোর উপায়। Windows তাতে PAC নামে group তথ্যের একটি অংশ যোগ করে, যা ticket-এর ভেতরে থাকে। এজন্যই service নিজে থেকেই অনুমতি বিচার করতে পারে। আরও পড়তে Microsoft-এর enterprise access model, Monitoring Active Directory for Signs of Compromise, আর RFC 4120 দেখুন।
পরীক্ষা ও ইন্টারভিউতে:
- Domain আর forest-এর নিরাপত্তা সীমা? প্রকৃত সীমা forest.
- Kerberos আর NTLM-এর মূল পার্থক্য? Kerberos ticket আর KDC, NTLM challenge-response.
- Domain Admins-এ যোগ হওয়ার Event ID? 4728, কারণ এটি global group.
- LAPS কী ঠেকায়? এক local password থেকে অনেক যন্ত্রে ছড়ানো।
- Tier 0 admin workstation-এ logon করলে সমস্যা? Credential দুর্বল যন্ত্রে নামে।
১০ · AI-এর যুগে Windows আর AD নিরাপত্তা
AI PowerShell খুব দ্রুত লেখে। তাই যাচাই করার দায় আরও বাড়ে, কারণ একটি ভুল কমান্ড পুরো domain-এ ছড়াতে পারে।
| AI-এর ভুল | বিপদ | যাচাই |
|---|---|---|
| Error ঠিক করতে service account-কে Domain Admins-এ দিতে বলে | পুরো domain-এর অধিকার | যে নির্দিষ্ট অধিকার লাগে, সেটি খুঁজুন |
| Defender, firewall বা UAC বন্ধ করতে বলে | সমস্যা লুকায়, ঝুঁকি বাড়ে | মূল কারণ বের করুন, ছোট ব্যতিক্রম লিখুন |
| ভুল বা বানানো Event ID, cmdlet আর CVE দেয় | নিয়ম কখনো চলে না, ধরা পড়ে না | Microsoft-এর নথি আর নিজের lab |
| পুরোনো পরামর্শ দেয়: legacy LAPS, MD5, RC4, NTLMv1 | দুর্বল ব্যবস্থা ফেরে | নথির তারিখ দেখুন |
| Alert দেখে আত্মবিশ্বাসে "false positive" বলে | আসল ঘটনা বাদ পড়ে | Ticket, উৎস আর সময় নিজে মেলান |
AI-কে সবসময় নিজের সিস্টেম শক্ত করার কাজে ব্যবহার করুন। আসল domain নাম, IP, password বা log তাতে পেস্ট করবেন না। এই কাঠামোটি কাজে লাগবে:
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন, তারপর “→ উত্তর” চাপুন।
প্র ০১২৫ অক্ষরের password আর MFA থাকলেও একজন Domain Admin কেন সাধারণ ল্যাপটপে বিপদে পড়তে পারেন?
কারণ শক্ত password আর MFA login-এর দরজা রক্ষা করে, login-এর পরের অবস্থা নয়। Login শেষে Windows SSO-র জন্য ব্যবহারযোগ্য প্রমাণ রাখে, যেমন Kerberos TGT. ল্যাপটপ দখল হয়ে থাকলে সেই প্রমাণই লক্ষ্য। তখন দরজার তালার শক্তি আর প্রশ্ন থাকে না।
২০১২ সালে Microsoft যখন pass-the-hash নিয়ে নির্দেশিকা প্রকাশ করে, তখন অনেক প্রশাসকের কাছে এটি অস্বস্তিকর ছিল। সমস্যাটি একটি বাগ নয়, যা patch করলেই যাবে। এটি SSO-র সুবিধার সাথে জড়িত নকশাগত দাম। বার্তাটি তাই ছিল আচরণ বদলানোর: শক্তিশালী account কোথায় ব্যবহার হবে, তা সীমিত করুন।
এরপর প্রযুক্তিও এসেছে। Protected Users Windows Server 2012 R2-র যুগে যুক্ত হয়, আর Credential Guard পরে virtualization দিয়ে গোপন তথ্য আলাদা করে। কিন্তু কোনোটিই একা যথেষ্ট নয়। যন্ত্রে malware থাকলে সে টাইপ করা তথ্য বা চলমান session-কে ব্যবহার করার চেষ্টা করতে পারে। আর Credential Guard Pro সংস্করণে নেই, যা ছোট প্রতিষ্ঠানে সাধারণ।
তাই নিয়ন্ত্রণগুলো স্তরে কাজ করে। আলাদা admin account, PAW, deny logon নীতি, আর আধুনিক সুরক্ষা। এটি defense in depth-এর সরাসরি প্রয়োগ। MFA অবশ্যই থাকবে, কিন্তু একে পূর্ণ সমাধান ভাবা ভুল। একজন বিশ্লেষকের প্রশ্ন তাই হওয়া উচিত: এই credential কোন কোন যন্ত্রে গেছে?
মূল উপলব্ধি: Credential রক্ষা মানে শুধু একে শক্ত করা নয়, একে কোথায় যেতে দিচ্ছেন তা নিয়ন্ত্রণ করা। আপনার সবচেয়ে দামি চাবির নিরাপত্তা নির্ভর করে সবচেয়ে দুর্বল পকেটের ওপর।
প্র ০২একটি বড় প্রতিষ্ঠানের সব DC একসাথে নষ্ট হলে কী হয়? NotPetya থেকে AD backup নিয়ে কী শেখা যায়?
২০১৭ সালের NotPetya একটি সফটওয়্যার update পথ ধরে ছড়ায় এবং বহু প্রতিষ্ঠানের যন্ত্র অচল করে। প্রকাশিত সাংবাদিকতা (WIRED, ২০১৮) অনুসারে শিপিং প্রতিষ্ঠান Maersk-এর পুনরুদ্ধারে একটি প্রায় আকস্মিক ব্যাপার সাহায্য করে: তাদের একটি অফিসের DC বিদ্যুৎ বিভ্রাটের কারণে সেই সময় network-এর বাইরে ছিল বলে প্রতিবেদনে বলা হয়, আর তা থেকেই ডিরেক্টরির একটি পরিষ্কার কপি পাওয়া যায়। ঘটনার বিস্তারিত প্রতিবেদন-নির্ভর, তবে শিক্ষাটি পরিষ্কার।
প্রথম শিক্ষা, DC-তে replication আর backup এক নয়। Replication দ্রুত ভুলও ছড়ায়। সব DC একসাথে আক্রান্ত হলে replication কোনো সুরক্ষা দেয় না। দরকার সময়ের দিক থেকে আলাদা, network থেকে বিচ্ছিন্ন কপি।
দ্বিতীয় শিক্ষা, recovery-র পরিকল্পনায় ভাগ্য থাকতে পারে না। Backup আছে, এটুকু যথেষ্ট নয়। Restore করতে কত ঘণ্টা লাগবে, কোন যন্ত্র আগে উঠবে, DSRM password কোথায়, DNS কীভাবে ফিরবে, এগুলো মহড়ায় জানা যায়। Microsoft-এর নির্দেশিকাও তাই পদ্ধতিটি নিয়মিত, যেমন বছরে একবার, যাচাই করতে বলে।
তৃতীয় শিক্ষা, recovery মানে শুধু ফেরা নয়, পরিষ্কার ফেরা। আক্রমণকারী যদি আগে থেকে ভেতরে থাকে, backup-এও তার চিহ্ন থাকতে পারে। তাই audit log থেকে শুরুর সময় বের করা, krbtgt বদলানো, সব privileged credential পাল্টানো লাগে। পুরো প্রক্রিয়ার পরিকল্পনা পর্ব ৩৪ আর ৬২-তে আসবে।
চতুর্থ শিক্ষা, recovery-র জিনিসগুলো recovery-র সময়ই পাওয়া যেতে হবে। Password vault যদি domain login চায়, আর domain-ই না থাকে, তাহলে vault খুলবে না। তাই জরুরি তথ্য আলাদা জায়গায়, ছাপা বা offline রূপে রাখার পরিকল্পনা দরকার।
মূল উপলব্ধি: যে backup কখনো restore করে দেখা হয়নি, সেটি একটি আশা মাত্র। AD-র ক্ষেত্রে এই আশা পুরো প্রতিষ্ঠানের ব্যবসা ধরে রাখে।
প্র ০৩Kerberos ২০ বছরের বেশি সময় ধরে Windows-এ আছে। তবু NTLM আর SMBv1 এত দিন টিকে রইল কেন?
কারণটি প্রযুক্তির চেয়ে বেশি অর্থনীতির। পুরোনো protocol সরানোর খরচ এক জায়গায় আসে, আর সুবিধা ছড়িয়ে থাকে। একটি পুরোনো scanner হয়তো শুধু SMBv1 বোঝে। Vendor আর নেই, নতুন যন্ত্রের টাকা অনুমোদিত হয়নি। প্রশাসক ভাবেন, যা চলছে তা বন্ধ করে দোষ কে নেবে?
NTLM টিকে থাকার কারিগরি কারণও আছে। Kerberos-এ DC-র সাথে যোগাযোগ আর ঠিকঠাক service name লাগে। IP ঠিকানা দিয়ে সংযোগ, workgroup যন্ত্র, local account, আর কিছু পুরোনো application-এ NTLM-ই fallback হিসেবে থেকে গেছে। Application-এ NTLM সরাসরি লেখা থাকলে সেটি সহজে বদলায় না। তাই Microsoft-এর জানুয়ারি ২০২৬-এর ব্লগের পরিকল্পনায় শুধু বন্ধ করার কথা নয়, আগে audit আর এই ফাঁকগুলো ভরার ধাপ আছে।
WannaCry (২০১৭) দেখায় অবহেলার দাম কত। Microsoft-এর patch আগেই ছিল, আর SMBv1 বহু জায়গায় অপ্রয়োজনীয়ভাবে চালু ছিল। এরপর Microsoft Windows-এর নতুন সংস্করণে এটি ডিফল্টে ইনস্টল করা বন্ধ করে। লক্ষ করুন, পরিবর্তনের চাপ এসেছে ঘটনার পরে। নিরাপদ ডিফল্ট (secure by default) ব্যক্তিগত সচেতনতার চেয়ে বেশি কাজ করে।
এখান থেকে একটি কৌশল পাওয়া যায়। আগে মাপুন, তারপর মালিক ঠিক করুন, ব্যতিক্রমের মেয়াদ লিখুন, ধাপে ধাপে কমান। Legacy system সরানো না গেলে আলাদা network segment-এ রাখুন, যা পর্ব ২২-এ দেখেছেন।
প্রশাসকের জন্য একটি ব্যবহারিক কথাও আছে। NTLM ব্যবহার মাপলে প্রায়ই দেখা যায়, অল্প কয়েকটি যন্ত্র বা application-ই বেশিরভাগ অনুরোধ করছে। তাই কাজটি যত বড় মনে হয়, শুরুতে প্রায়ই তত বড় নয়।
মূল উপলব্ধি: নিরাপত্তা-ঋণ সুদসহ বাড়ে। কারিগরি সমাধানের সাথে দরকার মাপজোক, মালিকানা আর সময়সীমা।
প্র ০৪৩০ জনের একটি অফিসে পুরো tier model কি বাড়াবাড়ি? কোনটি আগে করবেন?
পুরো নকশা বাড়াবাড়ি হতে পারে, কিন্তু মূল নীতি নয়। ইতিহাস দেখুন। Microsoft একসময় বড় প্রতিষ্ঠানের জন্য ESAE নামে একটি আলাদা প্রশাসনিক forest-এর নকশা দিত, যাকে অনেকে red forest বলতেন। সেটি শক্তিশালী হলেও খরচ আর জটিলতা ছিল অনেক। পরে Microsoft একে সাধারণ প্রতিষ্ঠানের ডিফল্ট পরামর্শ থেকে সরিয়ে enterprise access model-এর দিকে এগোয়, যেখানে নীতিটি ধরে রাখা হয়, নির্দিষ্ট নকশা নয়।
৩০ জনের অফিসে সবচেয়ে কম খরচে সবচেয়ে বেশি লাভ দেয় এমন ক্রম:
- এক: দৈনন্দিন account আর admin account আলাদা। এতে কোনো টাকা লাগে না।
- দুই: Windows LAPS চালু। Windows-এ অন্তর্ভুক্ত, AD-তে বাড়তি লাইসেন্স লাগে না।
- তিন: Domain Admins-এ ২ জনের বেশি নয়, সঙ্গে একটি break-glass account.
- চার: Workstation OU-তে Domain Admins-এর logon নিষিদ্ধ।
- পাঁচ: DC-তে শুধু একটি নির্দিষ্ট পরিষ্কার যন্ত্র থেকে RDP.
- ছয়: Group বদল আর logon event একটি জায়গায় পাঠানো, আর পরীক্ষিত AD backup.
ছোট প্রতিষ্ঠানে একই মানুষ সব করেন। তাই বিভিন্ন স্তরের কাজ আলাদা account-এ করা, এমনকি একজনের ক্ষেত্রেও। পুরো PAW না থাকলে একটি শক্ত আলাদা ভার্চুয়াল মেশিন আপস হতে পারে, তবে নিচের যন্ত্র দূষিত হলে সেটিও ঝুঁকিতে, যা পর্ব ২০-এ বলা হয়েছে। Cloud-only ছোট অফিসে হয়তো AD-ই লাগে না, তখন একই নীতি cloud directory-তে বসান।
মূল উপলব্ধি: নীতি ছোট-বড় সবার জন্য এক, প্রয়োগের গভীরতা ঝুঁকি আর সামর্থ্যের ওপর নির্ভর করে। শুরু না করার চেয়ে অসম্পূর্ণ শুরু অনেক ভালো।
প্র ০৫সব cloud-এ নিলে কি AD-র ঝুঁকি শেষ? SolarWinds ঘটনা hybrid identity নিয়ে কী বলে?
Cloud-এ নিলে ঝুঁকি বদলায়, শেষ হয় না। Password spraying, পুরোনো অধিকার আর অতিরিক্ত admin role cloud directory-তেও থাকে। নতুন ঝুঁকি যোগ হয়: OAuth app-এর অতিরিক্ত অনুমতি, consent phishing আর চুরি করা session token. সুবিধাও আছে: patch-এর দায় কমে, conditional access আর MFA সহজ হয়।
আসল জটিলতা hybrid অবস্থায়। ২০২০ সালের SolarWinds ঘটনা নিয়ে Microsoft আর CISA-র প্রকাশিত নির্দেশনা একটি দিক সামনে আনে: কোনো কোনো ক্ষেত্রে on-premises পরিচয় ব্যবস্থায় উচ্চ অধিকার পাওয়ার পর federation-এর সই করার key-র মাধ্যমে cloud-এ বৈধ দেখতে token তৈরি হয়েছিল বলে প্রকাশিত প্রতিবেদনে উল্লেখ আছে। শিক্ষা হলো, cloud-এর বিশ্বাস যদি on-premises ব্যবস্থার ওপর দাঁড়ায়, তাহলে সেই ব্যবস্থা দখল হলে cloud-ও বিপদে পড়ে।
রক্ষকের নকশায় তিনটি সিদ্ধান্ত আসে। প্রথমত, identity sync আর federation সার্ভার Tier 0-এর অংশ। দ্বিতীয়ত, cloud-এর শীর্ষ admin on-premises থেকে sync করা account হবে না। এভাবে AD আর cloud-এর মধ্যে একটি বিচ্ছেদ থাকে। তৃতীয়ত, দুই জগতের log একসাথে দেখতে হবে। একা AD log cloud-এর ঘটনা দেখায় না, আবার উল্টোটাও।
আরেকটি বাস্তবতা হলো, অনেক প্রতিষ্ঠান বহু বছর hybrid থাকবে। পুরোনো application, ফাইল সার্ভার আর কারখানার যন্ত্র সহজে সরে না। AD-কে পরিত্যক্ত ভেবে অবহেলা করলে সে-ই দুর্বলতম পথ হবে। পুরো মডেলের আলোচনা পর্ব ৭২ আর ৭৪-এ আসবে।
মূল উপলব্ধি: পরিচয়ের বিশ্বাস-শিকলের সবচেয়ে দুর্বল আংটাই আসল সীমা। Hybrid-এ সেই শিকল দুই জগতে ছড়িয়ে থাকে, তাই রক্ষাও দুই জগতে একসাথে করতে হয়।
অনুশীলন
সব কাজ কাগজে, খেলনা ডেটায় বা নিজের lab-এ করুন। অন্যের domain-এ নয়।
-
Numerical: ৫০০টি যন্ত্র, প্রতিটির বছরে দখলের সম্ভাবনা ০.৫%, স্বাধীন। (ক) অন্তত একটি দখলের সম্ভাবনা কত? (খ) LAPS থাকলে প্রত্যাশিত দখল হওয়া যন্ত্র কত? (গ) সবাই এক local password ব্যবহার করলে একটি দখলের পর ঝুঁকিতে কতটি?
(ক) ১ − (০.৯৯৫)৫০০ ≈ ১ − ০.০৮২ = ৯১.৮%. (খ) ৫০০ × ০.০০৫ = ২.৫টি. (গ) ৫০০টিই। ক-এর ফল বলছে, একটি দখল প্রায় ধরে নিয়েই নকশা করতে হয়। গ-এর ফল বলছে, সেই একটির ক্ষতি কত দূর যাবে তা আপনার হাতে।
-
আউটপুট অনুমান:
tier_check.js-এর নিয়ম ধরে নিচের দুটি সারির রায় কী হবে? (ক)tania-t2→DC-01, type 3 (খ)sohel-t1→PC-HR-07, type 2.tier_check.js-এ এই দুটি event যোগ করলেsummaryকী হবে?(ক) account tier 2 > host tier 0, তাই
ALERT lower account on higher host. এখানে logon type-এর বিচার নেই। (খ) account tier 1 < host tier 2, type 2, তাইALERT credentials exposed down-tier. আগের সারাংশ ছিল{"ok":4,"REVIEW":1,"ALERT":2}, এখন হবে{"ok":4,"REVIEW":1,"ALERT":4}. চালিয়ে মিলিয়ে নিন। -
নকশা: ৬০ জনের একটি কাল্পনিক অনলাইন বাজারে একটি DC, ৫টি server, ৭০টি PC. IT-র দুজনই দৈনন্দিন account দিয়ে Domain Admin. সব PC-তে একই local password. Backup একই hypervisor-এ snapshot. ৯০ দিনের অগ্রাধিকার তালিকা বানান, আর প্রতিটি পদক্ষেপ সফল হয়েছে কি না কীভাবে জানবেন বলুন।
- সপ্তাহ ১–২: আলাদা admin account, দৈনন্দিন account থেকে Domain Admins সরানো। যাচাই: Group তালিকা, 4728/4729 event.
- সপ্তাহ ৩–৪: দ্বিতীয় DC আর আলাদা জায়গায় System State backup. যাচাই: বিচ্ছিন্ন lab-এ restore মহড়া।
- সপ্তাহ ৫–৬: Windows LAPS প্রথমে ৫টি PC-তে, তারপর সব। যাচাই: coverage ১০০%, Event 10018.
- সপ্তাহ ৭–৮: Workstation OU-তে privileged logon নিষিদ্ধ। যাচাই: 4625 sub-status, tier report.
- সপ্তাহ ৯–১২: Audit নীতি, কেন্দ্রীয় log, SMBv1 সরানো, NTLM মাপা। যাচাই: alert পরীক্ষা।
এক DC আর backup আগে আসে, কারণ এখানে ব্যর্থতায় প্রতিষ্ঠান থেমে যাবে। প্রতিটি পদক্ষেপের প্রমাণ থাকা চাই, “করেছি” বলা যথেষ্ট নয়।
-
সমালোচনা: একজন প্রশাসক বললেন: “Domain Admin-এ MFA আছে, LAPS আছে, তাই Tier 0 account দিয়ে helpdesk করলে সমস্যা নেই। আর backup তো DC-র পাশের সার্ভারেই।” এই বক্তব্যের অন্তত তিনটি ফাঁক দেখান।
- MFA login-এর পরের ঝুঁকি মেটায় না: দুর্বল যন্ত্রে logon-এর পর credential বা session ঝুঁকিতে পড়ে।
- LAPS local account রক্ষা করে: Domain account-এর exposure এতে কমে না।
- Backup-এর জায়গা ভুল: একই network, একই admin. DC দখল হলে backup-ও একই সাথে নষ্ট হতে পারে। Backup-কেও Tier 0 ধরে আলাদা করতে হবে।
বাড়তি ফাঁক: Restore করে দেখার কথা বলা হয়নি, আর helpdesk-এর জন্য সহজ Tier 2 পথ না থাকলে নিয়ম আবারও ভাঙবে।
নিজেকে যাচাই করুন
ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।
ক্রমKerberos-এ একটি file share খোলার ধাপগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)
- Client সময়চিহ্ন encrypt করে KDC-তে প্রমাণ পাঠায়
- KDC একটি TGT দেয়, Event 4768 লেখা হয়
- Client TGT দেখিয়ে file server-এর জন্য ticket চায়
- KDC service ticket দেয়, Event 4769 লেখা হয়
- File server নিজের key দিয়ে ticket খোলে, Event 4624 লেখা হয়
একজন Tier 0 admin একটি সাধারণ workstation-এ Remote Desktop দিয়ে logon করলেন। প্রধান নিরাপত্তা-সমস্যা কী?
- Workstation ধীর হয়ে যায়
- Tier 0 credential দুর্বল যন্ত্রে ব্যবহারযোগ্য অবস্থায় থাকতে পারে
- Admin-এর password নিজে থেকে বদলে যায়
- পুরো domain সঙ্গে সঙ্গে বন্ধ হয়ে যায়
Windows LAPS মূলত কোন ঝুঁকি কমায়?
- Domain Admin-এর password চুরি
- চুরি হওয়া ল্যাপটপের disk পড়া
- একই local admin password দিয়ে অনেক যন্ত্রে ছড়ানো
- User-কে phishing email থেকে রক্ষা
Domain Admins global group-এ নতুন সদস্য যোগ হলে কোন Event ID লেখা হয়?
- 4728
- 4732
- 4756
- 4624
Protected Users group সম্পর্কে কোনটি ঠিক?
- সব service account এখানে রাখা উচিত
- সদস্যরা শুধু NTLM ব্যবহার করতে পারেন
- TGT-র আয়ু বাড়িয়ে ৩০ দিন করে
- সদস্যদের জন্য NTLM, RC4 আর delegation বন্ধ হয়
Client আর DC-র ঘড়িতে ৬ মিনিটের তফাত, Kerberos policy ডিফল্ট। কী হওয়ার সম্ভাবনা বেশি?
- কিছুই হবে না
- Kerberos authentication ব্যর্থ হবে
- Account-এর password রিসেট হবে
- Client নিজে DC হয়ে যাবে
একটি domain পুরোপুরি দখল হওয়ার পর সঠিক পুনরুদ্ধার পদক্ষেপ কোনটি?
- সবচেয়ে নতুন backup যাচাই ছাড়াই restore করা
- krbtgt password একবার বদলে কাজ শেষ করা
- দখলের আগের পরিষ্কার backup বিচ্ছিন্নভাবে restore করে krbtgt দুবার বদলানো, মাঝে অপেক্ষা রেখে
- প্রথমে সব audit log মুছে ফেলা
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন, অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:
মনে রাখুন
- AD দখল মানে প্রায় সব দখল। DC, তার backup আর তাকে চালানোর যন্ত্র একই মূল্যের।
- উপরের credential নিচে নামে না: Tier 0/1/2, clean source আর deny logon নীতি।
- Windows LAPS local admin password অনন্য করে; gMSA service account-এর password মানুষের হাত থেকে সরায়; Protected Users সদস্যের credential কম রাখে।
- SMBv1 আর NTLM সরানোর আগে মাপুন, তারপর ধাপে ধাপে কমান।
- 4728, 4732, 4756, 4697 আর logon event কেন্দ্রে পাঠান; AD restore-এর মহড়া দিন।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ৩২ · Vulnerability management — CVE, CVSS, EPSS, KEV আর patch-এর অগ্রাধিকারপরবর্তী পর্বকোন দুর্বলতা আগে ঠিক করবেন, তার পদ্ধতি।
- সাইবার নিরাপত্তা · কোর্স হোম৮০টি পর্বপুরো কোর্সের রোডম্যাপ।
- পর্ব ২০ · Privileged accessভিত্তিAdmin account, PAW, vault আর just-in-time access.
- OS নিরাপত্তাগভীরে যানOS-এর ভেতরে protection আর user ধারণা।
- Cloud IAMCloudCloud-এ পরিচয় আর অনুমতি।