Exchange Server Üzerinde E-Postalar Hangi Transport Rule Üzerinden İletildiğini Bulma

Merhaba, ortamınız da bulunan Exchange Server üzerinden iletilen maillerin hangi transport rule üzerinden aktarıldığını veya hangi transport rule yüzünden engellendiğini zaman zaman bulmak isteyebilirsiniz. Bir tane rule yüzünden ortamınızda ki tüm rule‘leri Disable etmek istemezsiniz. 🙂 Asıl konumuza girmeden önce transport rule nedir? Ne işe yarar? bunlara göz atalım.

Transport Rule Nedir?

Teknolojinin gelişme ile beraber E-Mail kullanımı oldukça arttı, aslında artmak ile kalmadı günümüz de neredeyse her bireyin bir e-mail adresi bulunmakta. Bununla beraber e-mail güvenliği de ön plana çıkmaktadır. Güvenlik denilince akla gelen ilk maddelerden birisi “Kural”dır. Peki, Exchange Server üzerinde bu kuralları nasıl oluşturabiliyoruz, ECP üzerinden Transport Rule oluşturarak. Transport Rule üzerinden oluşturulan tüm politikaları biz beliryoruz ve bizim oluşturduğumuz senaryoya göre çalışıyorlar, tabi bu kuralları tetikleyecek abi politikalar bulunuyor. Bunun için her kuralı en ince detayına göre düşünmeniz gerekiyor.

Bu arada Exchange Server üzerinde Transport rule oluşturma işlemi 3.ayrı madde olarak sınıflandırabiliriz.

Yeni Transport Rule Oluşturma:

Yeni kural sihirbazı, Exchange Server üzerinde, yalnızca + düğmesini tıklarsınız, Yeni Kural sihirbazı başlar ve açılır listelerdeki kullanılabilir koşulların ve eylemlerin sınırlı bir alt kümesini ortaya çıkarır.

Şablonlara Dayalı Yeni Transport Rule Oluşturma: Yeni Kural sihirbazı davranışına ek olarak, bir tür şablonu temel alan yeni bir kural da oluşturabilirsiniz. + simgesinin yanındaki küçük oka tıklandığında, başlamanıza yardımcı olmak için yaygın kural türlerinden oluşan bir menü sunmaktadır.

Zamana Dayalı Taşıma Kuralları:

Exchange server transport role özelliğinin bir diğer kullanışlı özelliği, kuralın etkinleştirilmesi ve devre dışı bırakılması için belirli tarihler ayarlama seçeneğinin olmasıdır.

Not: Exchange Online için Transport Rule limiti 300’dür. 301. kuralı oluşturmak istediğiniz portal size hata verecektir.

Mail flow rules in Exchange Server | Microsoft Docs

Journal, transport, and inbox rule limits

FeatureMicrosoft 365 Business BasicMicrosoft 365 Business StandardMicrosoft 365 Business PremiumOffice 365 Enterprise E1Office 365 Enterprise E3Office 365 Enterprise E5Office 365 Enterprise F3
Maximum number of journal rules300 rules300 rules300 rules300 rules300 rules300 rules300 rules
Maximum number of transport rules300 rules300 rules300 rules300 rules300 rules300 rules300 rules
Maximum size of an individual transport rule8 KB8 KB8 KB8 KB8 KB8 KB8 KB
Character limit for all regular expressions used in all transport rules20 KB20 KB20 KB20 KB20 KB20 KB20 KB
Scanning limits for content of attachments1 MB1 MB1 MB1 MB1 MB1 MB1 MB
Maximum number of recipients added to a message by all transport rules100 recipients100 recipients100 recipients100 recipients100 recipients100 recipients100 recipients
Forwardee limit10 recipients10 recipients10 recipients10 recipients10 recipients10 recipients10 recipients
Number of times a message is redirected1 redirection1 redirection1 redirection1 redirection1 redirection1 redirection1 redirection
Number of times a message is redirected by transport rules1 redirection1 redirection1 redirection1 redirection1 redirection1 redirection1 redirection
Number of times a message is redirected1 redirection1 redirection1 redirection1 redirection1 redirection1 redirection1 redirection
Inbox rule256kb1256kb1256kb1256kb1256kb1256kb1256kb1

Exchange Server üzerinde iletilen bir e-mail’in hangi Transport Rule üzerinden geçtiğini nasıl bulabiliriz?

Oluşturmuş olduğunuz bir transport rule, size iletilen bir e-postayı red edebilir ya yada iletiyi önemsiz klasörüne gitmesine sebebiyet verebilir. Bu durumda iletinin hızlıca hangi transport rule üzerinden geçtiğini bulmamız gerekiyor.

Biz tracking log kullanarak epostamızın hangi rule üzerinden geçtiğini bulacağız.

Senaryomuz şu şekilde: Cengiz, Ahmet kullanıcısına “Mart ayı satış raporları” konulu bir eposta gönderiyor. Bu e-posta Ahmet kullanıcısının önemsiz klasörüne düşüyor ve konu başlığı değişmiş bir şekilde düşüyor.

EMS üzerinden MessageID kullanarak Tracking Log scriptimizi çalıştırıyoruz.

$logs = Get-TransportServer | Get-MessageTrackingLog -MessageId "<a10d8434b47f4caea4afb3c9bc41b861@EX2019SR.cengizyilmaz.net>" -Start (Get-Date).AddDays(-1) -ResultSize Unlimited

Sonrasın da ise EVENT’leri zaman damgasına göre sıralıyorum ve EventId, Source ve MessageSubject alanlarına bakıyorum (çünkü ileti konusunun değiştirildiğini zaten biliyoruz).

$logs | Sort timestamp | Select eventid,source,messagesubject

EventId    Source      MessageSubject
-------    ------      --------------
RECEIVE    STOREDRIVER This is an email from Cengiz
HARECEIVE  SMTP        This is an email from Cengiz
HAREDIRECT SMTP        This is an email from Cengiz
RECEIVE    SMTP        This is an email from Cengiz
SUBMIT     STOREDRIVER This is an email from Cengiz
AGENTINFO  AGENT       Very Important MessageThis is an email from Cengiz
DELIVER    STOREDRIVER Very Important MessageThis is an email from Cengiz
SEND       SMTP        Very Important MessageThis is an email from Cengiz
HADISCARD  SMTP        This is an email from Cengiz

AGENTINFO değerine baktığımız zaman mail konusunun değiştiğini görebilmekteyiz. Şimdi ki sorgumuzu AGENTINFO üzerinden yapacağız.

[PS] C:\>$logs | where {$_.eventid -eq "AGENTINFO"} | fl


RunspaceId              : 328245b3-31a5-4c0c-ac83-4f225b3c7be7
Timestamp               : 10.04.2022 8:45:50 PM
ClientIp                :
ClientHostname          : EX2019
ServerIp                :
ServerHostname          :
SourceContext           : CatContentConversion
ConnectorId             :
Source                  : AGENT
EventId                 : AGENTINFO
InternalMessageId       : 9680856285253
MessageId               : <a10d8434b47f4caea4afb3c9bc41b861@EX2013SRV1.cengizyilmaz.net>
Recipients              : {cengiz.yilmaz@cengizyilmaz.net}
RecipientStatus         : {}
TotalBytes              : 7765
RecipientCount          : 1
RelatedRecipientAddress :
Reference               :
MessageSubject          : Very Important MessageThis is an email from Cengiz
Sender                  : cengiz.yilmaz@cengizyilmaz.net
ReturnPath              : cengiz.yilmaz@cengizyilmaz.net
Directionality          : Originating
TenantId                :
OriginalClientIp        : 192.168.3.200
MessageInfo             :
MessageLatency          :
MessageLatencyType      : None
EventData               : {[AMA, SUM|v=0|action=|error=|atch=0], [AMA, EV|engine=M|v=0|sig=1.213.5104.0|name=|file=],
                          [AMA, DT|ST=10|PT=0|TT=21.2478], [TRA, ETRI|MsgType=Undefined|Ex=|IsKnown=], [TRA,
                          ETR|ruleId=1f23tt44-1cb9-4293-c77d-5e333a12fc9v|st=10.04.2022 10:42:04
                          AM|action=PrependSubject|sev=1|mode=Enforce], [TRA,
                          ETRP|ruleId=1f23tt44-1cb9-4293-c77d-5e333a12fc9v|ExecW=38|ExecC=31], [CompCost,
                          |AMA=0|ETR=0], [DeliveryPriority, Normal], [AccountForest, cengizyilmaz.net]}

Bu sorgu sonucunda “EventData” alanına odaklanmamız gerekiyor. action=PrependSubject| ve ruleId=1f23tt44-1cb9-4293-c77d-5e333a12fc9v alanlarını odaklanabilir. Şimdi hangi Transport Rule bu adrese sahip onu bulmamız gerekiyor.

[PS] C:\>Get-TransportRule -Identity 1f23tt44-1cb9-4293-c77d-5e333a12fc9v

Name                                         State    Mode        Priority Comments
----                                         -----    ----        -------- --------
From Cengiz to Ahmet                         Enabled  Enforce     0        ...

Gördüğünüz gibi belirtmiş olduğumuz Transport ID’sinin hangi rule olduğunu name alanında görebilmekteyiz. Bu kural için şimdi detaylı bir sorgu çalıştıralım.

[PS] C:\>Get-TransportRule -Identity 1f23tt44-1cb9-4293-c77d-5e333a12fc9v | select description | fl


Description : If the message:
                  Is sent to 'ahmet@domain.com'
                  and Is received from 'cengiz@cengizyilmaz.net'
              Take the following actions:
                  Prepend the subject with 'Very Important Message'
Exit mobile version