
نویسنده:
دسته:
تاریخ انتشار:
ساخت یک شبکه کوچک خانگی یا شبکههای بزرگ سازمانی و بیزینسی، امروزه بدون نیاز به اینترنت و به کمک شبکههای کامپیوتری به سادگی امکانپذیر است؛ زیرا کاربران شبکه میتوانند به راحتی از طریق اتصال LAN یا WLAN فایلها را تبادل کنند، سرورها را مدیریت کرده یا از دستگاههای رایج شبکه مانند پرینترها و روترها استفاده کنند؛ اما برای برقراری ارتباط بین اجزای مختلف یک شبکه، به پروتکلها و استانداردهای مشخصی نیاز است که یکی از مهمترین و قدیمیترین آنها، پروتکل SMB است. اما SMB چیست و چگونه میتوانند ارتباطات شما را سادهتر کند؟ در این مقاله به طور مفصل به معرفی و بررسی این پروتکل پرکاربرد میپردازیم.
پروتکل SMB چیست؟
اگر میخواهید بدانید SMB چیست، باید گفت پروتکل Server Message Block یا به اختصار همان SMB، یک پروتکل ارتباطی بین کاربر و سرور است که برای به اشتراک گذاشتن فایلها، پرینترها، پورتهای سریال و سایر منابع شبکه استفاده میشود. علاوه بر این، این پروتکل میتواند برای ارتباط بین فرآیندها (interprocess communication) نیز به کار رود. SMB در دهه ۱۹۸۰ توسط تیمی در شرکت IBM توسعه داده شد و از آن زمان تا حالا، با عرضه نسخههای مختلف ارتقا یافته تا نیازهای جدید شبکهها را پوشش دهد. با اینکه از زمان ساخت این پروتکل زمان زیادی گذشته است، اما همچنان به صورت گسترده مورد استفاده قرار میگیرد و یکی از محبوبترین روشها برای اشتراک فایل در محیطهای کاری است.

کاربرد پروتکل SMB چیست؟
هدف اصلی پروتکل SMB، فراهم کردن دسترسی کاربرهای مختلف به منابع و امکانات شبکه است. این امکانات میتوانند شامل پرینترها، پورتهای سریال، فایلها، پوشهها و... باشند. علاوه بر این، SMB به کاربرها اجازه میدهد تا با روشی امن و کنترل شده، فایلها را در سرورهای راهدور باز کنند، بخوانند، ایجاد یا ویرایش نمایند. همچنین این پروتکل میتواند با برنامههایی که برای دریافت درخواستهای کاربران پیکربندی شدهاند، ارتباط برقرار کند.
انواع نسخههای SMB چیست؟
همانطور که گفتیم، از زمان عرضه این پروتکل تاکنون، تغییرات زیادی در این استاندارد شبکه ایجاد شده که به صورت نسخههای مختلف پروتکل ارائه شدهاند. اما انواع نسخههای SMB چیست؟ به طور کلی، این نسخهها از SMB 1.0 آغاز شدند و تا نسخه فعلی یعنی SMB 3.1.1 که مایکروسافت همراه با ویندوز ۱۰ معرفی کرده ادامه دارند. در ادامه، نسخههای این پروتکل را معرفی میکنیم:
۱- SMB 1.0 (CIFS)
نسخه اولیه این پروتکل اغلب با نام CIFS (سیستم فایل اینترنتی مشترک) شناخته میشود. البته CIFS در واقع تنها بخشی از نسخه اول پروتکل را (به خصوص پیادهسازی آن در دستگاههای دارای Windows NT 4.0) پوشش میدهد؛ در این نسخه، ارتباطات از طریق رابط NetBIOS و پورتهای UDP 137 (برای تشخیص نام) و ۱۳۸ (انتقال بستهها) و همچنین TCP 139 (برقراری اتصال و انتقال داده) انجام میشد. با عرضه Windows 2000، وابستگی به NetBIOS حذف شد و SMB 1.0 امکان اتصال مستقیم از طریق TCP (پورت ۴۴۵) را فراهم کرد.
۲- SMB 2.0
اولین تغییر مهم در SMB توسط مایکروسافت در نوامبر ۲۰۰۶ و همراه با ویندوز ویستا ارائه شد. اگرچه این نسخه همچنان انحصاری بود، اما این شرکت برای اولین بار مشخصات فنی پروتکل را منتشر کرد تا سایر سیستمها نیز بتوانند با ویندوز ارتباط برقرار کنند؛ اما مهمترین تغییرات این نسخه SMB چیست:
- کاهش تعداد دستورات ا از ۱۰۰ مورد به تنها ۱۹ دستور
- تقویت عملکرد با عرضه سیستم مرتب سازی درخواستهای SMB
- پشتیبانی از لینکهای نمادین (اتصال به فایلها یا پوشهها)
- ذخیرهسازی موقت اطلاعات فایلها برای دسترسی سریعتر
- بهبود امضای دیجیتال پیامها با الگوریتم HMAC SHA-256
- افزایش مقیاسپذیری با پشتیبانی از تعداد بیشتر کاربر، منابع اشتراکی و فایلهای باز همزمان
۳- SMB 2.1
این نسخه در سال ۲۰۰۷ همراه با ویندوز ۷ عرضه شد و تغییرات آن عمدتا روی تقویت عملکرد و روشهای قفلگذاری فایل متمرکز بود تا دسترسیهای همزمان (خواندن، نوشتن، حذف و...) را بهتر مدیریت کند.
۴- SMB 3.0
در سال ۲۰۱۲ و همزمان با عرضه ویندوز ۸، نسخه جدیدی از پروتکل با نام SMB 3.0 (که ابتدا 2.2 نامیده میشد) عرضه شد. این نسخه با افزایش امنیت و عملکرد بهتر، به خصوص در دیتاسنترهای مجازی، ویژگیهای زیر را تقویت کرد:
- امکان دسترسی به فضای ذخیرهسازی راه دور از طریق RDMA
- قابلیت چند کاناله برای برقراری چندین اتصال در هر Session
- محافظت در برابر قطعی اتصال به صورت خودکار
- رمزنگاری end-to-end برای امنیت بهتر
۵- SMB 3.1.1
آخرین نسخه این پروتکل در سال ۲۰۱۵ همراه با ویندوز ۱۰ عرضه شد و دو ویژگی مهم به آن اضافه گردید:
- بررسی صحت دادهها پیش از احراز هویت با استفاده از مقدار SHA-256
- رمزگذاری پیشرفته با الگوریتم AES-128-GCM
- اجباری کردن اتصال امن برای تمام دستگاههای مجهز به SMB 2.0 یا بالاتر

جدول مشخصات نسخههای مختلف SMB
اگر میخواهید به طور مختصر بدانید مشخصات هر یک از نسخههای SMB چیست، میتوانید از جدول زیر کمک بگیرید:
نسخه SMB | پشتیبانی شده از | ویژگیهای جدید |
---|---|---|
CIFS | Windows NT 4.0 | ارتباط از طریق رابط NetBIOS |
SMB 1.0 | ویندوز ۲۰۰۰ | اتصال مستقیم از طریق TCP |
SMB 2.0 | ویندوز ویستا، ویندوز سرور ۲۰۰۸، سامبا ۳.۵ | ارتقاء عملکردهای مختلف، بهبود امضای پیام، عملکرد ذخیرهسازی موقت برای ویژگیهای فایل |
SMB 2.1 | ویندوز 7، ویندوز سرور 2008 R2 | مکانیسمهای قفل |
SMB 3.0 | ویندوز ۸، ویندوز سرور ۲۰۱۲، سامبا ۴.۰ | اتصالات چند کاناله، رمزگذاری سرتاسری، دسترسی از راه دور به فضای ذخیرهسازی |
SMB 3.0.2 | ویندوز ۸.۱، ویندوز سرور ۲۰۱۲ R2 | - |
SMB 3.1.1 | ویندوز ۱۰، ویندوز سرور ۲۰۱۶، سامبا ۴.۳ | بررسی یکپارچگی شبکه، رمزگذاری AES-128 با حالت Galois/Counter (GCM) |
ملاحظات امنیتی مهم در استفاده از پروتکل SMB چیست؟
برای سالیان طولانی، مایکروسافت حفظ سازگاری با نسخههای قدیمیتر پروتکل SMB را در سیستمهای جدید خود ضروری میدانست تا ارتباط بین دستگاههای قدیمی و جدید به سادگی برقرار شود؛ اما این سازگاری باعث افزایش ریسک امنیتی آن شد؛ اما دلیل این ریسک امنیتی SMB چیست؟ باید گفت نسخه SMB 1.0 در مقایسه با نسخههای جدیدتر دارای آسیبپذیریهای زیادی است که سیستمها را در معرض خطراتی مانند حملات DoS قرار میدهد.
در بسیاری از محیطهای شبکهای، افراد از تمام نسخههای این پروتکل استفاده میکنند تا سازگاری بیشتر شود؛ مثلا چون ممکن است یک پرینتر یا دستگاه قدیمی به آن نیاز داشته باشد نسخههای قدیمی را نیز حفظ کنند؛ اما جالب اینجاست که حتی وقتی عملا از یک نسخه قدیمی استفاده نمیشود، باز هم میتواند هدف سادهای برای نفوذ مهاجمان باشد.
پروتکل SMB چقدر ایمن است؟
به طور کلی میتوان گفت نسخههای SMB 3.0 و جدیدتر به مراتب امنتر از نسخههای قبلی هستند. این نسخهها تغییرات بسیار خوبی در بحث امنیت داشتهاند؛ مثلا SMB 3.0 رمزنگاری end-to-end را معرفی کرده است که دادهها را هنگام انتقال در شبکههای ناامن محافظت میکند. این قابلیت بدون نیاز به راه اندازی سیستمهای پیچیدهای مثل IPsec کار میکند.
در نسخه SMB 3.1.1، امنیت باز هم بیشتر شده است؛ زیرا این نسخه علاوه بر بهبود رمزنگاری، قابلیت بررسی سلامت دادهها قبل از احراز هویت را هم دارد که امنیت ارتباطات را بالاتر نگه میدارد. همچنین این نسخه میتواند برای هر اتصال جداگانه تصمیم بگیرد که از کدام الگوریتم رمزنگاری استفاده کند (AES-128-CCM یا AES-128-GCM).
اما چیزی که باید توجه کنید این است که حتی SMB 3.0 هم کاملا بینقص نیست. در سال 2020 یک مشکل امنیتی جدی به نام SMBGhost در این نسخه پیدا شد که اگر از آن سوء استفاده میشد، هکرها میتوانستند کدهای مخرب را از راه دور اجرا کنند. برای مقابله با چنین خطراتی، مدیران شبکه باید همیشه آخرین وصلههای امنیتی (Patch) را نصب کنند و از روشهای مطمئن برای احراز هویت استفاده نمایند.

مقایسه CIFS و SMB
همانطور که اشاره شد، CIFS در واقع یکی از نسخههای اولیه پروتکل SMB بوده که توسط مایکروسافت توسعه داده شده است. اگرچه اصطلاحات SMB و CIFS گاهی به جای هم استفاده میشوند، اما CIFS در واقع به یک نسخه خاص از SMB اشاره دارد.
اما تشخیص تفاوت بین این نسخهها اهمیت زیادی دارد. برای مثال، SMB 1.0 و CIFS از نظر سطح حفاظتهای امنیتی به پای نسخههای جدیدتر نمیرسند، چیزی که حمله باج افزار WannaCry نیز به خوبی آن را نشان داد. در مقابل، SMB 3.0 حفاظتهای امنیتی بسیار پیشرفتهتری ارائه میدهد. به همین دلیل است که بیشتر سیستمهای جدید از نسخههای جدیدتر SMB استفاده میکنند؛ مثلا ویندوز ۱۰ و ویندوز سرور ۲۰۱۲ به بعد از SMB 3.1.1 که جدیدترین نسخه این پروتکل است، پشتیبانی میکنند.
تفاوت این نسخهها فقط به امنیت ختم نمیشود و در عملکرد آنها هم تاثیرگذار است. برای نمونه، CIFS به دلیل ماهیت خاصی که داشت و نیاز به تاییدیههای متعدد، عملکرد ضعیفی در شبکههای گسترده (WAN) از خود نشان میداد.
جمع بندی
پروتکل SMB یک استاندارد بسیار کاربردی است که برای به اشتراک گذاشتن منابع و فایلها در شبکههای مختلف مورد استفاده قرار میگیرد. این پروتکل نسخههای مختلفی دارد که نسخه اولیه آن SMB 1.0 نام داشت که از لحاظ امنیتی بسیار آسیبپذیر بود. اما نسخههای جدیدتر مانند SMB 3.1.1 با رمزنگاری پیشرفته و امنیت بالاتر ارتقا یافتهاند. با همه اینها، نسخههای جدید SMB نیز میتوانند در مواردی آسیبپذیر باشند که به همین دلیل لازم است برای استفاده صحیح، از بهروزرسانی مداوم آن و غیرفعال کردن نسخههای قدیمی مطمئن شوید. در این مقاله به این پرسش که SMB چیست پاسخ دادیم و ویژگیهای نسخههای مختلف آن را بررسی کردیم. چنانچه که به اطلاعات بیشتری در این زمینه نیاز دارید، با ما تماس بگیرید.
سوالات متداول
بله، پروتکل SMB با اشتراکگذاری راحت فایلها، پرینترها و سایر امکانات شبکه، ارتباط بین دستگاهها و کاربرهای مختلف را سادهتر و کارآمدتر میسازد.
اکثر سیستم عاملهای رایج مانند ویندوز، لینوکس و مک از پروتکل SMB پشتیبانی میکنند که آن را به انتخابی مناسب برای شبکههای متفاوت تبدیل کرده است.
بله، SMB از دسترسی همزمان چندین کاربر به منابع شبکه پشتیبانی میکند که برای محیطهای اداری و بیزینسی بسیار کاربردی است.
پروتکل SMB عمدتا از پورتهای TCP 139 و 445 برای برقراری ارتباطات شبکهای استفاده مینماید.
SMB از روشهای مختلف احراز هویت شامل نام کاربری و رمز عبور، احراز هویت Kerberos و NTLM برای کنترل دسترسیها استفاده میکند.
بله، این قابلیت را داشته که از تغییر دادن فایلهای مهم توسط کاربران دیگر جلوگیری کرده و امنیت دادهها را حفظ مینماید.
این پروتکل به خصوص در نسخههای جدید به خوبی از انتقال فایلهای بزرگ پشتیبانی کرده و عملکرد مناسبی در این زمینه ارائه میدهد.
مقالات مرتبط

لاگ چیست؟ معرفی انواع لاگ
عیب یابی سیستمهای کامپیوتری وقتی میتواند به خوبی و سادگی انجام شود که بدانید دقیقا چه اتفاقاتی در سیستم رخ...

وصله امنیتی چیست؟ (Patch امنیتی)
سیستمهای کامپیوتری، موبایلی و... از ابزارهای مختلفی برای ارائه امنیت و حفظ آن استفاده میکنند. یکی از این موارد، وصلههای...

معرفی انواع الگوریتمهای رمزنگاری
رمزنگاری از دوران مصر و روم باستان به عنوان ابزاری مؤثر در حفاظت از اطلاعات حساس به کار رفته است....