در اولین روز از سال نو میلادی، مایکروسافت از وجود باگی خبر داد که منجر به توقف ایمیل در صفهای انتقال در سرورهای 2016 Exchange و 2019 میشود.
Joseph Roosen محقق امنیتی و مدیر اکسچنج بیان کرد که این مشکل به دلیل استفاده مایکروسافت از متغیر signed int32 برای ذخیره مقدار تاریخ که حداکثر مقدار آن 2,147,483,647 است به وجود آمده است. با این حال، تاریخهای سال 2022 دارای حداقل مقدار 2,201,010,001 یا بزرگتر هستند که از حداکثر مقدار قابل ذخیرهسازی در متغیر int32 علامتدار بزرگتر است و سبب میشود موتور اسکن از کار بیفتد و ایمیلها را برای تحویل ارسال نکند. بنابراین، یک مشکل امنیتی نبوده و ارتباطی نیز با اسکن بدافزاری ندارد.
راهکارها
زمانی که این مشکل رخ میدهد، خطاهایی را در لاگ رویداد برنامه مشاهده خواهید کرد، به ویژه خطاهای 5300 و 1106 که به نام FIP-FS شناخته میشوند:
Log Name: Application Source: FIPFS Logged: 1/1/2022 1:03:42 AM Event ID: 5300 Level: Error Computer: server1.contoso.com Description: The FIP-FS "Microsoft" Scan Engine failed to load. PID: 23092, Error Code: 0x80004005. Error Description: Can't convert "2201010001" to long. |
|
مایکروسافت اسکریپتی را ارائه کرده که از طریق آن می توان موتوراسکن بدافزار را ریست یا تنظیم مجدد کرد. لینک دریافت اسکریپت:
https://aka.ms/ResetScanEngineVersion
خواه این کار را به صورت خودکار و یا دستی انجام دهید، باید در هر دو برنامه Exchange Server 2016 و 2019 اجرا شوند. اگر از یک اسکریپت خودکار استفاده کنید، میتوانید به صورت موازی بر روی سرورهای مختلف آن را اجرا نمایید.
توصیه مایکروسافت این است که با سرورهایی با صفهای پیام شلوغ کار را شروع کنید. میتوانید از Get-Queue برای مشاهده اندازه صف و تعیین اینکه کدام صفها بزرگتر هستند، استفاده کنید. اگر قبلا اسکن آنتی ویروس را برای رفع این مشکل غیرفعال کردید، توصیه میشود که آن را بار دیگر و پس از انجام مراحل زیر فعال کنید.
استفاده از راهکارهای خودکار
اسکریپت را روی هر سرور Exchange در سازمان و یا بر روی چندین سرور به صورت موازی اجرا کنید. پس از تکمیل اسکریپت، خروجی زیر را مشاهده خواهید کرد:
[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>.\Reset-ScanEngineVersion.ps1 -------- Connecting to EXCH1.CONTOSO.com. Dispatched remote command. Start-EngineUpdate -UpdatePath http://amupdatedl.microsoft.com/server/amupdate --------
|
استفاده از راهکار دستی
کاربران برای استفاده از این راهکار میبایست به صورت دستی تمام مراحل را طی کرده و خدمات را بازیابی کنند. به همین منظور باید مراحل زیر را در هر سرور Exchange اجرا نمایید:
حذف متادیتا و موتور موجود
- سرویس مدیریت فیلترینگ مایکروسافت را متوقف کنید و برای متوقف کردن خدمات انتقال Microsoft Exchange Transport نیز کلید بله را فشار دهید.
- از Task Manager استفاده کنید تا مطمئن شوید که updateservice.exe اجرا نمیشود و پوشه زیر را حذف کنید:
%ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\amd64\Microsoft
- تمام فایلهای موجود در این پوشهها را نیز حذف کنید
%ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\metadat
موتور را به آخرین نسخه آن بهروزرسانی کنید
- خدمات Microsoft Filtering Management و Microsoft Exchange Transport را راه اندازی کنید.
- Exchange Management Shell را باز کنید و پوشه اسکریپتها را پیدا کنید:
%ProgramFiles%\Microsoft\Exchange Server\V15\Scripts
و سپس <Update-MalwareFilteringServer.ps1 <server FQDN را اجرا نمایید.
اطلاعات مرتبط با بهروزرسانی موتور پویشگر را تایید کنید
- در Exchange Management Shell نسبت به اجرای Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell. اقدام کنید.
- دستور Get-EngineUpdateInformation را اجرا کرده و اطلاعات نسخه بهروزرسانی شده که 21123300001 میباشد را تایید کنید.
در نهایت بعد از اینکه آن را به طور کامل بهروزرسانی کردید، بررسی کنید که جریان ایمیل کار میکند و خطای FIP-FS در لاگ رویداد برنامه موجود نیست.