Exchange Kural Oluşturma – Transport Rule Nedir?

Posted by

Merhaba Arkadaşlar, bu makalemde sizlere Exchange kural oluşturma dan bahsedeceğim. Genel hatları ile makalede bulabileceklerinizi başlıklara ayıralım isterseniz;


# Transport Rule Nedir? Rule neden kullanırız?

Transport rule, Exchange üzerinde gönderici ve alıcılar üzerinde yetkilendirme yapmak için kullanabileceğimiz gelişmiş bir alandır. Exchange’de kuralları kullanarak birçok işlem yapabilirsiniz. Bunu o kadar çok dallandırabiliriz ki, sınırını düşünemedim bile. 🙂 Hatta minik bir örnekle anlatmak gerekirse, aşağıdaki şekilde kuralı işleyebilirsiniz.

  • Ahmet kullanıcısı mail gönderemesin sadece alabilsin.
  • Ahmet kullanıcısı, sadece şirket dışına mail gönderemesin.
  • Ahmet kullanıcısı, şirket dışına mail gönderebilsin ama x firmasına gönderemesin.
  • Ahmet kullanıcısı, eğer x firmasına gönderdiyse Mehmet kullanıcısına bilgi gitsin.

Yukarıdakiler sadece minik örnekler aslında 🙂 Bunları çok farklı şekillerde tanımlama imkanımız var. Sadece yazıyı dikkatlice okuyup anlamanız yeterli olacaktır. Gerisi sizin hayal gücünüz ve mantığınızla baş başa kalmak olacak.

Office 365 Kural Nedir? Makalesinde genel bir bilgi de bulabilirsiniz. Exchange Kural Oluşturma


# Office 365 Kurallarında Limit Var mı?

Evet, maalesef ki! Office 365’te herşeyde olduğu gibi kurallarda da limit var. Toplamda 8 adet limit var ama oldukça can acıtıcı kurallar. Özellikle çok sayıda kullanıcınız varsa bu limitler sıkıntı yaratacaktır. Exchange kural limitlerine göz atmak gerekirse;Exchange Kural Oluşturma

Maksimum yönlendirme (journal) kuralları sayısı:

Şirkette bulunan e-posta adreslerine gelen e-postaları tek bir hesapta toplama işlemi. Bu işlemi oluşturmak için 10 kural hakkınız bulunuyor. Bu sayada Office 365’te şirketinize gelen bütün mailleri tek bir hesapta toplayabilirsiniz. Detaylı bilgi için tıklayın.

Maksimum kural oluşturma sayısı: Office 365’te kural oluşturma sayınız toplamda 300 adettir. 301. kuralı oluşturmak istediğinizde hata verecektir.

Maksiumum kural boyutu: Exchange Online’da oluşturduğunuz kuralların bir boyutu var.Kurala koyduğunuz isim ve kural içindeki ögeler birleşerek bu boyutu oluşturmaktadır. Bir kuralın toplam boyutu ise 8 KB’dan daha uzun olamaz. 9KB’lık bir kural oluşturduğunuzda. Alacağınız hata ise,

” The rule can’t be created because it is too large. It has xxx characters, and the maximum nuber of characters is 4096. Reduce the size either by removing content, such as words or reguler expressions, from the rule; or by removing conditions, exceptions, or actions from the rule. “

Tüm kurallar için maksimum boyut: Bir kural için 8KB olduğunu belirtmiştik. Fakat buna güvenerek kuralların isimlerini uzun uzun yazmayın. Toplamda ise 20 KB’dan daha fazla olamaz. Yani örneğin 17 kuralınız var ve 20KB boyut kullanıyor. 18. kuralı oluştururken hata alabilirsiniz. Bu durumda toplamda 300 kural oluşturma imkanınız da kalmayacak doğal olarak.

Ek içeriği tarama sınırı: Kurallarda, iletide gelen ekleri inceleyebilirsiniz. Fakat ekte bulunan metinin ilk 1 MB’lık bölümü denetlenir. Bu 1MB sınırı, ekin dosya boyutuna değil, ek açıldıktan sonra metin içinde bulunan boyuna göre hesaplanır. Yani 2 MB’lık bir TXT dosyası açıldığında içinde daha düşük boyutta bir boyut olacaktır. Doğal olarak büyük bir kısmı incelenir.

Maksimum kurala eklenebilecek kişi sayısı: Bir kurala toplamda 100 kişi ekleyebilirsiniz. Sadece bir kuralda değil, 300 adet kural yazdıdıysanız da toplamda 100 kullanıcı ekleyebilir, bir kuralda da 100 kullanıcı ekleyebilirsiniz. 101. kullanıcıyı eklemek istediğinizde ise hata alacaksınız. Bir örnekle açıklamak gerekirse; 5 tane kuralınız var ve x,y,z,c,q kişisine gelen mailleri toplamda 75 kullanıcıya yönlendirirseniz bir problem olmaz. Fakat yönlendirdiğiniz kişi sayısı 100’ü geçtiğinde kuralda hata alacaksınız. Bir kullanıcıyı 10 farklı kural içinde kullanırsanız o kullanıcı toplamda 10 kullanıcı gibi görünecektir. Bu nedenle, eğer fazla sayıda kullanıcıya yönlendirme yapacaksanız dağıtım gruplarını kullanın.

Yönlendirme limiti: Yönlendirme limiti ise, bir kişiye gelen e-postaları yönlendirmek için oluşturduğunuz kuralda 10 kişiden fazlasını eklemenizi engelleyen bir limit. Yani kural ile gelen mailleri yönlendirmek isterseniz, toplamda sadece 10 kişinin adresine yönlendirme yapabilirsiniz.

İleti yönlendirme limiti: Bu limit ise, gelen bir e-postanın kaç kere yönlendirilebileceğini belirtiyor. Bir ileti sadece bir kere yönlendirilebilir.

Bu limitler ile ilgili detaylı bilgiyi Journal, Transport, and Inbox Rule Limits across Office 365 option başlığında bulabilirsiniz. Limitlerimiz bunlar, bu limitlere göre düzenleme yapabilirsiniz. “Yapabiliriz de, nasıl yapıcaz arkadaş?” diyorsanız eğer, bir alt başlıktan devam edelim. 🙂

Dipnot: Dağıtım grubuna kural ile yönlendirme yaparken, aşağıdaki hatayı alırsınız. Bunun sebebi, dağıtım grupları ve Office 365 grupları malesef ki kurala eklenemez.

The transport rule can’t be created because mailadresi@domain.com, the recipient to be added by a rule action, is a distribution group. Transport rules can’t add distribution groups to messages. To resolve this error, remove this recipient and specify a different one.

Bu hatayı aşmak için aşağıdaki adımları uygulayabilirsiniz;

  1. Asıl alıcı mailbox’ı bulun ve çift tıklayarak Edit alanına girin.
  2. Mailbox Features > Mail Flow – Delivery Options – View Details” seçenekleriyle ilerleyin.
  3. Enable Forwarding” kutucuğunu işaretleyin ve bu mailbox’a gönderilen email’lerin ayrıca iletileceği kişilerden oluşan distribution group’u bu alana ekleyin.
  4. Deliver message to both forwarding address and mailbox” kutucuğunu da işaretlemeyi unutmayın, aksi halde email’ler esas alıcı mailbox’tan taşınacaktır.

# Kural Nasıl Oluşturulur?

Office 365’te kural oluşturmak oldukça basit fakat kuralın içeriğini oluşturmak biraz düşündürücü. Ben size genel hatları ile kural nedir, ne değildir bundan bahsedeceğim. Geri kalan kuralları oluşturmak ise sizin hayal gücünüzü kullanmanız ve ihtiyaçlarınızdan ibaret.

Bu konuyu kendi içinde de 5 başlığa ayıracağım daha anlaşılır olması için;

  1. Kural nereden oluşturulur?
  2. Kural oluştururken nelere dikkat etmeliyiz?
  3. Kural oluşturken gördüğümüz alanlar nelerdir?
  4. Örnek kural oluşturma.

Yukarıdaki bahsettiğim konuları anlayarak okumaya çalışırsanız, mantığını tamamen kavrayabilirsiniz. Birinci bölümden başlayalım.


Exchange’de kural nasıl oluşturulur? – Exchange Kural oluşturma

Exchange kural oluşturma için kullanacağımız bölüme aşağıdaki adımları kullanarak gidebilirsiniz;

  • Portal‘dan Exchange Yönetim Merkezi‘ni açalım.
  • Posta Akışı (Mail Flow) sekmesine giriş yapalım.
  • Kurallar (Rules) bölümüne giriş yapalım.
  • Kurallar içinde ise (+) artı butonuna basalım ve Yeni bir kural oluştur… butonuna tıklayalım.

Yeni bir kural oluştur... [letilere hak koruması uygula... Bildirimleri uygula...

Yeni bir kural oluştur butonuna tıkladığınızda, küçük bir pencere açılacak ve bu pencereden kural oluşturabilirsiniz.


Exchange’de kural oluştururken nelere dikkat etmeliyiz?

Bir kural oluşturmadan önce dikkat etmemiz gereken şeyler sadece dikkat ile ilgili.

  • Kuralı oluşturmadan önce kafamızda ne yapmak istediğimize dair net bir karar oluşturmalıyız.
  • Kuralı oluşturduğumuzda başka bir kuralla çakışmayacağında emin olmalıyız.
  • Kuralı oluşturduktan sonra başka bir kuralla çakışacaksa da önceliğini düzgün atamalıyız.
  • Kuralı oluşturduktan sonra tekrar hatırlamak için düzgün bir isim vermeliyiz.

Yukarıdakilere dikkat etmemiz yeterli olacaktır. Yukarıdakilere dikkat etmediğinizde ilginç sonuçlarla karşılaşabilirsiniz. Tekrar hatırlatmak istiyorum. En önemli şey dikkat.


Kural oluştururken gördüğümüz alanların anlamı nedir?

Öncelikle yeni kural oluştur butonuna tıklayalım ve yeni kural penceresini açalım. Aşağıdaki ekran görüntüsünde olan alan gelecektir. Ekran görüntüsünün altında da detaylı açıklamalarını paylaşacağım.

Exchange kural oluşturma

İsim (Name): Bu alanda daha sonra karışıklık çıkmaması için kısa ve anlaşılır bir isim girelim. Bana inanın, ilerleyen zamanlarda çok fazla kural olduğunda karışıklık çıkaracaktır.

Şu koşulda bu kuralı uygula… (Apply this rule if…): Bu alandan ise ne olursa bu kuralın işleme girileceğini belirtiyoruz. Kısacası, tetikleyici (condition) etkeni yazmamız gerekecek. Örneğin, Can’a e-posta gelirse ya da Can’ın gönderdiği e-postanın içinde “TTNET” yazıyorsa gibi. Kuralın en can alıcı üç yerden birincisi burası. Buna dikkat edelim.

Şunu yap… (Do the following…): Şunu yap kısmında ise, tetikleyiciden sonra yapılması gereken işlemi (action) girmemiz gerekiyor. Buraya yazacağımız aksiyonu tamamlayacaktır. Yukarıdaki örnekle pekiştirelim isterseniz, “Can’a e-posta gelirse” kısmını yazmıştık, bu alana da Burak’a bildir’i seçiyoruz ya da “Can’ın gönderdiği e-postanın içinde “TTNET” yazıyorsa demiştik, devamında aksiyon olarak bu e-postayı kimseye bildirmeden sil diyebiliriz. Kısaca özetlemek gerekirse, tetikleyiciden sonra yazdığımız tamamlayıcı komut. Bu alan en önemli ikinci alan.

Şu koşul dışında… (Except if…): En önemli üçüncü adım ise kuralda belirtilen şu koşul dışında seçeneği. Bu alanda ise yukarıdaki kural çalışsın ama şu olursa çalışmasın seçeneğini aktif ediyoruz. Yani exception. Yukarıdaki örnekle tamamlayalım tekrar;

  • Can’a e-posta gelirse Burak’a bildir demiştik, + eğer ki gönderen Alper değilse.

Eklediğimiz bu komutla birlikte Can’a kim e-posta gönderirse göndersin Burak’a da bilgi gidecek ama e-postayı gönderen Alper ise bir bildirim gitmeyecek.

Diğer örneğimizi de tamamlayalım;

  • Can’ın gönderdiği e-postanın içinde TTNET yazıyorsa kimseye bildirmeden sil demiştik, + eğer alıcı ttnet.com.tr domaini değilse.

Eklediğimiz bu komutla ise, ttnet.com.tr domainine gidiyor ve içinde TTNET yazıyorsa gönder, fakat ttnet.com.tr domaini dışında kimseye gönderemesin oldu.

Bu kuralı şu önem düzeyiyle denetle. (Audit this rule with severity level:): İleti izleme günlüğündeki ilgili alana atanan önem düzeyini belirtir. Çok önemli bir seçenek değil giriş seviyesi için.

Bu kural için bir mod seçin: (Choose a mode for this rule:): Kuralın hemen çalışıp çalışmayacağını,DLP kullanıyorsanız test moduna vb alabileceğiniz alan. Eğer böyle bir seçenek yoksa zorla/enforce seçeneğini işaretleyip geçebilirsiniz.

Bu kuralı şu tarihte etkinleştir: (Active this rule on the following date:): Kuralı şu tarihten itibaren başlat diyebileceğimiz bir alan. Kuralı manuel olarak kapatıp açabileceğiniz gibi tarih belirtip aç kapa yapabilirsiniz.

Bu kuralı şu tarihte devre dışı bırak: (Deactivate this rule on the following date:): Bir üstte belirttiğim özelliği kapanış olan versiyonu. Bir kuralı istediğiniz bir tarihten itibaren devre dışı bırakabilirsiniz. Tek yapacağınız butonu tıklayıp tarihi seçmek.

Daha fazla kural işlemeyi durdur (Stop processing more rules): Bu seçenek bize, bu kural uygulandıktan sonra benzer hiçbir kuralın çalıştırılmamasını sağlıyor. Örneği, Can’dan gelen postaları Burak’a bildir dedikten sonra, benzer şekilde Can’dan gelen postaları Ahmet’e gönder seçeneği varsa, ikinci seçeneği iptal edecektir.

Kural işleme tamamlanmazsa iletiyi ertele (Defer the message if rule processing doesn’t complete): Eğer ki kural işlenemezse, kuralı erteler ve daha sonra tekrar dener.

İletide gönderen adresini eşleştir: (Match sender address in message): Bu seçenekte ise, gönderenin kişi istisnai kurallar kullanıyorsa ileti header/üst bilgisini eşleştirmek için kullanılabilir.

Açıklamalar: (Comments:): Bu alana ise, kural ile ilgili hatırlatıcı bilgiler yazabilirsiniz. Aynı anda 7 tane bilgi işlem bu alanı kullanıyorsa, açıklamalar kullanılarak anlaşılabilig.

Kural içeriklerinin tamamını bu aşağıdaki iki makalede bulabilirsiniz.


Bir de örnek kural oluşturalım isterseniz.

Bir adet örnek kural oluşturalım isterseniz, bilgilerin oturmasında fayda sağlayacaktır.

Örnek 1: Burak adlı kullanıcı şirket bilgilerini kişisel e-posta adresine gönderiyor ve bu durumu engellemek istiyorsunuz. Bunun için aşağıdaki adımları uygulayalım;

  • Kural oluşturma ekranına gelelim.
  • Şu koşulda bu kuralı uygula seçeneğine gelelim ve gönderen seçeneği içinden bu kişidir seçeneğini tıklayalım
  • Bu alandan Burak Varol’u seçelim.

Exchange kural oluşturma

Yukarıdaki tetiklemede verdiğimi komutun açıklaması şu “Burak Varol e-posta gönderiyorsa” Şuan sadece bunu yaptık. Ardından bir koşul ekle butonuna daha tıklayalım ve bu sefer ikinci bir tetikleme noktası daha koyalım. İkinci noktamız ise, Burak’tan giden ama Burak Varol’un kişisel hesabına giden e-postaları seçmek olacak. Koşul ekle dedikten sonraki seçeneğimize ise,

  • Alıcı… üzerine gelelim ve bu kişidir‘i seçelim. Ardından da Burak kullanıcısının kişisel e-posta adresini seçelim.

Exchange kural oluşturma

Eklediğimiz ikinci koşulla birlikte “Burak Varol kullanıcısı, burakvarol@hotmail.com.tr adresine gönderirse” tetikleyicisini oluşturmuş olduk. Buraya kadar herşey normal, fakat burada sadece tetikleyici oluşturduk, şimdi eğer böyle birşey olursa ne olacağına karar vermemiz gerekiyor. Bunun için de “Şunu yap” seklesine geleceğiz ve olacaklara karar vereceğiz. Önümüzde, birçok seçenek var ama mantıklı olan sadece iki seçenek var.

Böyle bir ileti geldiğinde, iletiyi onay için yöneticisine gönderebilir veya gönderilen iletiyi engelleyebiliriz.. Ben iletiyi engelleme yönünü tercih ediyorum.

Exchange kural oluşturma

Engelleme için, “İletiyi engelle…” butonuna tıklayın ve “iletiyi kimseye bildirmeden sil” butonuna tıkladım.

Exchange kural oluşturma

Bu işlemlerden sonra kaydettim ve aktif olarak çalışacak durumda. Yazdığımız kuralın yapacağı işlemi de hızlıca özetleyelim tekrar;

Bu kuralla birlikte eğer Burak Varol kullanıcısı burakvarol@hotmail.com adresine bir mail atarsa ileti gönderilen kişiye ulaşmayacak ve kimseye bildirim gitmeyecek.


# PowerShell ile kurallar kontrol edilebilir mi?

Evet! PowerShell ile kuralları kontrol etmekten öte, oluşturabilirsinizde. Fakat arayüzden yapmak daha kullanışlı ve aralarında hiçbir fark yok. Bu yüzden çoğu konuda PowerShell’i sevsem de bu konuda arayüzü tercih edeceğim. Fakat yine de genel bir bilgi vermek isterim size.

Öncelikle eğer bilginiz yoksa PowerShell ile 365’e bağlanma ve PowerShell gereksinimleri adlı makalelerimi kontrol edebilirsiniz. Bağlantıyı sağladıktan sonra ise PowerShell ile kuralları kontrol etmeye göz atalım kısaca;


PowerShell ile kural nasıl oluşturulur?

Örneğin aşağıdaki komut ile birlikte, DomainEngelleme adında deneme.com domaininden gelen mailleri engelleyebilir + gönderen kullanıcıya “Bu bir spam maildir” yazılı NDR gönderebilirsiniz.

New-TransportRule “DomainEngelleme” -RecipientDomainIs “deneme.com” -RejectMessageReasonText “Bu bir spam maildir”

PS Nee—TransportRuIe "Deneme" —Recipi entDomai nIs "denene.com" -RejectNessageReasonText "Messages Name State Mode Priority Conments Deneme Enabled Enforce O

Ardından oluşturduğumuz bütün kuralları Get-Trasportrule komutu ile bütün kuralları çekebilirsiniz.

PS Get—TransportRuIe Name State Mode Priority Conments Deneme Enabled Enforce O

Bu oluşturduğumuz kuralın bütün detaylarını ise aşağıdaki komutla çekebilirsiniz.

Get-TransportRule -Identity “Deneme” |fl *

PS PSComputer Name Runs paceld PSSh0iComputer Name 01 pPoI i cy 01 pPoI i cyld Comments Manual Iy•Modifi ed Activati onDate Expi r yDat e Descr i pti on Get—Tr ansportRu e —Identity "Denene" I fl . outlook.office365.com : d3e20093-09f9-4ea9-84f6-28df188d4c1d : False : oooooooo-oooo-oooo-oooo-oooooooooooo . False . If the message: recipients •s address dcnain portion belongs to any of these domains: 'denene.cun• Take the following actions:

PowerShell ile yapabileceğiniz şeyler sınırlı değil, bu nedenle gerisi PowerShell bilginize kalmış. TransportRule ile ilgili olan bütün komutlara PowerShell Transport Rule sayfasından erişebilirsiniz.

Ayrıca kaynak makale olarak da bu makaleyi de önerebilirim.

Umarım yararlı bir makale olmuştur. Daha detaylı bilgiler için daha önce yazmış olduğum sayfalarda genel bilgiler bulabilirsiniz. Ek olarak aşağıdaki makaleleri ara sıra kontrol edebilirseniz, bu makaleleri duruma göre sürekli güncelliyorum yeni bilgiler edinebilirsiniz.

Makalelere yorum atarak ya da yan tarafta bulunan formu doldurarak abone de olabilirsiniz. Umarım faydalı bir makale olmuştur, keyifli çalışmalar dilerim.