Merhaba,
Önceki yazılarımda regex yapısını çeşitli örnekler ile inceledik. Bu yazımda, Exchange 2013 DLP(Data Loss Prevention) özelliğinde ve regex kullanımını, özelleştirilmiş bir örnek üzerinde inceleyelim.
İnceleyeceğimiz örnek ve smtp sistemim hakkında bilgi vereyim.İki adet e-mail domain’imiz mevcut.
@nwtraders.msft domain’inde hizmet veren smtp server, Exchange Server 2013’ün deneme sürümüdür.
@bcadlptest.local domain’inde hizmet veren smtp server, IceWarp Server’ın deneme sürümüdür.
Exchange 2013 üzerinde yeni bir DLP policy oluşturacağım. DLP policy, e-mail akışını kontrol ederek bir regex ile eşleşme arayacak. Regex olarak 4{3}\d-9{4}-\y{3}. modelini kullandım. Bu regex ile eşleşebilecek yapılar aşağıdaki gibi olacaktır. Örnekler arttırılabilir. Bazı örnekleri aşağıda aktardım.
Kullandığım regex’te y karakteri bir metacharacter olmadığı için, önündeki \ escape metacharacter’i önemsiz gibi görünebilir. Bir metacharacter’in önüne \ escape metacharacter’i eklenmesi durumunu ve kullanım örneklerini Bölüm 1 ‘de incelemiştim.
Seçeceğiniz regex ile ilgili eşleşmeleri, üstte görülen siteden veya kaynaklar kısmında belirttiğim diğer sitedeki regex tester’dan kontrol edebilirsiniz.
E-mail akışında, üstteki regex ile eşleşen e-mail’ler için bir aksiyon belirleyeceğiz. Eşleşen e-mail reddedilecek ve gönderici bilgilendirilecek.
Exchange 2013’de Builtin olarak gelen bir Classification Rule Collection mevcut olup ön tanımlı sensitive information type’lar, bu collection içinde tanımlanmıştır.Builtin collection’ı görüntülemek veya bir XML dosyasına export etmek için aşağıdaki cmdlet’leri kullanabilirsiniz.
Custom ile başlayan collection’ı ben oluşturmuştum, yazının devamında açıklayacağım. Microsoft ile başlayan collection builtin olarak gelen collection’dır. Bunu export ederek içeriğine bakabilirsiniz. İçeriğe bakıldığında, builtin collection’da da çeşitli regex yapıların kullanıldığını görmekteyiz.
Builtin Classification Rule Collection’ını ve diğer custom collection’ları export etmek için aşağıdaki cmdlet ’leri kullanabilirsiniz.
Şimdi kullanmak istediğimiz regex’i barındıran bir XML dosyası hazırlayarak Exchange yapısına import edelim. Hazırladığım XML dosyası örneği aşağıdaki gibidir.
XML dosyasını hazırlamak için TechNet’teki yazılardan veya Internet’te bulabileceğiniz muhtelif yazılardan faydalanabilirsiniz. Kaynaklar kısmında, incelediğim web sitelerinin tamamını paylaştım. Siz de aynı veya farklı bir regex kullanarak yukarıda görünene benzer bir XML dosyası hazırlayarak testler yapabilirsiniz.
XML dosyasını import etmek için üstteki cmdlet’i kullanınız. CMDLET’leri copy/paste yapmak yerine, cmdlet’in help’inden faydalanarak kendiniz yazınız. Alfa-numerik veya non-alfanumerik karakterlerde hatalar olabiliyor.
Import edilen collection’ı görüntülemek için üstteki cmdlet yeterlidir.
Import edilen collection’ın detaylarına(detaylar önemsiz) bakmak isterseniz üstteki pipeline’ı kullanabilirsiniz. Bu işlemlerden sonra, Exchange Admin Center’dan DLP Policy’mizi oluşturacağız.
Compliance Management –> Data Loss Prevention kısmını açınız.
Custom DLP Policy oluşturacağız. Policy içinde kullanacağınız rule’u oluştururken, daha önce import ettiğimiz sensitive information’ını bulmaya yarayacak olan collection’ı(içinde regex’imizin geçtiği) kullanacaksınız. Bu collection, Exchange Admin Center’da sensitive information type olarak geçmektedir. Oluşturmuş olduğum DLP policy’sinin ve içinde geçen rule’un detaylarını aşağıda aktardım.
Prod ortamınızda uygulamadan önce, gerekli testleri yapınız. Lab üzerinde denemeler yaptığım için Enforce ile devam ediyorum.
rules kısmını “edit” ile açınız.
Apply this rule if… kısmında, üstte görünen kriteri seçiniz. Aşağıda görünen sensitive information types’dan daha önce import ettiğiniz type’ı seçiniz.
Bu adımlardan sonra DLP policy hazırlama işlemi tamamlanmış olacak. DLP Policy içinde oluşturduğumuz rule da, transport rule’lar arasında yerini alacak! Şimdi bir kaç test yapabilirsiniz.
Yaptığım testlerin ekran görüntüsünü aşağıda paylaşıyorum.
– nwtraders e-mail domain’inden bcadlptest.local e-mail domain’ine bir kaç e-mail gönderdim.
– bcadlptest.local e-mail domain’inden nwtraders.msft e-mail domain’ine bir kaç e-mail gönderdim.
Üstteki e-mail’de regex ile eşleşen kısım e-mail’in subject’indedir.
Üstteki e-mail’de regex ile eşleşen kısım e-mail’in body’sindedir.
Üstteki e-mail’de regex ile eşleşen kısım body’dedir ve üstteki e-mail IceWarp Smtp sisteminden Exchange Smtp sistemine gönderilmiştir. Dilerseniz, regex ile eşleşebilecek modelleri e-mail’in ekindeki bir dosyaya yazarak dosyanın gönderimini test edebilirsiniz. Ek içinde de eşleşme olması durumunda e-mail gönderimi iptal edilerek gönderciye geribildirim yapılmaktadır.
Eşleşme olan e-mail’lerin message tracking log’ları, aşağıdaki log’a benzer olacaktır.
Exchange 2013 DLP sisteminde tanımlanan DLP rule’ları Exchange Transport katmanına ilave yük getirecektir.Performans problemleri yaşamamak için, Exchange 2013 üzerindeki DLP özelliğini devreye almadan önce, Exchange Organizasyonu dizaynınızı yeniden değerlendirmeniz gerekebilir.
Önceki yazılarımda çeşitli örnekler üzerinde regular expression yapısını incelemiştim. Bu yazımda da Exchange 2013 üzerindeki Data Loss Prevention özelliği ile regex’in kullanımına dair, özelleştirilmiş bir örnek incelemiş olduk.
“Kurumsal Bilgi Güvenliği” ve “Kurumsal Bilgi Yönetimi” yaklaşımında, DLP’nin önemini anlatmaya gerek yok diye düşünüyorum. Burada amacım gelişmiş Data Loss Prevention sistemleri ile Exchange 2013 üzerinde DLP özelliğini karşılaştırmak değildir. Hemen her DLP sisteminde, ön tanımlı ve özelleştirilmiş regular expression yapıları kullanılmaktadır.
Herkese sorunsuz ve neşeli günler dilerim.
Kaynaklar:
https://technet.microsoft.com/en-us/library/jj674704%28v=exchg.150%29.aspx
http://www.guidgenerator.com/online-guid-generator.aspx
http://aydogmusoglu.com/regular-expression-blm-1.html
https://technet.microsoft.com/en-us/library/jj674703(v=exchg.150).aspx
https://justaucguy.wordpress.com/2014/11/21/adventures-in-custom-dlp-rules-part-one/
http://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom
https://technet.microsoft.com/en-us/library/dn479225(v=exchg.150).aspx