Microsoft устроила новогодний обвал Exchange
Сбой в работе серверов Microsoft Exchange из-за «Ошибки Y2K22», аналогичной по характеру знаменитому «сбою Миллениума» 2000 года, привел к отказу в доставке электронной почты начиная с 1 января 2022 г. Пока что для исправления ошибки необходим ручной ввод команд, автоматическая «заплатка» еще не выпущена.«Ошибка Y2K22»
Начиная с 1 января 2022 г., на почтовых серверах Microsoft Exchange наблюдается сбой, который приводит к отказу доставки электронных писем. Проблема возникла в антивирусном сканирующем модуле FIP-FS, который защищает цифровую корреспонденцию от спама и вредоносного ПО. Первым об этом сообщил интернет-портал Bleeping Computer со ссылкой на информацию специалиста по кибербезопасности Джозефа Рузена (Joseph Roosen).
Как выяснилось, сервер Exchange сохраняет в журнале проверок своего антивирусного сканирующего механизма даты в 32-битной целочисленной переменной с максимальным значением 2 147 483 647. В 2022 г. даты начинаются с числа 2 201 010 001, которое превышает максимально допустимое программой.
Microsoft активировала работу утилиты антивирусного сканирования по умолчанию FIP-FS во всех почтовых серверах, начиная с версии Exchange Server 2013, поэтому сбои в работе этих серверов и доставке электронной почты замечены даже в новейших версиях ПО, выпущенных всего несколько лет назад.
Второй раз на грабли Y2K. Комментарии Microsoft
Сбой почтовых серверов Microsoft Exchange, который уже успели назвать «Ошибкой Y2K22», в определенной степени напоминает нашумевшую «Проблему 2000 года» («Проблема Y2K»), когда выпущенное в XX веке ПО обрабатывало в датах лишь последние две цифры, что при наступлении 2000 г. потенциально вело к сбросу даты в старых программах на 1900 г. или даже 0 г.
Как пояснил в своих твитах Джозеф Рузен, после сбоя сканирующего модуля FIP-FS в журнале событий сервера Exchange появляется ошибка 1106 со следующим пояснением: «Процесс сканирования FIP-FS Scan Process не прошел инициализацию. Ошибка: 0x8004005. Подробности ошибки: «Неопределенная ошибка» или «Код ошибки: 0x80004005». Описание ошибки: «Не удается преобразовать "2201010001" в длинное число».
Компания Microsoft официально подтвердила изданию Bleeping Computer, что знает об этой проблеме и работает над ее исправлением.
«Мы знаем о проблеме, по причине которой сообщения застревают в транспортных очередях на Exchange Server 2016 и Exchange Server 2019, и работаем над ее устранением. Проблема связана со сбоем проверки даты при переходе на новый год и не является сбоем самого антивирусного движка. Это не проблема со сканированием вредоносного ПО или механизмом вредоносного ПО, и это не проблема, связанная с безопасностью. Проверка версии, выполняемая в файле сигнатур, приводит к сбою в работе антивирусного механизма, в результате чего сообщения застревают в транспортных очередях», говорят в компании.
В ней также заявили, что намерены решить проблему в ближайшее время. Для оперативного решения проблемы представители Microsoft порекомендовали отключить сканирование на наличие вредоносного ПО на серверах Exchange и очистить транспортные очереди. Для этих целей рекомендовано использовать один из обходных путей – при наличии сканера вредоносного ПО для электронной почты, отличного от механизма в Exchange Server.
Microsoft представила временное решение
Сегодня Microsoft объявила о выпуске временного исправления ошибки, которое требует ручного ввода команд пользователем.
Исправление поставляется в виде сценария PowerShell под названием Reset-ScanEngineVersion.ps1. При запуске сценарий останавливает службы Microsoft Filtering Management и Microsoft Exchange Transport, а также удаляет старые файлы антивирусного движка, загружает новый антивирусный движок и снова запускает службы.
Для запуска исправления в виде автоматизированного сценария необходимо выполнить последовательность действий на каждом местном сервере Microsoft Exchange компании: загрузить сценарий Reset-ScanEngineVersion.ps1 с сайта https://aka.ms/ResetScanEngineVersion, открыть оболочку Exchange Management Shell с повышенным уровнем доступа, изменить политику выполнения для сценариев PowerShell, выполнив Set-ExecutionPolicy -ExecutionPolicy RemoteSigned.
Затем нужно запустить сценарий. Если до этого был отключен механизм сканирования, его можно включить снова с помощью сценария Enable-AntimalwareScanning.ps1. В Microsoft предупреждают, что процесс может занять некоторое время, в зависимости от размера компании.
Дальнейшая работа над ошибками
В Microsoft также пояснили, что новый механизм антивирусного сканирования с номером версии 2112330001 будет ссылаться на несуществующую дату, так что отныне администраторам не о чем беспокоиться.
В официальном обновлении Exchange Server ошибка будет исправлена вводом более крупной переменной для хранения даты. В компании заявили о том, что работают над обновлением для автоматического устранения проблемы:
«Новый обновленный механизм сканирования полностью поддерживается Microsoft. Хотя нам необходимо поработать над этой последовательностью в долгосрочной перспективе, версия механизма сканирования не была откачена назад, а была перенесена в эту новую последовательность».