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
Feature | Microsoft 365 Business Basic | Microsoft 365 Business Standard | Microsoft 365 Business Premium | Office 365 Enterprise E1 | Office 365 Enterprise E3 | Office 365 Enterprise E5 | Office 365 Enterprise F3 |
---|---|---|---|---|---|---|---|
Maximum number of journal rules | 300 rules | 300 rules | 300 rules | 300 rules | 300 rules | 300 rules | 300 rules |
Maximum number of transport rules | 300 rules | 300 rules | 300 rules | 300 rules | 300 rules | 300 rules | 300 rules |
Maximum size of an individual transport rule | 8 KB | 8 KB | 8 KB | 8 KB | 8 KB | 8 KB | 8 KB |
Character limit for all regular expressions used in all transport rules | 20 KB | 20 KB | 20 KB | 20 KB | 20 KB | 20 KB | 20 KB |
Scanning limits for content of attachments | 1 MB | 1 MB | 1 MB | 1 MB | 1 MB | 1 MB | 1 MB |
Maximum number of recipients added to a message by all transport rules | 100 recipients | 100 recipients | 100 recipients | 100 recipients | 100 recipients | 100 recipients | 100 recipients |
Forwardee limit | 10 recipients | 10 recipients | 10 recipients | 10 recipients | 10 recipients | 10 recipients | 10 recipients |
Number of times a message is redirected | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection |
Number of times a message is redirected by transport rules | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection |
Number of times a message is redirected | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection | 1 redirection |
Inbox rule | 256kb1 | 256kb1 | 256kb1 | 256kb1 | 256kb1 | 256kb1 | 256kb1 |
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'