NTLM (NT LAN ম্যানেজার) বেশ দীর্ঘ সময় ধরে মৌলিক মাইক্রোসফ্ট প্রমাণীকরণ প্রোটোকল হিসাবে ব্যবহৃত হচ্ছে:উইন্ডোজ এনটি থেকে। যদিও Microsoft Windows 2000-এ আরও নিরাপদ Kerberos প্রমাণীকরণ প্রোটোকল চালু করেছে, তবুও NTLM (সাধারণত, এটি NTLMv2) এখনও উইন্ডোজ ডোমেন নেটওয়ার্কে প্রমাণীকরণের জন্য ব্যাপকভাবে ব্যবহৃত হয়। এই নিবন্ধে, আমরা কীভাবে NTLMv1 এবং NTLMv2 প্রোটোকলগুলি নিষ্ক্রিয় করব এবং আপনার অ্যাক্টিভ ডিরেক্টরি ডোমেনে Kerberos ব্যবহার শুরু করব তা বিবেচনা করব।
প্রধান NTLMv1 সমস্যা:
- দুর্বল এনক্রিপশন;
- এলএসএ পরিষেবার মেমরিতে পাসওয়ার্ড হ্যাশ সংরক্ষণ করা যা বিভিন্ন সরঞ্জাম (যেমন mimikatz) ব্যবহার করে বের করা যেতে পারে এবং তারপর হ্যাশটি আরও আক্রমণের জন্য ব্যবহার করা যেতে পারে;
- একটি সার্ভার এবং একটি ক্লায়েন্টের মধ্যে পারস্পরিক প্রমাণীকরণের অনুপস্থিতি যার ফলে ডেটা ইন্টারসেপশন আক্রমণ এবং নেটওয়ার্ক সংস্থানগুলিতে অননুমোদিত অ্যাক্সেস ঘটে (কিছু সরঞ্জাম যেমন রেসপন্ডার নেটওয়ার্কে প্রেরিত NTLM ডেটা ক্যাপচার করতে পারে এবং নেটওয়ার্ক সংস্থানগুলি অ্যাক্সেস করতে ব্যবহার করতে পারে);
- এবং অন্যান্য দুর্বলতা।
তাদের মধ্যে কিছু পরবর্তী সংস্করণ NTLMv2 এ ঠিক করা হয়েছে যা আরো নিরাপদ এনক্রিপশন অ্যালগরিদম ব্যবহার করে এবং জনপ্রিয় NTLM আক্রমণ প্রতিরোধ করতে দেয়। NTLMv1 এবং LM প্রমাণীকরণ প্রোটোকলগুলি ডিফল্টরূপে Windows 7 / Windows Server 2008 R2 দিয়ে অক্ষম করা হয়৷
NTLMv2 জোর করতে GPO কনফিগার করা হচ্ছে
আপনি যদি আপনার ডোমেনে NTLM-এর ব্যবহার বন্ধ করার কথা ভেবে থাকেন, তাহলে প্রথমেই আপনাকে নিশ্চিত করতে হবে যে আপনি এটির আরও দুর্বল সংস্করণ ব্যবহার করছেন না – NTLMv1 . আপনার নেটওয়ার্কে অনেকগুলি লিগ্যাসি ডিভাইস বা পরিষেবা থাকতে পারে যেগুলি এখনও NTLMv2 (বা Kerberos) এর পরিবর্তে NTLMv1 প্রমাণীকরণ ব্যবহার করছে৷ সুতরাং, এটি সম্পূর্ণরূপে নিষ্ক্রিয় করার আগে, এই নিবন্ধে NTLM প্রমাণীকরণ ইভেন্ট অডিট বিভাগটি পড়ুন৷
ছোট ওপেন সোর্স পণ্য, বিভিন্ন নেটওয়ার্ক স্ক্যানারের পুরানো মডেল (যা শেয়ার করা নেটওয়ার্ক ফোল্ডারে স্ক্যানগুলি সংরক্ষণ করে), কিছু NAS ডিভাইস এবং অন্যান্য পুরানো হার্ডওয়্যার, সফ্টওয়্যার এবং OS-এ NTLMv1 নিষ্ক্রিয় করার সময় প্রমাণীকরণের সমস্যা হতে পারে।প্রথমত, ডোমেইন অ্যাডমিনিস্ট্রেটরকে নিশ্চিত করতে হবে যে এনটিএলএম এবং এলএম প্রোটোকল ডোমেনে প্রমাণীকরণের জন্য ব্যবহার করা নিষিদ্ধ, কারণ কিছু ক্ষেত্রে আক্রমণকারী এনটিএলএম/এলএম অনুরোধের প্রতিক্রিয়া পাওয়ার জন্য বিশেষ অনুরোধ ব্যবহার করতে পারে।
আপনি ডোমেন (বা স্থানীয়) নীতি ব্যবহার করে পছন্দের প্রমাণীকরণের ধরন সেট করতে পারেন। গ্রুপ পলিসি ম্যানেজমেন্ট এডিটর (gpmc.msc) খুলুন এবং ডিফল্ট ডোমেন নীতি সম্পাদনা করুন। GPO বিভাগে যান কম্পিউটার কনফিগারেশন -> নীতি -> উইন্ডোজ সেটিংস -> নিরাপত্তা সেটিংস -> স্থানীয় নীতি -> নিরাপত্তা বিকল্পগুলি এবং নীতিটি খুঁজুননেটওয়ার্ক নিরাপত্তা:LAN ম্যানেজার প্রমাণীকরণ স্তর .
নীতি সেটিংসে 6টি বিকল্প রয়েছে:
- LM এবং NTLM প্রতিক্রিয়া পাঠান;
- LM এবং NTLM প্রতিক্রিয়া পাঠান – আলোচনা করা হলে NTLMv2 সেশন নিরাপত্তা ব্যবহার করুন;
- শুধুমাত্র NTLM প্রতিক্রিয়া পাঠান;
- শুধুমাত্র NTLMv2 প্রতিক্রিয়া পাঠান;
- শুধুমাত্র NTLMv2 প্রতিক্রিয়া পাঠান। LM প্রত্যাখ্যান;
- শুধুমাত্র NTLMv2 প্রতিক্রিয়া পাঠান। LM &NTLM প্রত্যাখ্যান করুন।
NTLM প্রমাণীকরণ ব্যবহারের নীতিগুলি তাদের নিরাপত্তার উন্নতির ক্রম অনুসারে দেওয়া হয়। ডিফল্টরূপে, Windows 7 এবং নতুন ওএসগুলি শুধুমাত্র NTLMv2 প্রতিক্রিয়া পাঠান বিকল্পটি ব্যবহার করে . এই বিকল্পটি সক্রিয় থাকলে, ক্লায়েন্ট কম্পিউটারগুলি NTLMv2 প্রমাণীকরণ ব্যবহার করে, কিন্তু AD ডোমেন কন্ট্রোলাররা LM, NTLM এবং NTLMv2 অনুরোধগুলি গ্রহণ করে৷
NTLMv2 ব্যবহার করা যেতে পারে যদি Kerberos প্রোটোকল কাজ না করে, কিছু ক্রিয়াকলাপের জন্য (উদাহরণস্বরূপ, ডোমেন-যুক্ত কম্পিউটারে স্থানীয় গ্রুপ এবং অ্যাকাউন্ট পরিচালনা করার সময়) বা ওয়ার্কগ্রুপে।আপনি নীতির মান সবচেয়ে নিরাপদ 6 বিকল্পে পরিবর্তন করতে পারেন:“শুধুমাত্র NTLMv2 প্রতিক্রিয়া পাঠান। LM এবং NTLM প্রত্যাখ্যান করুন৷ ” আপনি যদি একটি ডোমেন কন্ট্রোলারে এই সেটিংটি কনফিগার করেন, তাহলে তারা সমস্ত LM এবং NTLMv1 অনুরোধ প্রত্যাখ্যান করবে৷
আপনি রেজিস্ট্রির মাধ্যমে NTLMv1 নিষ্ক্রিয় করতে পারেন। এটি করতে, LmCompatibilityLevel নামের একটি DWORD প্যারামিটার তৈরি করুন এবং রেজিস্ট্রি কীতে মান 0-5 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa . মান 5 নীতি বিকল্পের সাথে মিলে যায় “শুধুমাত্র NTLMv2 প্রতিক্রিয়া পাঠান। LM NTLM প্রত্যাখ্যান করুন।
নিশ্চিত করুন যে নেটওয়ার্ক নিরাপত্তা:পরবর্তী পাসওয়ার্ড পরিবর্তনে ল্যান ম্যানেজার হ্যাশ মান সংরক্ষণ করবেন না নীতি একই GPO বিভাগে সক্রিয় করা হয়েছে। এটি Windows Vista/Windows Server 2008 থেকে শুরু করে ডিফল্টরূপে সক্রিয় থাকে এবং LM হ্যাশ তৈরি করতে বাধা দেয়।
আপনার ডোমেন কন্ট্রোলারগুলিতে এই নীতি প্রয়োগ করতে ভুলবেন না৷
৷আপনি যদি নিশ্চিত হয়ে থাকেন যে আপনি NTLMv1 ব্যবহার করছেন না, আপনি আরও যেতে পারেন এবং NTLMv2 নিষ্ক্রিয় করার চেষ্টা করতে পারেন। NTLMv2৷ এটি একটি আরও নিরাপদ প্রমাণীকরণ প্রোটোকল, তবে নিরাপত্তার দিক থেকে এটি Kerberos-এর চেয়ে অনেক পিছিয়ে রয়েছে (যদিও NTLMv1-এর তুলনায় NTLMv2-তে কম দুর্বলতা রয়েছে, কিন্তু এখনও ডেটা ক্যাপচার এবং পুনঃব্যবহারের সুযোগ রয়েছে, পাশাপাশি এটি সমর্থন করে না পারস্পরিক প্রমাণীকরণ)।
NTLM অক্ষম করার প্রধান ঝুঁকি হল উত্তরাধিকারের সম্ভাব্য ব্যবহার বা ভুলভাবে কনফিগার করা অ্যাপ্লিকেশন যা এখনও NTLM প্রমাণীকরণ ব্যবহার করতে পারে। এই ক্ষেত্রে, Kerberos-এ স্যুইচ করার জন্য আপনাকে একটি বিশেষ উপায়ে সেগুলিকে আপডেট বা কনফিগার করতে হবে।
এনটিএলএম প্রমাণীকরণ অডিট লগিং কীভাবে সক্ষম করবেন?
আপনি আপনার ডোমেনে NTLM সম্পূর্ণরূপে নিষ্ক্রিয় করার আগে এবং Kerberos-এ স্যুইচ করার আগে, নিশ্চিত করুন যে ডোমেনে এমন কোনো অ্যাপ অবশিষ্ট নেই যার জন্য NTLM প্রমাণীকরণের প্রয়োজন এবং ব্যবহার করা।
NTLM প্রমাণীকরণ ব্যবহার করছে এমন অ্যাকাউন্ট বা অ্যাপ ট্র্যাক করতে, আপনি GPO ব্যবহার করে সমস্ত কম্পিউটারে অডিট লগিং নীতিগুলি সক্ষম করতে পারেন৷ কম্পিউটার কনফিগারেশন -> উইন্ডোজ সেটিংস -> নিরাপত্তা সেটিংস -> স্থানীয় নীতি -> নিরাপত্তা বিকল্প বিভাগে, খুঁজুন এবং সক্ষম করুন নেটওয়ার্ক নিরাপত্তা:সীমাবদ্ধ NTLM:এই ডোমেনে NTLM প্রমাণীকরণ নিরীক্ষণ করুন নীতি এবং এর মান সেট করুন সমস্ত সক্ষম করুন৷৷
একইভাবে নীতি সক্রিয় করুন নেটওয়ার্ক নিরাপত্তা:এনটিএলএম সীমাবদ্ধ করুন:অডিট ইনকামিং এনটিএলএম ট্রাফিক এবং এর মান সেট করুন ডোমেন অ্যাকাউন্টের জন্য অডিটিং সক্ষম করুন৷৷
এই নীতিগুলি সক্রিয় করার পরে, NTLM প্রমাণীকরণ ব্যবহারের ঘটনাগুলি অ্যাপ্লিকেশন এবং পরিষেবা লগ-> Microsoft -> Windows -> NTLM -এ উপস্থিত হয়। ইভেন্ট ভিউয়ারের বিভাগ
আপনি প্রতিটি সার্ভারে ইভেন্টগুলি বিশ্লেষণ করতে পারেন বা সেগুলিকে সেন্ট্রাল উইন্ডোজ ইভেন্ট লগ কালেক্টরের কাছে সংগ্রহ করতে পারেন৷
আপনাকে ইভেন্ট আইডি 4624 দিয়ে Microsoft-Windows-Security-Auditing উৎস থেকে ইভেন্টগুলি অনুসন্ধান করতে হবে – “একটি অ্যাকাউন্ট সফলভাবে লগ ইন করা হয়েছে৷ " অনুগ্রহ করে “বিশদ প্রমাণীকরণ তথ্য-এ তথ্যটি নোট করুন৷ " অধ্যায়. যদি NTLM থাকে প্রমাণিকরণ প্যাকেজে মান, NTLM প্রোটোকলের চেয়ে এই ব্যবহারকারীকে প্রমাণীকরণ করতে ব্যবহার করা হয়েছে।
প্যাকেজের নাম (শুধুমাত্র NTLM) এর মান দেখুন . এই লাইনটি দেখায়, কোন প্রোটোকল (LM, NTLMv1 বা NTLMv2) প্রমাণীকরণের জন্য ব্যবহার করা হয়েছে। এইভাবে, আপনাকে সমস্ত সার্ভার/অ্যাপ্লিকেশন সনাক্ত করতে হবে যেগুলি লিগ্যাসি প্রোটোকল ব্যবহার করছে৷
উদাহরণস্বরূপ, সমস্ত ডোমেন কন্ট্রোলারে সমস্ত NTLMv1 প্রমাণীকরণ ইভেন্টগুলি অনুসন্ধান করতে, আপনি নিম্নলিখিত PowerShell স্ক্রিপ্টটি ব্যবহার করতে পারেন:
$ADDCs = Get-ADDomainController -filter
$Now = Get-Date
$Yesterday = $Now.AddDays(-1)
$NewOutputFile = "c:\Events\$($Yesterday.ToString('yyyyddMM'))_AD_NTLMv1_events.log"
function GetEvents($DC){
Write-Host "Searching log on " $DC.HostName
$Events = Get-EventLog "Security" -After $Yesterday.Date -Before $Now.Date -ComputerName $DC.HostName -Message "*V1*" -instanceid 4624
foreach($Event in $Events){
Write-Host $DC.HostName $Event.EventID $Event.TimeGenerated
Out-File -FilePath $NewOutputFile -InputObject "$($Event.EventID), $($Event.MachineName), $($Event.TimeGenerated), $($Event.ReplacementStrings),($Event.message)" -Append
}
}
foreach($DC in $ADDCs){GetEvents($DC)}
আপনি আপনার ডোমেনে NTLM ব্যবহার করছেন এমন ব্যবহারকারী এবং অ্যাপ্লিকেশন খুঁজে পাওয়ার পরে, তাদের Kerberos (সম্ভবত SPN ব্যবহার করে) ব্যবহার করার চেষ্টা করুন। Kerberos প্রমাণীকরণ ব্যবহার করার জন্য কিছু অ্যাপ্লিকেশানগুলিকে সামান্য পুনরায় কনফিগার করতে হবে (IIS-এ Kerberos প্রমাণীকরণ নিবন্ধগুলি দেখুন, Kerberos প্রমাণীকরণের জন্য বিভিন্ন ব্রাউজার কীভাবে কনফিগার করবেন?)। আমার নিজের অভিজ্ঞতা থেকে, আমি দেখতে পাচ্ছি যে এমনকি বড় বাণিজ্যিক পণ্যগুলি এখনও Kerberos এর পরিবর্তে NTLM ব্যবহার করছে, কিছু পণ্যের আপডেট বা কনফিগারেশন পরিবর্তন প্রয়োজন। কোন অ্যাপ এনটিএলএম প্রমাণীকরণ ব্যবহার করছে তা শনাক্ত করা সবই, এবং এখন আপনার কাছে এই সফ্টওয়্যার এবং ডিভাইসগুলি সনাক্ত করার জন্য প্রাসঙ্গিক পদ্ধতি রয়েছে৷
Kerberos প্রমাণীকরণের জন্য আপনাকে আপনার সার্ভারের IP ঠিকানার পরিবর্তে একটি DNS নাম ব্যবহার করতে হবে। আপনার সংস্থানগুলির সাথে সংযোগ করার সময় আপনি যদি IP ঠিকানা নির্দিষ্ট করেন, NTLM প্রমাণীকরণ ব্যবহার করা হয়।যে অ্যাপগুলি Kerberos ব্যবহার করতে পারে না সেগুলি ব্যতিক্রমগুলিতে যোগ করা যেতে পারে। এটি তাদের NTLM প্রমাণীকরণ ব্যবহার করার অনুমতি দেবে, এমনকি যদি এটি ডোমেন স্তরে অক্ষম করা থাকে। এটি করতে, নেটওয়ার্ক নিরাপত্তা:এনটিএলএম সীমাবদ্ধ করুন:এই ডোমেনে এনটিএলএম প্রমাণীকরণের জন্য সার্ভার ব্যতিক্রম যোগ করুন নীতি ব্যবহার করা হয়। সার্ভারগুলির নাম যোগ করুন, যেগুলিতে NTLM প্রমাণীকরণ ব্যবহার করা যেতে পারে, পাশাপাশি ব্যতিক্রমগুলির তালিকায়। আদর্শভাবে, এই ব্যতিক্রম তালিকাটি খালি হওয়া উচিত। আপনি ওয়াইল্ডকার্ড * ব্যবহার করতে পারেন .
কিভাবে সক্রিয় ডিরেক্টরি ডোমেনে NTLM সম্পূর্ণরূপে সীমাবদ্ধ করবেন?
আপনার ডোমেনের বিভিন্ন অ্যাপের জন্য NTLM ছাড়া প্রমাণীকরণ কীভাবে কাজ করবে তা পরীক্ষা করতে, আপনি "সুরক্ষিত ব্যবহারকারী" ডোমেন গ্রুপে ব্যবহারকারীর অ্যাকাউন্ট যোগ করতে পারেন (এটি উইন্ডোজ সার্ভার 2012 R2 থেকে উপলব্ধ)। এই নিরাপত্তা গোষ্ঠীর সদস্যরা শুধুমাত্র Kerberos ব্যবহার করে প্রমাণীকরণ করতে পারে (NTLM, Digest প্রমাণীকরণ বা CredSSP অনুমোদিত নয়)। এইভাবে, আপনি বিভিন্ন অ্যাপে Kerberos ব্যবহারকারীর প্রমাণীকরণ সঠিকভাবে কাজ করে কিনা তা যাচাই করতে পারেন।
তারপর আপনি Network Security:Restrict NTLM:এই ডোমেনে NTLM প্রমাণীকরণ ব্যবহার করে অ্যাক্টিভ ডিরেক্টরি ডোমেনে NTLM সম্পূর্ণরূপে নিষ্ক্রিয় করতে পারেন নীতি।
নীতিতে 5টি বিকল্প রয়েছে:
- অক্ষম করুন:৷ নীতি নিষ্ক্রিয় (ডোমেনে NTLM প্রমাণীকরণ অনুমোদিত);
- ডোমেন সার্ভারে ডোমেন অ্যাকাউন্টের জন্য অস্বীকার করুন: ডোমেন কন্ট্রোলাররা ডোমেন অ্যাকাউন্টের অধীনে সমস্ত সার্ভারের জন্য NTLM প্রমাণীকরণের প্রচেষ্টাকে অস্বীকার করে এবং "NTLM ব্লক করা হয়েছে" ত্রুটি দেখা দেয়;
- ডোমেন অ্যাকাউন্টের জন্য অস্বীকার করুন: ডোমেন কন্ট্রোলার সমস্ত ডোমেন অ্যাকাউন্টের জন্য NTLM প্রমাণীকরণের প্রচেষ্টাকে বাধা দেয় এবং "NTLM ব্লক করা হয়েছে" ত্রুটি দেখা দেয়;
- ডোমেন সার্ভারের জন্য অস্বীকার করুন: NTLM প্রমাণীকরণ অনুরোধগুলি সমস্ত সার্ভারের জন্য নিষিদ্ধ যদি না সার্ভারের নাম "নেটওয়ার্ক নিরাপত্তা:সীমাবদ্ধ NTLM:এই ডোমেনে NTLM প্রমাণীকরণের জন্য সার্ভার ব্যতিক্রমগুলি যোগ করুন" নীতিতে ব্যতিক্রম তালিকায় না থাকে;
- সব অস্বীকার করুন: ডোমেন কন্ট্রোলার সমস্ত ডোমেন সার্ভার এবং অ্যাকাউন্টের জন্য সমস্ত NTLM অনুরোধগুলিকে ব্লক করে।
অ্যাক্টিভ ডিরেক্টরি নিরাপত্তা আরও উন্নত করার জন্য, আমি এই নিবন্ধগুলি পড়ার পরামর্শ দিচ্ছি:মিমিকাটজ স্টাইল অ্যাটাকগুলির বিরুদ্ধে প্রশমন, সুবিধাপ্রাপ্ত অ্যাডমিনিস্ট্রেটর অ্যাকাউন্টগুলি সুরক্ষিত করা, TCP/IP এর উপর LLMNR এবং NetBIOS কীভাবে নিষ্ক্রিয় করা যায়৷