SMB (सर्वर मैसेज ब्लॉक) एक नेटवर्क-लेयर्ड प्रोटोकॉल है जिसका उपयोग मुख्य रूप से Windows पर फ़ाइलें, प्रिंटर साझा करने और नेटवर्क से जुड़े कंप्यूटर के बीच संचार के लिए किया जाता है। इस प्रोटोकॉल को मुख्य रूप से IBM/Microsoft द्वारा बनाया गया था और इसका पहला कार्यान्वयन DOS/Windows NT 3.1 में किया गया था। उसके बाद, SMB लगभग हर Windows संस्करण का हिस्सा है यानी XP, Vista, 7, 8, 10, 11। SMB प्रोटोकॉल Windows के सर्वर संस्करणों में भी मौजूद है। हालांकि SMB प्रोटोकॉल Windows नेटिव है लेकिन यह Linux (SAMBA के माध्यम से) और macOS द्वारा भी समर्थित है।

SMB कार्य तंत्र
सबसे सरल रूप में, SMB क्लाइंट मशीनें SMP पोर्ट (पोर्ट 445) का उपयोग करके SMB सर्वर से कनेक्ट होती हैं ताकि सफल SMB ऑथेंटिकेशन के बाद SMB-आधारित शेयर्स तक पहुंचा जा सके। एक बार SMB कनेक्शन स्थापित हो जाने पर, फ़ाइल सहयोग, प्रिंटर शेयरिंग, या कोई अन्य नेटवर्क-आधारित ऑपरेशन किया जा सकता है।

SMB प्रोटोकॉल का इतिहास
SMB प्रोटोकॉल 1980 के दशक में IBM के एक समूह द्वारा विकसित किया गया था। वर्षों में विकसित नेटवर्क आवश्यकताओं को पूरा करने के लिए, SMB प्रोटोकॉल कई वेरिएंट्स के माध्यम से विकसित हुआ है, जिन्हें संस्करण या बोलियाँ कहा जाता है। प्रोटोकॉल अभी भी LAN या कार्यस्थल पर संसाधन साझा करने के लिए सबसे अधिक उपयोग किए जाने वाले प्रोटोकॉल में से एक है।
SMB प्रोटोकॉल बोलियाँ या संस्करण
SMB प्रोटोकॉल अपने मूल SMB प्रोटोकॉल के कार्यान्वयन से लेकर हमेशा बदलते IT क्षितिज के साथ संगत होने के लिए कई सुधारों से गुजरा है। सबसे उल्लेखनीय निम्नलिखित हैं:
- SMB 1 1984 में DOS पर फ़ाइलें साझा करने के लिए बनाया गया था।
- CIFS (कॉमन इंटरनेट फाइल सिस्टम) 1996 में Microsoft द्वारा Windows 95 में Microsoft के SMB संस्करण के रूप में पेश किया गया था।
- SMB 2 2006 में Windows Vista और Windows Server 2008 के हिस्से के रूप में जारी किया गया था।
- SMB 2.1 2010 में Windows Server 2008 R2 और Windows 7 के साथ पेश किया गया था।
- SMB 3 2012 में Windows 8 और Windows Server 2012 के साथ जारी किया गया था।
- SMB 3.02 ने 2014 में Windows 8.1 और Windows Server 2012 R2 के साथ अपनी शुरुआत की।
- SMB 3.1.1 2015 में Windows 10 और Windows Server 2016 के साथ पेश किया गया था।
SMBv1
SMBv1 को 1980 के दशक में IBM द्वारा विकसित किया गया था और 1990 के दशक में Microsoft द्वारा अतिरिक्त सुविधाओं के साथ CIFS नाम दिया गया था। हालांकि अपने दिनों में SMB 1 एक बड़ी सफलता थी, यह आज की कनेक्टेड दुनिया के लिए विकसित नहीं किया गया था (उस युग में विकसित सभी सॉफ्टवेयर एप्लिकेशन की तरह), आखिरकार, तब से सूचना क्रांति के 30+ साल बीत चुके हैं। Microsoft ने 2013 में SMBv1 को डिप्रिकेट कर दिया और डिफ़ॉल्ट रूप से, यह अब Windows और Windows सर्वर संस्करणों पर इंस्टॉल नहीं है।
अपनी पुरानी तकनीक के कारण, SMBv1 अत्यधिक असुरक्षित है। इसमें कई एक्सप्लॉइट/भेद्यताएं हैं और इनमें से कई लक्ष्य मशीन पर रिमोट कोड निष्पादन की अनुमति देते हैं। हालांकि साइबर सुरक्षा विशेषज्ञों द्वारा SMB 1 भेद्यताओं के बारे में चेतावनी दी गई थी, कुख्यात WannaCry रैंसमवेयर हमले ने इसे बहुत स्पष्ट कर दिया क्योंकि हमले ने SMBv1 में पाई गई भेद्यताओं को लक्षित किया।

इन भेद्यताओं के परिणामस्वरूप, SMB1 को डिसेबल करने की सिफारिश की जाती है। SMB1 भेद्यताओं पर अधिक विवरण Malwarebytes ब्लॉग पेज पर पाए जा सकते हैं। एक यूजर Metasploit का उपयोग करके SMB1 भेद्यताओं (विशेष रूप से, EternalBlue) की स्वयं जांच कर सकता है।

SMBv2 और SMBv3
SMBv2 और SMBv3 SMB प्रोटोकॉल के लिए निम्नलिखित संवर्द्धन प्रदान करते हैं (जबकि SMB 1 में ये क्षमताएं नहीं हैं):
- प्री-ऑथेंटिकेशन इंटीग्रिटी
- सिक्योर डायलेक्ट नेगोशिएशन
- एन्क्रिप्शन
- असुरक्षित गेस्ट ऑथ ब्लॉकिंग
- बेहतर मैसेज साइनिंग
कुछ यूजर्स के मन में स्वाभाविक सवाल आ सकता है कि यदि उनके सिस्टम में SMBv2 या 3 है, तो क्या यह यूजर की मशीन पर SMB 1 की भेद्यताओं को कवर नहीं करेगा? लेकिन जवाब नहीं है क्योंकि ये SMB के संवर्द्धन अलग तरह से काम करते हैं और एक अलग तंत्र का उपयोग करते हैं। यदि SMBv1 किसी ऐसी मशीन पर इनेबल है जिसमें SMBv2 और 3 हैं, तो यह SMBv2 और 3 को कमजोर बना सकता है क्योंकि SMB 1 मैन-इन-द-मिडल (MiTM) अटैक को नियंत्रित नहीं कर सकता। हमलावर को बस अपने पक्ष में SMBv2 और 3 को ब्लॉक करना होगा और लक्ष्य मशीन पर अपना दुर्भावनापूर्ण कोड निष्पादित करने के लिए केवल SMB 1 का उपयोग करना होगा।
SMB 1 को डिसेबल करने के प्रभाव
जब तक अनिवार्य रूप से आवश्यक न हो (Windows XP या SMB 1 का उपयोग करने वाले लीगेसी एप्लिकेशन चलाने वाली मशीनों के लिए), सभी साइबर सुरक्षा विशेषज्ञों द्वारा सिस्टम के साथ-साथ संगठन स्तर पर SMBv1 को डिसेबल करने की सिफारिश की जाती है। यदि नेटवर्क में कोई SMBv1 एप्लिकेशन या डिवाइस मौजूद नहीं है, तो कुछ भी प्रभावित नहीं होगा लेकिन यह सभी परिदृश्यों में मामला नहीं हो सकता। SMBv1 को डिसेबल करने का हर परिदृश्य भिन्न हो सकता है लेकिन एक IT एडमिनिस्ट्रेटर, SMB 1 को डिसेबल करने में निम्नलिखित पर विचार कर सकता है:
- होस्ट और एप्लिकेशन के बीच अनएन्क्रिप्टेड या साइन किया गया संचार
- LM और NTLM संचार
- निम्न (या उच्च) स्तर के क्लाइंट्स के बीच फ़ाइल शेयर संचार
- विभिन्न ऑपरेटिंग सिस्टम के बीच फ़ाइल शेयर संचार (जैसे Linux या Windows के बीच संचार)
- लीगेसी सॉफ्टवेयर एप्लिकेशन और फिक्स्ड SMB-आधारित संचार एप्लिकेशन (जैसे Sophos, NetApp, EMC VNX, SonicWalls, vCenter/vSphere, Juniper Pulse Secure SSO, Aruba, आदि)।
- प्रिंटर और प्रिंट सर्वर
- Windows-आधारित एप्लिकेशन के लिए Android संचार
- MDB-आधारित डेटाबेस फ़ाइलें (जो SMBv2 SMBv3 के साथ भ्रष्ट हो सकती हैं और इन फ़ाइलों के लिए SMBv1 आवश्यक है)।
- SMB 1 का उपयोग करने वाले बैकअप या क्लाउड एप्लिकेशन
SMB 1 को डिसेबल करने के तरीके
SMB1 को डिसेबल करने के लिए कई तरीकों का उपयोग किया जा सकता है और यूजर उस तरीके का उपयोग कर सकता है जो उसके परिदृश्य के लिए सबसे उपयुक्त हो।
डिफ़ॉल्ट रूप से डिसेबल
SMBv1 Windows 10 Fall Creators Update और बाद के संस्करणों पर डिफ़ॉल्ट रूप से डिसेबल है। SMB 1 Windows 11 पर डिफ़ॉल्ट रूप से डिसेबल है। सर्वर संस्करणों के लिए, Windows Server संस्करण 1709 (RS3) और बाद के संस्करण में SMB1 डिफ़ॉल्ट रूप से डिसेबल है। SMB1 की वर्तमान स्थिति जांचने के लिए:
- Windows पर क्लिक करें, PowerShell खोजें, इस पर राइट-क्लिक करें, और सब-मेनू में, Run as Administrator चुनें।

- अब निम्नलिखित निष्पादित करें:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

ध्यान रखें कि Microsoft ने Windows अपडेट के माध्यम से SMB 1 को स्वचालित रूप से हटाना शामिल किया है लेकिन यदि यूजर इसे फिर से इनेबल करता है, तो प्रोटोकॉल भविष्य में डिसेबल नहीं हो सकता है और मशीन को कमजोर बना सकता है।
Windows 10, 8, या 7 के कंट्रोल पैनल का उपयोग करें
- Windows पर क्लिक करें, Control Panel खोजें और खोलें।

- अब Programs चुनें और Turn Windows Features on or off खोलें।

- फिर SMB 1.0/CIFS File Sharing Support को अनचेक करें और Apply पर क्लिक करें।

- अब अपने सिस्टम को रीस्टार्ट करें और SMB 1 आपके सिस्टम पर डिसेबल हो जाएगा।

Windows 11 के वैकल्पिक फीचर मेनू का उपयोग करें
- Windows पर राइट-क्लिक करें और Settings खोलें।

- अब, बाएं फलक में, Apps पर जाएं, और फिर दाएं फलक में, Optional Features खोलें।

- फिर नीचे स्क्रॉल करें और Related Settings के तहत, More Windows Features पर क्लिक करें।

- अब, दिखाए गए मेनू में, SMB 1.0/CIFS File Sharing Support को अनचेक करें और Apply पर क्लिक करें।

- फिर अपने PC को रीस्टार्ट करें और रीस्टार्ट पर, SMBv1 PC पर डिसेबल हो जाएगा।
PowerShell का उपयोग करें
ऊपर दिए गए दो तरीके अधिकतम यूजर्स की आवश्यकताओं को पूरा कर सकते हैं, लेकिन सर्वर सिस्टम पर, एडमिन को PowerShell का उपयोग करना पड़ सकता है (हालांकि, चरण क्लाइंट मशीन पर भी ठीक काम कर सकते हैं)।
- Windows पर क्लिक करें, PowerShell खोजें, इस पर राइट-क्लिक करें, और Run as Administrator चुनें।
- अब निम्नलिखित निष्पादित करें:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force or Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol or Set-SmbServerConfiguration -EnableSMB1Protocol $false or on server Remove-WindowsFeature -Name FS-SMB1 or Set-SmbServerConfiguration -EnableSMB1Protocol $false

- फिर अपने सिस्टम को रीस्टार्ट करें और रीस्टार्ट पर, सिस्टम का SMB 1 डिसेबल हो जाएगा।
सिस्टम के रजिस्ट्री एडिटर का उपयोग करें
PowerShell के बिना सर्वर मशीन पर एडमिन (जैसे Windows Server 2003) रजिस्ट्री एडिटर का उपयोग करके SMB 1 को डिसेबल कर सकता है हालांकि चरण क्लाइंट मशीन पर भी ठीक काम करते हैं।
चेतावनी:
अत्यधिक सावधानी के साथ आगे बढ़ें और अपने जोखिम पर क्योंकि सिस्टम की रजिस्ट्री को संपादित करना एक कुशल कार्य है और यदि ठीक से नहीं किया गया, तो आप अपने सिस्टम, डेटा, या नेटवर्क को खतरे में डाल सकते हैं।
- Windows, Regedit खोजें, इस पर राइट-क्लिक करें, और सब-मेनू में, Run as Administrator चुनें।

- अब निम्नलिखित पथ पर नेविगेट करें:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

- फिर, दाएं फलक में, SMB1 पर डबल-क्लिक करें और इसके मान को 0 पर सेट करें। कुछ यूजर्स, जैसे Windows 7 को SMB1 DWORD (32-बिट) मान बनाना पड़ सकता है और इसके मान को 0 पर सेट करना पड़ सकता है।
ग्रुप पॉलिसी एडिटर का उपयोग करें
हालांकि ऊपर दिए गए चरण व्यक्तिगत मशीनों के लिए काम करते हैं लेकिन संगठन स्तर पर SMB 1 को डिसेबल करने के लिए, एडमिन ग्रुप पॉलिसी एडिटर का उपयोग कर सकता है।
SMB 1 सर्वर डिसेबल करें
- Group Policy Management Console लॉन्च करें और GPO पर राइट-क्लिक करें जहां नई प्राथमिकताएं जोड़ी जानी चाहिए।
- फिर Edit चुनें और निम्नलिखित पर जाएं:
Computer Configuration>> Preferences>> Windows Settings
- अब, बाएं फलक में, Registry पर राइट-क्लिक करें और Registry Item चुनें।

- फिर निम्नलिखित दर्ज करें:
Action: Create Hive: HKEY_LOCAL_MACHINE Key Path: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Value name: SMB1 Value type: REG_DWORD Value data: 0

- अब लागू करें और सिस्टम को रीस्टार्ट करें।
SMB1 क्लाइंट डिसेबल करें
- Group Policy Management Console लॉन्च करें और GPO पर राइट-क्लिक करें जहां नई प्राथमिकताएं जोड़ी जानी चाहिए।
- फिर Edit चुनें और निम्नलिखित पर जाएं:
Computer Configuration>> Preferences>> Windows Settings
- अब, बाएं फलक में, Registry पर राइट-क्लिक करें और New Registry Item चुनें।
- फिर, निम्नलिखित दर्ज करें:
Action: Update Hive: HKEY_LOCAL_MACHINE Key Path: SYSTEM\CurrentControlSet\services\mrxsmb10 Value name: Start Value type: REG_DWORD Value data: 4

- अब लागू करें और DependOnService Properties खोलें।
- फिर सेट करें और लागू करें:
Action: Replace Hive: HKEY_LOCAL_MACHINE Key Path: SYSTEM\CurrentControlSet\Services\LanmanWorkstation Value name: DependOnService Value type REG_MULTI_SZ Value data: Bowser MRxSmb20 NSI

- अंतिम दृश्य नीचे जैसा होना चाहिए और बाद में, रीबूट करें।

SMBv2 या 3 को डिसेबल करना
कुछ यूजर्स, SMB 1 के खतरे के स्तर के कारण, SMBv2 या 3 को डिसेबल करने का फैसला कर सकते हैं, जो इस समय अनावश्यक है। यदि कोई यूजर SMBv2 या 3 को डिसेबल करता है, तो वह खो सकता है:
- लोकल कैशिंग
- बड़ी फ़ाइल-शेयरिंग नेटवर्क
- फेलओवर
- सिम्बोलिक लिंक्स
- 10GB ईथरनेट
- बैंडविड्थ सीमाएं
- मल्टीचैनल फॉल्ट-टॉलरेंस
- पिछले 3 दशकों में पाए गए सुरक्षा और एन्क्रिप्शन सुधार
SMB1 का उपयोग करने के लिए बाध्य यूजर्स
निम्नलिखित परिदृश्य किसी यूजर को SMB 1 का उपयोग करने के लिए मजबूर कर सकते हैं:
- Windows XP या Windows Server मशीन वाले यूजर्स
- यूजर्स को डिक्रिपिट मैनेजमेंट सॉफ्टवेयर का उपयोग करने की आवश्यकता है जो सिस्टम एडमिन को नेटवर्क नेबरहुड के माध्यम से ब्राउज़ करने की आवश्यकता है।
- प्राचीन फर्मवेयर वाले पुराने प्रिंटर वाले यूजर जो "स्कैन टू शेयर" करते हैं।
केवल SMB1 का उपयोग करें यदि कोई अन्य तरीका संभव नहीं है। यदि किसी एप्लिकेशन या डिवाइस को SMBv1 की आवश्यकता है, तो उस एप्लिकेशन या डिवाइस का विकल्प ढूंढना सबसे अच्छा है (यह अभी महंगा लग सकता है लेकिन लंबे समय में फायदेमंद होगा, बस किसी यूजर या संगठन से पूछें जो WannaCry से पीड़ित था)।
तो, बस इतना ही। यदि आपके कोई प्रश्न या सुझाव हैं, तो कमेंट्स में पिंग करें मत भूलना।