در اول ژانویه 2022، زمانی که ساعت به 12 نیمه شب رسید، سرورهای مایکروسافت اکسچنج دچار مشکلی غیرمنتظره شدند. اینطور به نظر میرسید که سرورها قادر به پردازش تاریخ جدید نبودند. همین مسئله منجر به عدم تحویل ایمیلها شده بود.
مشکل استفاده از قالب تاریخ YYMMDDHHMM
در محصول اکسچنج مایکروسافت، تاریخ به صورت رشته عددی “YYMMDDHHMM” نگهداری میشود. هنگامی که تاریخ سال جدید به فرمت signed int32 تبدیل میشود، مقدار جدید 2,201,010,001 بیش از حداکثر مقدار قابل قبول برای فرمت int’long’ میشود که برابر با 2,147,483,647 است. در نتیجه، تغییر عدد سال به مقدار 22 در رشته عددی تاریخ؛ موجب سرریز عدد صحیح شد. به همین دلیل بود که سرورهای اکسچنج درست در لحظه شروع سال جدید از کار افتاد و ایمیلها در صفهای انتقال سرورهای Exchange نصب در محل گیر کردند.
این خطا روی نسخههای اکسچنج 2013، 2016 و 2019 تأثیر گذاشت. علاوه بر این، اجرای فرایند بررسی نسخه امضای فایل، منجر به از کار افتادن موتور بدافزار شده بود که موجب گیر کردن ایمیل در فرایند انتقال میشد.
این اولین بار نیست که اکسچنج دچار مشکلات بزرگی شده است. در سال گذشته موارد بسیار زیادی از آسیبپذیریهای متعدد از اکسچنچ گزارش شد که از جمله آنها میتوان به پروکسی توکن، پروکسی لاگان و پروکسی شل اشاره کرد.
توضیحات مایکروسافت در خصوص Y2K22
مایکروسافت پس از این اتفاق با صدور بیانیهای به توضیح این مشکل پرداخت و اعلام کرد که مشکل بوجود آمده در سرورهای اکسچنج، یک خطای بررسی تاریخ است و ارتباطی با بدافزار یا موتور بدافزار ندارد.
مایکروسافت پس از ایجاد این مشکل، این مسئله فرمت تاریخ را حل کرده است، اما برای این که مشتریان محصولات اکسچنج بتوانند این مسئله را برای سرورهای خود رفع کنند؛ لازم است چند مورد را بصورت دستی در سروها انجام دهند.
نحوه برطرف کردن مشکل Y2k22 اکسچنج
زمانی که خطای تاریخ رخ میدهد، در لاگ یا گزارش رویداد برنامه سرورهای اکسچنج – رویداد 5300 و 1106 (FIPFS) خطاها دیده میشوند.
مایکروسافت برای برطرف کردن این مشکل یک اسکریپت ارائه کرده است که لازم است به صورت دستی روی سرورهای اکسچنج اجرا شود.
بر اساس توضیحات مایکروسافت، مدیران سرورهای اکسچنج پیش از اجرای اسکریپت، باید با اجرای دستور زیر، خط مشی اجرای اسکریپت های PowerShell را تغییر دهند:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
اسکریپت مایکروسافت را میتوانید از این آدرس دریافت کنید:
https://aka.ms/ResetScanEngineVersion
این اسکریپت باید روی تمامی سرورهای اکسچنج که بهروزرسانیهای ضد بدافزار را دانلود میکند، اجرا شود (برای این کار از Exchange Management Shell استفاده کنید). همچنین این امکان وجود دارد که اسکریپت به صورت دستی نصب شود.
نحوه رفع مشکل Y2K22 بصورت دستی
حذف engine و metadata جاری
1. سرویس Microsoft Filtering Management را متوقف کنید. وقتی از شما خواسته شد که سرویس Microsoft Exchange Transport را نیز متوقف کنید، روی Yes کلیک کنید.
2. از Task Manager استفاده کنید تا مطمئن شوید که updateservice.exe اجرا نمیشود.
3. پوشه زیر را حذف کنید:
%ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\amd64\Microsoft.
4. همه فایلها را از پوشه زیر حذف کنید:
%ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\metadata.
به روز رسانی به آخرین engine
1. سرویس Microsoft Filtering Management و سرویس Microsoft Exchange Transport را راه اندازی کنید.
2. Exchange Management Shell را باز کنید، به پوشه دستورها (%ProgramFiles%\Microsoft\Exchange Server\V15\Scripts) بروید و دستور زیر را اجرا کنید:
Update-MalwareFilteringServer.ps1
اطلاعات بهروزرسانی موتور را تأیید کنید
1. در Exchange Management Shell، دستور زیر را اجرا کنید:
Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell
2. Get-EngineUpdateInformation را اجرا کنید و بررسی کنید که اطلاعات UpdateVersion 2112330001 باشد.
پس از بهروزرسانی موتور، توصیه میکنیم بررسی کنید که جریان نامه کار میکند و رویدادهای خطای FIPFS در گزارش رویداد برنامه وجود ندارد.
اکسچنج طی سال گذشته مشکلات امنیتی متعددی را پشت سر گذاشته است و به نظر میرسد این مشکلات همچنان ادامه داشته باشند.
اگر شما هم تصمیم دارید از اکسچنج مهاجرت کنید با کارشناسان ما در ارتباط باشید.