Microsoft Exchange Server: o bug que bloqueou milhares de e-mails

Ano novo, novos bugs! Desta vez foi a vez do Microsoft Exchange Server: o bug bloqueou a entrega de milhares de emails, que ficaram presos na fila . O problema, conforme ilustrado pela Microsoft , está relacionado à falta de controle da mudança de data do novo ano. Um inesperado " bug do milênio " que ocorreu bem na badalada da meia-noite de 1º de janeiro de 2022.

O bug do Microsoft Exchange Server

O início do novo ano começou com estrondo para milhares de usuários do Microsoft Exchange Server, que se viram incapazes de receber e-mails e mensagens devido a um bug. Os administradores do Exchange notaram que os servidores não eram mais capazes de entregar e-mails ; procurando a causa do problema, eles encontraram uma mensagem nos logs com um erro muito específico:

 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.

Sobre o que é isso? O mecanismo de verificação FIP-FS , ou o antivírus que verifica e-mails, não armazena a data em um Int32 antes de converter para longo . Este tipo de dado pode armazenar valores de -2.147.483.647 a + 2.147.483.647, mas novas datas, com mais um ano, ultrapassam esse limite. No caso de 1º de janeiro às 00h00 o valor a ser armazenado seria +2.201.010.001, maior que o valor máximo do inteiro de 32 bits.

O mecanismo de varredura travou , enviando todo o processo de entrega de e- mails e mensagens em uma pirueta , deixando-os presos na fila. O e-mail da Microsoft travou, as filas se encheram e os usuários não puderam mais enviar ou receber e-mail.

Milhares de e-mails do Microsoft Exchange ficaram presos nas filas do servidor devido a um bug de data.
Milhares de e-mails do Microsoft Exchange ficaram presos nas filas do servidor devido a um bug de data.

Como consertar o erro?

A Microsoft percebeu imediatamente o erro nos servidores Exchange e já estava trabalhando para resolver o bug. A correção, porém, não chegará a curto prazo e os e-mails certamente não podem ficar bloqueados, principalmente agora que as empresas estão começando a trabalhar novamente. A equipe do Exchange publicou duas soluções possíveis , mas ambas requerem a intervenção dos administradores do servidor para serem colocadas em prática. Os administradores podem escolher se desejam seguir um procedimento automatizado ou manual.

Solução automatizada

Se você deseja recorrer a uma solução pronta, basta executar um script e seguir alguns passos simples para evitar temporariamente o bug, aguardando o patch oficial. A primeira coisa a fazer é modificar as políticas de execução configurando-as para “RemoteSigned” , permitindo assim a execução de scripts com uma assinatura digital confiável. Neste ponto, você pode baixar o script fornecido pela Microsoft e executá-lo em cada servidor Exchange da empresa.

Solução manual

Se você preferir seguir uma solução manual, a Microsoft ilustrou as etapas necessárias para resolver o problema (sempre temporariamente):

  1. interrompa o serviço "Microsoft Filtering Management" e "Microsoft Exchange Transport". Assim que o primeiro for interrompido, o próprio sistema irá propor um pop-up para bloquear o segundo;
  2. certifique-se de que o serviço updateservice.exe não esteja em execução;
  3. exclua a pasta % ProgramFiles% Microsoft Exchange Server V15 FIP-FS Data Engines amd64 Microsoft ;
  4. remover todos os arquivos contidos em % ProgramFiles% Microsoft Exchange Server V15 FIP-FS Data Engines metadata ;
  5. reinicie os dois serviços interrompidos anteriormente;
  6. abra o "Shell de Gerenciamento do Exchange", navegue até a pasta de scripts ( % ProgramFiles% Microsoft Exchange Server V15 Scripts ) e execute o comando Update-MalwareFilteringServer.ps1 <server FQDN> ;
  7. sempre no shell do Exchange, execute o comando Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell ;
  8. execute Get-EngineUpdateInformation e verifique se a propriedade “UpdateVersion” é 2112330001.

Este valor representa uma data inexistente, mas a Microsoft garante aos administradores que está correto e tem suporte do mecanismo. Depois de executar o script (ou após seguir as etapas manuais), o servidor irá retomar a entrega de e- mails e mensagens corretamente, embora possa levar algum tempo antes de retornar à capacidade total.

O procedimento só é necessário para servidores que tenham acesso à internet e baixem atualizações para o malware. Caso contrário, o problema não deve surgir.

O artigo do Microsoft Exchange Server: O bug que bloqueou milhares de e-mails vem de Tech CuE | Engenharia de close-up .