مشاوره خانواده آنلاین رایگان عطاملک

نسخه‌ی کامل: SMB چیست؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
پروتکل SMB یا Server Message Block Protocol، یک پروتکل به اشتراک گذاری فایل ها در اینترنت است که با تعامل بین کاربر و سرور صورت می گیرد؛ به این صورت که  در آن کاربر درخواستی برای دریافت یک فایل به سرور ارسال می کند و سرور پس از احراز هویت درخواست دهنده و تایید او، آن فایل را به کاربر ارائه می دهد؛ احراز هویت فرایندی است که یک کامپیوتر یا سرور برای تشخیص دیگری از آن استفاده می کند.
SMB یک پروتکل لایه ای کاربردی است که برای برقراری ارتباط TCP از پورت ۴۴۵ استفاده می کند. دستوراتی که این پورت ارسال میکند SMB COMMAND نام دارند؛ دستور SMB مجموعه ای از پیام ها با کد دستوری منحصر به فرد است که برای انجام یک عملکرد خاص اجرا می شود.
این پروتکل اساسا یک شبکه مبتنی بر ویندوز است که به کاربران این امکان را میدهد تا فایل ها، پوشه ها و پرینتر ها را در اینترنت ایجاد، اصلاح و حذف  کنند.  با استفاده از پروتکل SMB، کاربر یک برنامه کاربردی می تواند به فایل های یک سرور یا منابع دیگر آن از راه دور دسترسی داشته باشد. 
[تصویر:  %D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84-SMB.png]
نسخه های پروتکل SMB
اولین بار که این پروتکل به کار افتاد، با نام SMB شناخته نشد، با نام سیستم فایل مشترک اینترنت  Common Internet File System  یا CIFS شناخته میشد. پس از آن اولین نسخه SMB وارد شد. پروتکل CIFS در سازمان های بزرگ که منابع اشتراکی شان زیاد می باشد مورد استفاده قرار می گرفت.
پروتکل CIFS اساسا در سیستم عامل ویندوز برای File Sharing مورد استفاده قرار می گیرد. البته پروتکل CIFS تنها در سیستم عامل ویندوز مورد استفاده قرار نمی گیرد و در سیستم عامل های یونیکس نیز می توان از آن استفاده نمود .
پروتکل CIFS بر اساس درخواست و پاسخ عمل می کند یعنی کلاینت با استفاده از پروتکل CIFS دسترسی به منابع به اشتراک گذاشته شده در شبکه را از سیستم سرور درخواست می کند و در مقابل، کامپیوتر یا سرور به وسیله پروتکل CIFS این منابع را در اختیار کلاینت قرار می دهد.
  • SMB 1.0: اولین نسخه این پروتکل با نام SMB با ویندوز ۲۰۰۰ وارد شد و توسط ویندوز XP، ویندوز سرور ۲۰۰۳ و ویندوز سرور ۲۰۰۳ R2 استفاده شد.

  • SMB 2.0: این نسخه  در ویندوز ویستا یعنی SP1 و بالاتر و معادل سرور آن یعنی ویندوز سرور ۲۰۰۸ مورد استفاده قرار میگرفت.

  • SMB 2.1: نسخه مورد استفاده در ویندوز ۷ و ویندوز سرور ۲۰۰۸ R2 می باشد.

  • SMB 3.0: با راه اندازی ویندوز ۸ و ویندوز سرور ۲۰۱۲، پروتکل SMB 3 هم وارد شد.

  • SMB 3.02: این نسخه برای ویندوز ۸٫۱ و ویندوز سرور ۲۰۱۲ R2 معرفی شده است.

  • SMB 3.1.1: این نسخه با ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ منتشر شده است.
[تصویر:  %D9%86%D8%B3%D8%AE%D9%87-%D9%87%D8%A7%DB%8C-SMB.png]
پروتکل SMB در لینوکس
تا اینجا میدانیم که برای به اشتراک گذاری فایل ها در سیستم عامل های ویندوز از پروتکل SMB استفاده میشود اما در لینوکس برای بهره بردن از این پروتکل باید از نسخه نرم افزاری آن یعنی SAMBA استفاده کرد. با این برنامه، کاربران لینوکسی میتوانند فایل ها را با کاربران ویندوزی به اشتراک بگذارند بدون این که تفاوت سیستم عاملی آن ها اختلالی در کارشان ایجاد کند.
samba موقع اجرا فایل  smb.conf را که در /etc/samba قرار دارد میخواند . این فایل متنی حاوی اطلاعاتی است درباره فایلهای به اشتراک گذاشته شده و پرینترها و سایر تنظیمات شبکه.
راه اندازی پروتکل SMB در لینوکس
برای راه اندازی پروتکل SMB در لینوکس و توانایی به اشتراک گذاری فایل بین لینوکس و ویندوز، باید از یک نسخه نرم افزاری آن را که SAMBA نام دارد استفاده کنید وآن را روی سرور اوبونتو خود نصب کنید. در ادامه مراحل راه اندازی SAMBA را برای شما بیان کرده ایم:
  • SAMBA server را نصب کنید

  • کاربر جدید را به گروه SAMBA اضافه کنید.

  •  تنظیمات سامبا را به کار با ویندوز ۱۰ تغییر دهید.

  • سرویس samba را ری استارت کنید.

  • پوشه اوبونتو samba را در ویندوز باز کنید.
پروتکل SMB در مک
اگرچه برنامه هایی مانند Sharity و Dave به کاربران مک اجازه داده اند برای مدتی به SMB دسترسی پیدا کنند ، اما پس از مدتی قابلیت های SMB در سیستم عامل آن ساخته شدند. دو روش برای نصب SMB در OS X وجود دارد. یکی روش استفاده از Finder است و روش دیگر از راه دستور mount داخل یک پنجره Terminal می باشد.
راه اندازی پروتکل SMB در مک
در این بخش مراحل راه اندازی پروتکل SMB در مک را برای شما بیان کرده ایم.
  • در تنظیمات سیستم macOS، به Sharing رفته و File Sharing را فعال کنید.

  • به پوشه ۷ بروید و به ترتیب وارد این پنجره ها بروید، تنظیمات> اتصالات> افزودن اتصال> سرور Windows SMB.

  • از IP address یا نام local hostname خود در قسمت URL استفاده کنید.

  • اطلاعات لاگین خود را که در اکانت مک استفاده می کنید، وارد کنید. 

  • [b]Done[/b] را بزنید تا یک اتصال ایجاد کنید.

  • اتصال به شرط روشن بودن Mac در منطقه Wi-Fi لوکال شما کار خواهد کرد.
ویژگی های پروتکل SMB
با بالا رفتن نسخه های SMB ، سطح عملکرد آن نیز افزایش می یابد. در ادامه چند ویژگی مهم SMB آورده شده است:
  1. پروتکل SMB یک مکانیزم فرآیند ارتباط متقابل تأیید شده برای به اشتراک گذاشتن فایل ها یا منابع دیگر مثل  پوشه ها یا پرینتر ها  در سرور فراهم می کند.

  2. پروتکل SMB به مشتریان امکان ویرایش فایل ها، حذف آنها، اشتراک گذاری فایل ها، مرور شبکه، خدمات چاپ و غیره را از طریق شبکه فراهم می کند.

  3. نسخه ۲ پروتکل SMB میزان استفاده از دستورات و زیرمجموعه های آن برای انتقال فایل به سراسر اینترنت را کم کرده. 

  4. SMB2 ازسیلینک یا سافت لینک که یک نوع لینک است که در آن به لینک یا دایرکتوری دیگر ارجاع داده شده است هم پشتیبانی میکند.
 
مقایسه پروتکل SMB با پروتکل CIFS
CIFS و SMB هر دو از لحاظ عملکردی در نسخه های اولیه خود یکسان هستند. همچنین گفته می شود که ۱٫ CIFS نوعی پروتکل SMB است که به معمولا  در شرکت های بزرگتری نسبت به شرکت هایی که از SMB  استفاده میکنند، استفاده می شود، در غیر این صورت اگر قصد ایجاد یک شبکه رایانه ای را برای تجارت کوچک خود داشته باشید و از سیستم های ویندوز استفاده کنید، شبکه شما به پروتکل SMB متکی خواهد بود.
به طور کلی گفته می شود که CIFS نسخه dialect  از SMB است. برای تعیین نسخه ای از پروتکل که به آن گویش یا dialect گفته می شود، نیاز به مجموعه ای از پکت ها داریم. پروتکل CIFS ابتدا توسط مایکروسافت ایجاد شد و سپس توسط IBM ارتقاء داده شد.
در جهان امروز و دنیای ویندوز سرور با تمام فناوری های به روز شده، اکنون CIFS بسیار کمتر از SMB استفاده می شود. با وجود سطح بالایی از بررسی های احراز هویت موجود در CIFS هنگام انتقال فایل در سرور، پروتکل SMB از CIFS  پیشی گرفته است.
در CIFS، تعداد دستورات استفاده شده برای انقال فایل بیش از صد مورد بود، اما در پروتکل SMB تعداد دستورات تا حدود ۱۹ عدد، کاهش کاهش یافته است که روشی بسیار مؤثر برای انتقال فایل از طریق سیستم است.
[تصویر:  CIFS-vs-SMB-2.png]
حملات مبتنی بر پروتکل SMB
در حملات مبتنی بر پروتکل SMB، فرد مهاجم خود را وارد مسیر یک تبادل اطلاعات میکند، به این صورت که فرد سرور هدف که قصد تأیید اعتبار آن را دارد را انتخاب می کند و سپس منتظر می ماند تا شخصی در شبکه سیستم او را تأیید اعتبار کند.
حملات SMB از مهم ترین حملات شناخته شده برای اجرای کد در سیستم های ویندوز است و از آنجا که این یک حمله کد از راه دور است، مهاجمان می توانند در هر مکانی باشند. آنها فقط باید آسیب پذیری های یک سیستم را شناسایی کنند، از این امر سوء استفاده کنند، دستوراتی را روی سیستم اجرا کنند، بدافزارها را در محل مورد نظر قرار دهند و در مرحله بعد حمله انجام میشود.
از مزیت های حملات مبتنی بر پروتکل SMB این است که مهاجمان میتوانند دسترسی خود را در سیستم یه صورت جانبی گسترش دهند. 
سیستم های ویندوز بدون پچ می توانند هنگام اتصال به یک سیستمی که  آلوده  شده است، آلوده شوند و این حمله به نسبت نتیجه بالایی که میگیرد نیاز به تلاش کمتری دارد ، به همین دلیل حملات مبتنی بر پروتکل SMB بسیار رایج است.
معروف ترین حمله ای که روی پروتکل SMB انجام میشود حمله  WannaCry  است. این حمله از آسیب پذیری زیاد پروتکل  SMB با سوء استفاده از  EternalBlue صورت گرفت و در سراسر جهان برای یک سال و نیم ادامه داشت.
نمونه دیگر سوء استفاده از EternalBlue ، حمله Emotet است که بانک ها را مورد هدف قرار می دهد. از سوء استفاه های دیگر از ضعف پروتکل SMB میتوان به EternalRomance و Bad Rabbit و EternalEnergy اشاره کرد.  
محققان امنیتی یک آسیب پذیری حساس جدید را تحت عنوان “SMBleed” در پروتکل  SMB کشف کرده اند که می تواند به مهاجمان اجازه دهد به حافظه داخلی از راه دور نفوذ کنند و هنگامی که با یک  SMBGhost ترکیب شود ، به مهاجمان اجازه می دهد تا کنترل RCE روی سرور یا  SMB client را بدست آورند. SMBGhost  تهدیدی است که در سال ۲۰۲۰ گزارش داده شده و روی ویندوز ۱۰ در صورتی که پچ نداشته باشد اثر میگذارد. 
[تصویر:  SMB-ATTACKS.png]
رفع آسیب پذیری پروتکل SMB
یکی از ساده ترین راه ها برای رفع این مشکل این است که پچ هایی که ویندوز برای ایرادات خود منتشر کرده را روی سیستم خود نصب کنید. البته این حمله ها بیشتر روی ویندوز پایین تر از ۱۰ صورت می گیرد، پس در صورتی که سیستم شما ویندوز ۱۰ است، این پچ ها روی سیستم شما به صورت پیش فرض قرار دارد.
یکی از راه های دیگر این است که شما ورودی و خروجی شبکه خود را به صورت انتخابی قرار دهید. مثلا فقط اجازه تبادل فایل های SMB و backup ها و ترافیک های کنترل کننده های دامنه را بدهید و بقیه ترافیک ها محدود شود. 
البته درصورتی که ویندوز شما پچ ندارد، بهترین راه امن بودن در مقابل حملات مربوط به SMB، استفاده نکردن از این پروتکل می‌باشد. در واقع از سال ۲۰۱۸ این پروتکل به صورت پیش فرض در ویندوز نصب نشده است. از آن پس برای به اشتراک گذاری فایل‌ها از یک سرور فایل اختصاصی یا یک راهکار مبتنی بر Cloud بایداستفاده کرد؛ برای استفاده از  پرینترهای شبکه‌ ای هم از پروتکل های دیگر استفاده می شود. 
در صورتی که نمیخواهید یا نمیتوانید پروتکل SMB خود را خاموش کنید، حداقل SMB1 را غیر فعال کنید. 

منبع:  https://webpouyan.com/smb-%da%86%db%8c%d8%b3%d8%aa/