MSExchange Antimalware Event ID 5800 – Message deferred by categorizer agent

Yeni yıla herkes benzer bir sorun ile uyandı. Aslında buradaki “herkes” tanımı Exchange organizasyonunda Anti Malware Agent kullanan herkes. Malum bazı şirketler bunu aktif kullanmıyor. Ancak özellikle exchange sunucusu üzerinde eğer bir antimalware ürünü yok ise (OS seviyesinde değil SMTP seviyesinde) bunun açık olması tavsiye edilmektedir.

Bu servis arka planda belirli aralıklar ile güncelleme alır, ancak bazen sizin sunucularınızın internet erişimleri bazende dün gece yaşadığımız gibi diyelim Microsoft tarafındaki bir güncelleme sorunu ile bu transport agent yukarıdaki gibi bir hataya neden olabilir.

Microsoft, Exchange Server 2013’ten başlayarak, kullanıcıları kötü niyetli e-postalardan korumak için varsayılan olarak FIP-FS istenmeyen posta önleme ve kötü amaçlı yazılımdan koruma tarama motorunu kullanmaktadır (fip-fs anti-spam and anti-malware scanning engine).

Peki 1 Ocak gece yarısı ne oldu?

Güvenlik araştırmacısı ve Exchange yöneticisi Joseph Roosen, bunun Microsoft’un bir tarihin değerini saklamak için imzalı bir int32 değişkeni kullanması nedeniyle olduğunu ve bunun en fazla 2.147.483.647 değerine sahip olduğunu söyledi. Evet söyledi diyorum çünkü hepimiz bu şekilde öğrendik. Yani bu böyle demek çok doğru değil, sonuçta biz de Joseph yazmasa en azından bu kadar hızlı bilgi alamazdık. Bazı arkadaşlarımız sanki bunu kendisi bulmuş gibi yazıyor ona ayrı gülüyorum ama neyse 🙂

Merak edenler için kaynak aşağıdaki gibidir;

https://twitter.com/JRoosen/status/1477120097747677184

Peki sorun neydi? 2022’deki tarihlerin minimum 2.201.010.001 veya daha büyük bir değeri vardır; bu int32 değişkeninde depolanabilecek maksimum değerden daha büyüktür ve bu nedenle tarama motoru yeni yıla girdiktan sonra değişkeni yorumlayamadığı için çalışmadı.

Eğer böyle bir sorun yaşarsanız bu durumda mailler işlenemediği için aşağıdaki gibi bir hata alırsınız

Last Error: Message deferred by categorizer agent

Geçici çözüm için aşağıdaki komut yardımı ile Anti Malware Agent için inceleme özelliğini geçici olarak kapatabilirsiniz;

Mevcut durumu kontrol etmek için

Get-TransportAgent “Malware Agent”

Bypass yapmak için

Set-MalwareFilteringServer <ServerIdentity> -BypassFiltering $true

Burada ServerIdentity yazan yere sunucu isminizi yazmanız yeterlidir.

Ardından Microsoft Exchange Transport servisini yeniden başlatmanız yeterli olacaktır. Kuyruktaki maillerin eridiğini görebilirsiniz.

Kontrol için

Get-MalwareFilteringServer | Format-List BypassFiltering

Not: Anti Malware Agent isterseniz disable edebilirsiniz, biz genellikle ilk kontrollerde Transport Agent bazlı hangi agent için sorunu ararken bunu kullanırız, ancak siz bu özelliği kullanmıyor veya uzun bir süre kullanmayacaksanız bypass yerine disable edebilirsiniz. Ancak aktif kullanıyorsanız tekrar açmayı unutmayın lütfen.

Exchange Script dizininde ilgili PS’ i çalıştırın veya Path tanımlarınız doğru ise ( exchange kurulumundan sonra bazen path değiştirenler için uyarıdır) ilk satır zaten sizi otomatik o dizine taşıyacaktır.

cd $exscripts
Disable-Antimalwarescanning.ps1
Restart-Service MsExchangeTransport

Peki Microsoft ne yapacak? Tabi ki bu tarihi tutmak için daha büyük değişken kullanan bir Exchange Server güncellemesi yayınlayacaktır.

Microsoft’ da bu sorunu zaten kabul etmiş durumda;

Email Stuck in Transport Queues – Microsoft Tech Community

Bu bağlamda bu PS komutunu indirip çalıştırmanız sorunu düzeltecektir.

https://aka.ms/ResetScanEngineVersion

Umarım faydalı bir bilgi olmuştur.