E Posta çözümleri çokta temiz bir alan olmadığını hepimiz biliyoruz. Spam, kötü niyetli atılmış mailler, kurumu zarara uğratacak ve itibarını zedeleyecek içerikleri mail gatewayler ya da oluşturulan diğer çözümler her zaman önüne geçemeyebilmekte. Ya da yanlıkşıkla kurum içerisinde atılmış bir mail vb. süreçlerde ilgili maillerin tespit edilip silinmesi gerekebilmekte. Tehtidi en aza indirebilmek için biz sistem yöneticileri ya da bu işle ilgilenen arkadaşların çok hızlı şekilde olaylara müdahale etmesi gerekebilmekte.
Bu yazımızda, Office 365 posta kutularındaki kötü amaçlı ya da ihtiyaç duyulan mailleri aramak ve silmek için Office 365 Secuirty and Compliance powershell cmdletlerini nasıl kullanacağımızı ele alacağız.
Security & Compliance Center üzeridne yetkilerimizi ele alalım. Aşağıdaki Microsoft dokümantasyonunu kullanabiliriz.
https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/permissions-in-the-security-and-compliance-center?view=o365-worldwide
Hesabınızın Office 365 üzerinde mail arama ve silme işlemleri için gerekli izne sahip olması gerekir.
- Posta kutularını aramak için izin gerekli: Posta kutularını aramak için izin gerekli: Hesap, eDiscovery Manager rol grubunun bir üyesi olmalı veya Uyumluluk Arama yönetimi rolüne atanmalıdır.
- Mesajları silmek için izin gerekli: Hesap, Kuruluş Yönetimi rol grubunun bir üyesi olmalı veya Ara ve Temizle yönetim rolüne atanmalıdır.
- Mesajları önizlemek için izin gerekli: Hesap, eDiscovery Manager rol grubunun bir üyesi olmalı veya Önizleme yönetimi rolüne atanmış olmalıdır.
Powershell üzerinden bağlantı Office 365 Security & Compliance Center ile yapılması gerekli. Nasıl yapıldığını aşağıdaki bağlantıdan inceleyebilirsiniz.
https://docs.microsoft.com/en-us/powershell/exchange/scc-powershell?view=exchange-ps https://docs.microsoft.com/en-us/powershell/exchange/connect-to-scc-powershell?view=exchange-ps https://docs.microsoft.com/en-us/powershell/exchange/connect-to-scc-powershell?view=exchange-ps
Silinecek mailler hakkında bilgi toplanmalı,
Gönderenin mail adresi nedir? Mesaj konu başlığı nedir? Mailin atılma tarihi nedir? Alıcılar kimler vb.
Mesajla ilgili ihtiyaç duyduğunuz tüm bilgilere sahip olduğunuzdan emin olduğunuzda, PowerShell’i çalıştırmanın ve içerik aramayı oluşturmaya başlamanın zamanı gelmiştir.
Test amaçlı aşağıdaki konu ve gönderilme tarihlerini baz alalım.
Subject: test Sent: 02/11/2020
New-ComplianceSearch kullanılarak, yukarıda listelenen mesaj özellikleri bir arama sorgusu oluşturmak için kullanılacaktır. Arama sonuçlarını olabildiğince doğru tutmanın anahtarı, yeterince formüle edilmiş arama kriterlerine bağlıdır.
New-ComplianceSearch cmdlet’i birkaç parametre ve anahtarla birlikte gelir. Ancak posta kutusu içerik araması oluşturmak için bunlar kullanılacak parametrelerdir.
Name – Bu, içerik arama nesnesine atanacak adı kabul eder. Bu herhangi bir isim olabilir, çok fazla düşünmenize gerek yoktur.
ExchangeLocation – Bu, arama tarafından hedeflenecek olan Exchange konumunu kabul eder. Bu bir grup veya posta kutusu olabilir. Bu makalede, aramada tüm posta kutularını hedeflediğinizden emin olmak için kullanılacak değer tümüdür.
ContentMatchQuery – Bu parametre, arama sonuçlarının doğruluğunu belirleyecek ana faktördür. Kabul edilen sorgu biçimi, bir KQL veya Keyword Query Language biçimindedir.
İçerik aramada anahtar kelimeleri kullanma hakkında daha fazla bilgi edinmek için Anahtar Kelime sorgularını ve İçerik Arama sayfasına yönelik arama koşullarını ziyaret edin.
https://docs.microsoft.com/en-us/microsoft-365/compliance/keyword-queries-and-search-conditions?view=o365-worldwide
İçerik araması oluşturmak için aşağıdaki kodu kopyalayın ve PowerShell konsolunuza yapıştırın. Parametre değerlerini durumunuza uygun şekilde değiştirdiğinizden emin olun. Bu örnekte, aramanın adı Phish1’dir, sorgu konuyu ve gönderilen özellik değerlerini birleştirir.
New-ComplianceSearch ` -Name Test1 ` -ExchangeLocation All ` -ContentMatchQuery 'subject:"test" AND sent:02/11/2020'
Bu noktada, içerik arama işi oluşturuldu, ancak arama duruma göre (Başlatılmadı) henüz tetiklenmedi.
İçerik aramasını başlatmak için Start-ComplianceSearch cmdlet’ini kullanın. Cmdlet’e -Identity parametresini sağlamanız ve oluşturduğunuz içerik arama işinin adını belirtmeniz gerekir.
Office 365 e-posta içeriği aramasını başlatmak için aşağıdaki kodu kopyalayın ve PowerShell konsolunuza yapıştırın.
Start-ComplianceSearch -Identity Test1
Yukarıdaki kodu çalıştırdıktan sonra, ekranda herhangi bir çıktı olmayacaktır. Bundan sonra yapmanız gereken şey, aramanın durumunu izlemektir. Arama durumunu izlemek için PowerShell’de aşağıdaki kodu kullanın.
Get-ComplianceSearch -Identity Test1
Yukarıdaki kodu çalıştırdığınızda, içerik arama işi durumunun Completed olduğunu gösterir.
Yukarıdaki çıktıdan, döndürülen özelliklerin sınırlı olduğunu ve bulunan eşleşme sayısını göstermediğini fark edeceksiniz. İçerik arama sonucunun tüm özelliklerini almak için aşağıdaki komutu çalıştırabilirsiniz.
Get-ComplianceSearch -Identity Test1 | Format-List *
Bu komut sonrası yapılan aramanın sonuçları kaç adet ilgil başlıklı mail olduğu Items sekmesinde gözükür, Size sekmesinde kapladığı alan bilgileri listelenir.
Arama kriterleriyle eşleşen mesajları silmek için, -Purge anahtarı ve -PurgeType parametresiyle New-ComplianceSearchAction cmdlet’ini kullanarak bir temizleme işi oluşturmanız gerekir.
Temizleme işini yaratma kodu aşağıda gösterilmektedir. Kodu kopyalayın ve çalıştırmak için PowerShell’e yapıştırın.
New-ComplianceSearchAction -SearchName Test1 -Purge -PurgeType SoftDelete
-PurgeType SoftDelete parametresinin / değerinin iletileri kaldıracağını ve bunları posta kutusundaki Kurtarılabilir Öğeler klasörünün içindeki Silme klasörüne koyacağını unutmayın. Bu, gerekirse mesajın yine de kurtarılabileceği anlamına gelir.
Temizleme tamamlandığında, aşağıdaki komutu kullanarak nihai sonucu görüntüleyebilirsiniz. Kaç adet mail silindiği, hangi Purge Type ile silindiği vb.
Get-ComplianceSearchAction -Identity Test1_Purge | Format-List
İşlem sonucunda belirtilen özellikler ile maillerin silindiğini görmüş olduk.
Kaynak;
https://docs.microsoft.com/en-us/microsoft-365/compliance/search-for-and-delete-messages-in-your-organization?view=o365-worldwide https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/permissions-in-the-security-and-compliance-center?view=o365-worldwide https://docs.microsoft.com/en-us/microsoft-365/compliance/keyword-queries-and-search-conditions?view=o365-worldwide
Kendime not için genel anlatımın yanı sıra hızlı bir örnek şablon ekleyeyim.
Connect-IPPSSession -UserPrincipalName o365username@aaa.com New-ComplianceSearch ` -Name spam1 ` -ExchangeLocation All ` -ContentMatchQuery '(from:onurbabur@xxx.com AND to:onur.babur@xxx.com AND subject:test)' Start-ComplianceSearch -Identity spam1 Get-ComplianceSearch -Identity spam1 | Format-List * New-ComplianceSearchAction -SearchNames spam1 -Purge -PurgeType SoftDelete Get-ComplianceSearchAction -Identity spam1_Purge | Format-List
Bi sonraki yazılarımızda görüşmek üzere,