Office 365 Audit Log Export & Send Mail via Powershell

Office 365 üzerinde kullanıcı ya da yetkili hesapların aktivitelerini belirli zamanlarda kontrol etmemiz ya da kanıt olarak saklamamız gerektiği durumlar ile karşılaşabiliyoruz.

Bunun için O365 ile entegre olabilen SIEM kullanmanız ya da Microsoft’un yakın zamanda duyurduğu Azure Sentinel (SIEM) çözümünü kullanabiliyorsunuz.

Azure Sentinel ile ilgili bir yazdığım makale serisine aşağıdaki linkten erişebilirsiniz.

Azure Sentinel & Bölüm1 

Bu senaryoda ise herhangi bir SIEM çözümünüz olmadığını düşünelim, bildiğiniz üzere O365 Audit Log geriye dönük 90 günlük veri tutuyor. Bu arada E5 lisansına sahip olan kullanıcılar için tarih aralığının daha fazla olacağını buradan da belirtmekte fayda var.

https://docs.microsoft.com/en-us/office365/securitycompliance/search-the-audit-log-in-security-and-compliance

Senaryomuza geri dönecek olursak;

Office 365 üzerinden hizmet alan ve spesifik kullanıcılar için Audit Log’larını kayıt altına almak ve saklamak ihtiyacınız var ise PowerShell Script ile belirlemiş olduğunuz kullanıcıların Audit Loglarını export ederek istenilen kişiye mail atmasını sağlayabilirsiniz.

Script O365 hizmetine otomatik olarak bağlanarak çalıştığı ve çalıştığı tarihi baz alarak geriye dönük 30 gün için arama yaptığından çalıştıracağınız sunucu ya da PC üzerinden Görev zamanlayıcısı olarak ayarlarsanız istediğiniz tarihlerde otomatik olarak export edip mail atacaktır.

Eğer Audit Log dosyası gerçekten mail atamayacak büyüklükte ise Timeout düşerek sadece export yapacaktır.

Office 365 Audit Log Export -Send Mail via Powershell

Office 365 Audit Log Export -Send Mail via Powershell

Scprit’in çalışabilmesi için aşağıdaki değerleri O365 hizmetinize özel olarak girmeniz gerekmektedir.

Script’e aşağıdaki linkten erişebilirsiniz.

https://github.com/ozgurcebi/Azure-Powershell-Samples/blob/master/ExportAndSendMail-O365AuditLog.ps1

Faydalı olması dileğimle…