در دنیای شبکه های کامپیوتری، اشتراک گذاری فایل، چاپگر و منابع بین سیستم ها، یکی از نیازهای حیاتی کاربران و سازمان هاست. در میان پروتکل های مختلفی که برای این کار توسعه یافتهاند، SMB یکی از پرکاربردترین و قدیمی ترین پروتکلها محسوب میشود. اما SMB چیست، چگونه کار میکند و چرا هنوز بعد از چند دهه در محیط های سازمانی استفاده می شود؟ در این قسمت به صورت جامع و کاربردی، به بررسی ساختار، عملکرد، نسخه ها، مزایا، معایب و نکات امنیتی این پروتکل می پردازیم. با ما همراه باشید.
SMB یا Server Message Block یک پروتکل ارتباطی در لایه Application مدل OSI است که امکان اشتراک گذاری فایل، فولدر، پرینتر و سایر منابع شبکه ای را بین سیستم ها فراهم میکند. این پروتکل در ابتدا توسط شرکت IBM توسعه یافت، اما بعدها توسط مایکروسافت برای سیستم عامل های Windows بهینه و گسترش داده شد.
به زبان ساده، این پروتکل مانند یک زبان مشترک بین سیستم هاست که به آن ها اجازه میدهد با یکدیگر درباره فایلها، فولدرها و منابع شبکه صحبت کنند.
کاربرد SMB در شبکه
پروتکل SMB در بسیاری از سناریوهای شبکه مورد استفاده قرار میگیرد. برخی از مهم ترین کاربردهای آن عبارت اند از:
1- اشتراک گذاری فایلها و فولدرها بین کامپیوترهای ویندوزی یا حتی سیستم های لینوکسی
2- اتصال به منابع ذخیره سازی تحت شبکه (NAS) برای دسترسی متمرکز به داده ها
3- دسترسی به پرینترهای شبکه ی در سازمانها
4- استفاده در Active Directory برای احراز هویت و انتقال اطلاعات کاربری
5- اجرای Remote Commands در محیط های دامینی از طریق ابزارهایی مانند PowerShell
ساختار و نحوه عملکرد SMB
پروتکل SMB از مدل Client-Server پیروی میکند. در این مدل:
Client (کاربر) درخواستی مانند خواندن یک فایل یا نوشتن روی پوشه اشتراکی را ارسال میکند.
Server (میزبان) درخواست را پردازش کرده و پاسخ مناسب را برمیگرداند.
ارتباط این پروتکل معمولا از طریق پورت 445/TCP برقرار میشود (در نسخه های قدیمی تر از پورت 139 استفاده می شد).
بصورت ساده، فرآیند کار به این شکل است:
مرحله
توضیح
1
Client درخواست اتصال به Share را ارسال میکند.
2
Server با احراز هویت کاربر، اتصال را برقرار میکند.
3
Client به فایلها و فولدرهای مجاز دسترسی پیدا میکند.
4
درخواستها (Read/Write/Delete) از طریق Session SMB منتقل میشوند.
انواع نسخه های مختلف SMB
این پروتکل در طول زمان نسخه های مختلفی داشته که هرکدام از نظر امنیت، کارایی و قابلیت ها بهبود یافته اند:
نسخه
سال معرفی
ویژگیها
SMB 1.0 (CIFS)
دهه ۹۰ میلادی
نسخه اولیه، سرعت پایین، آسیبپذیری بالا
SMB 2.0
ویندوز ویستا / سرور 2008
کاهش تعداد دستورات، افزایش سرعت
SMB 2.1
ویندوز 7 / سرور 2008 R2
بهبود در کش کردن فایلها
SMB 3.0
ویندوز 8 / سرور 2012
رمزنگاری ترافیک، پشتیبانی از Failover
SMB 3.1.1
ویندوز 10 / سرور 2016
الگوریتمهای امنیتی قویتر و احراز هویت پیشرفته
نکته: امروزه استفاده از SMB 1.0 به دلیل آسیب پذیریهای امنیتی (مانند حمله WannaCry) به شدت توصیه نمی شود.
ارتباط SMB با CIFS چیست؟
گاهی کاربران به اشتباه SMB و CIFS (Common Internet File System) را یکی می دانند، درحالیکه CIFS درواقع نسخه خاصی از SMB 1.0 است که توسط مایکروسافت توسعه یافت. در نسخه های جدیدتر، اصطلاح CIFS کنار گذاشته شد و SMB نام اصلی باقی ماند.
مزایای SMB
استفاده از این پروتکل در شبکه مزایای قابل توجهی دارد:
سهولت در اشتراک گذاری منابع بدون نیاز به تنظیمات پیچیده
یکپارچگی با Windows Authentication و Active Directory
پشتیبانی از رمزنگاری در نسخههای جدید (SMB 3 به بعد)
قابلیت استفاده در محیط های ترکیبی (Windows/Linux/macOS)
پایداری بالا و مدیریت آسان در محیطهای سازمانی
معایب و چالشهای SMB
در کنار مزایا، این پروتکل نقاط ضعفی هم دارد:
آسیب پذیری در نسخههای قدیمی (SMB 1.0) که هدف بسیاری از بدافزارها بودهاند.
وابستگی به احراز هویت ویندوزی در برخی شبکه ها
مصرف بالاتر پهنای باند در انتقال فایلهای بزرگ نسبت به برخی پروتکل های جدیدتر
نیاز به تنظیمات امنیتی دقیق برای جلوگیری از دسترسیهای ناخواسته
نکات امنیتی هنگام استفاده از SMB
برای استفاده امن از آن در شبکه، رعایت چند نکته ضروری است:
غیرفعال کردن SMB 1.0 از طریق Group Policy یا PowerShell
فعالسازی SMB Encryption در نسخههای 3.0 به بالا
استفاده از VPN یا شبکه داخلی امن برای ترافیک SMB
محدود کردن دسترسی Shareها بر اساس گروههای کاربری
مانیتورینگ و بررسی لاگ های SMB برای تشخیص فعالیت های مشکوک
پروتکل SMB یکی از ستونهای اصلی ارتباط و اشتراکگذاری در شبکههای امروزی است. این پروتکل با وجود قدمت بالا، هنوز هم در نسخههای جدید خود امنیت، سرعت و پایداری بالایی ارائه میدهد. در نتیجه، آشنایی با نحوه عملکرد آن و نسخههای مختلف آن برای هر کارشناس شبکه یا مدیر سیستم ضروری است.
در نهایت، اگر در شبکه خود از این پروتکل استفاده میکنید، حتماً نسخههای قدیمی را غیرفعال و ویژگیهای امنیتی نسخههای جدید را فعال کنید تا از خطرات احتمالی در امان باشید.