Kurallı İfadelerle Exchange 2013 Veri Sızıntısı Önleme (DLP)

Kendi blog sayfamdaki regular expression yani Türkçe ifadesiyle kurallı ifadeler yazı dizisinde (bölüm 1 ve bölüm 2) kurallı ifadelerin (regex) ne olduğunu ve yapısını etraflıca inceledik. Sibergah’taki bu yazımda, Exchange 2013 DLP (Data Loss Prevention) özelliğinde regex kullanımını bir örnek üzerinde inceleyelim.

 

İnceleyeceğimiz örnek ve smtp sistemim hakkında bilgi vermek istiyorum. İ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:

regex-ornek

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 inceledim. Seçeceğiniz regex ile ilgili eşleşmeleri, http://regexr.com‘den 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 yerleşik (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:

Get-ClassificationRuleCollection

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-collection

 

Ş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:

dlp-regex-xml

XML dosyasını hazırlamak için TechNet’teki yazılardan veya internette 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 alttaki 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:

New-ClassificationRuIeCoIIection -FileData -Path "<file name and full path>" -Encoding Byte -ReadCount 0))

Import edilen collection’ı görüntülemek için de alttaki cmdlet yeterlidir:

Get-ClassificationRuleCollection

 

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. ‘+’ simgesine basıp 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:

exchange-edit-dlp

Canlı ortamınızda (prod) uygulamadan önce gerekli testleri yapınız. Lab üzerinde denemeler yaptığım için Enforce ile devam ediyorum. Ardından rules kısmını “edit” ile açınız:exchange-edit-rule-dlp

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:

exchange-2013-dlp-sensitive-information-types

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 birkaç e-mail gönderdim.
  • bcadlptest.local e-mail domain’inden nwtraders.msft e-mail domain’ine birkaç e-mail gönderdim.

 

Alttaki e-mail’de regex ile eşleşen kısım e-mail’in subject’indedir:

exchange-2013-mail-dlp-reject-1

 

Alttaki 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 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öndericiye geribildirim yapılmaktadır:

exchange-2013-mail-dlp-reject-2

Eşleşme olan e-mail’lerin message tracking log’ları, aşağıdaki log’a benzer olacaktır:

exchange-2013-dlp-log

 

Exchange 2013 veri sızıntısı önleme (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. Bu yazımda da Exchange 2013 üzerindeki Data Loss Prevention özelliği ile regex’in kullanımına dair özelleştirilmiş bir örneği 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:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir