PowerShell Kullanarak Office 365 Kullanıcılarının Oturum Açma Geçmişi Raporunu CSV'ye Aktarma
Oturum açma çoğu saldırı modelinde ortak bir etkinliktir. Office 365 kullanıcısının oturum açma etkinliklerini takip etmek, olası güvenlik ihlallerini ve şüpheli davranışları tespit etmede çok önemlidir.
Office 365 Kullanıcı oturum açma geçmişini almak için Office 365 Güvenlik ve Uyumluluk veya PowerShell'i kullanabilirsiniz. Ancak Güvenlik ve Uyumluluk Merkezi'nde yalnızca başarılı oturum açma girişimlerinin geçmişini alabilirsiniz. Başarısız Office 365 kullanıcısının oturum açma girişimlerini izlemez. Başarısız oturum açma denemelerini almak için filtreler kullansanız bile, bu başarısız oturum açma denemelerini tek başına dışa aktaramazsınız.
Office 365 kullanıcılarının tüm başarılı ve başarısız oturum açma girişimlerini denetlemek için PowerShell en iyi çözümdür. PowerShell cmdlet'i Search-UnifiedAuditLog, belirli bir aralıktaki tüm etkinlikleri izlemek için kullanılır. Başarılı oturum açma denemelerini ve başarısız oturum açma denemelerini filtrelemek için tüm olayları işlemeniz gerekir. Arama-UnifiedAuditLog'u kullanarak Denetim günlüklerini almak kolay bir iş değildir. Aşağıdaki zorluklara sahiptir.
Not: Kullanıcıların etkinlik dışı durumunu kontrol etmek için oturum açma geçmişi raporuna güveniyorsanız, etkin olmayan kullanıcılar raporu oluşturmak için özel komut dosyamızı kullanmanızı öneririz. Bu komut dosyası, hem etkileşimli hem de etkileşimli olmayan oturum açma işlemleriyle ilgili kapsamlı ayrıntılar sağlayarak kullanıcı etkinliğinin daha kapsamlı bir analizini sağlar.
Search-UnifiedAuditLog kullanımındaki zorluklar:
- Her Arama-UnifiedAuditLog çağrısı için maksimum 5000 kayıt alabilirsiniz. Bu, ResultSize parametresi kullanılarak elde edilebilir. ResultSize'i kullansanız bile belirtilen aralıkta kaç kayıt bulunduğunu garanti edemezsiniz. Tüm kayıtları alana kadar Search-UnifiedAuditLog'u SessionId ile tekrar tekrar aramanız gerekir.
- SessionId'i kullansanız bile belirli bir dönem için 50.000 kayıt alabilirsiniz. Limiti aşarsanız tüm kayıtları alamazsınız.
- Bir sonuç aldıktan sonra, kullanıcıların oturum açma girişimlerini (hem başarılı hem de başarısız oturum açma girişimleri) tonlarca denetim girişi arasından filtrelemeniz gerekir.
Merak etme! Sizin için çalıştık ve hem başarılı hem de başarısız giriş denemelerini içeren kullanıcı dostu bir PowerShell komut dosyası - Office 365 kullanıcılarının giriş geçmişi raporu hazırladık. Ayrıca komut dosyası, başarılı oturum açma denemelerini, başarısız oturum açma denemelerini, belirli bir kullanıcının veya kullanıcı listesinin oturum açma geçmişini, belirli bir dönemdeki oturum açma geçmişini vb. almak için daha gelişmiş filtreleme seçeneklerine sahiptir.
Komut Dosyasını İndirin: O365UserLoginHistory.ps1
Komut Dosyasında Öne Çıkanlar:
- Komut dosyası, Exchange Online'a bağlanmak için modern kimlik doğrulamayı kullanır.
- Başarılı ve başarısız oturum açma girişimlerine göre sonucu filtrelemenize olanak tanır.
- Dışa aktarılan raporda Office 365 kullanıcılarınızın giriş yaptığı IP adresleri bulunur.
- Bu komut dosyası MFA'nın etkin olduğu hesap ile çalıştırılabilir.
- "Tüm Office 365 kullanıcılarının oturum açma girişimleri " veya "Belirli Office kullanıcısının oturum açma girişimleri " seçeneğini seçmek için raporu dışa aktarabilirsiniz.
- Gelişmiş filtreleme seçeneklerini kullanarak “Office 365 kullanıcıları Oturum açma raporu” ve “Şüpheli giriş raporu”nu dışa aktarabilirsiniz.
- Rapor sonucunu CSV'ye aktarır.
- Onayınız üzerine EXO V2 modülünü otomatik olarak yükler(henüz kurulmamışsa).
- Bu komut dosyasıplanlayıcı dostudur. Yani, kimlik bilgileri betiğin içine kaydedilmek yerine parametre olarak iletilebilir.
- Oturum açma geçmişi raporumuz, AzureActiveDirectory (UserLoggedIn, UserLoginFailed), ExchangeOnline (MailboxLogin) ve MicrosoftTeams (TeamsSessionStarted) içindeki oturum açma etkinliklerini izler.
Örnek Çıktı:
Dışa aktarılan giriş geçmişi raporu aşağıdaki ekran görüntüsüne benzer
Not: 'Microsoft Teams' girişinde IP adresi ve Sonuç durumu sütunu bulunmadığından boş olarak gösterilir. Search-UnifiedAuditLog'da yalnızca başarılı Teams girişleri yakalanır. Dolayısıyla, dışa aktarılan raporda 'Microsoft Teams' oturum açma bilgileri mevcutsa bunu başarılı oturum açma denemeleri olarak değerlendirin.
Nasıl Yapılır: Office 365 Kullanıcılarının Oturum Açma Geçmişi PowerShell Komut Dosyasını Yürütme:
1. Yöntem: Komut dosyasını MFA veya MFA olmayan bir hesapla yürütün
./O365UserLoginHistory.ps1Yöntem 2: Kimlik bilgilerini açıkça belirterek komut dosyasını yürütün (Zamanlayıcı dostu).
./O365UserLoginHistory.ps1 -AdminName admin@contoso.com -Password XXX“O365 Kullanıcı Giriş Geçmişi Raporunu Dışa Aktar” Komut Dosyasının Tüm Potansiyelini Açığa Çıkarın:
- Office 365 kullanıcılarının son 90 güne ait oturum açma geçmişini dışa aktarın
- Office 365 kullanıcılarının oturum açma geçmişini belirli bir aralıkta alın
- Belirli Office 365 kullanıcısının oturum açma geçmişini dışa aktarma
- Belirli kullanıcılar için Office 365 oturum açma geçmişini listeleme
- Office 365 kullanıcılarının başarısız oturum açma girişimleri raporunu dışa aktarma
- Office 365 kullanıcılarının oturum açma raporunu dışarı aktarma (başarılı oturum açma girişimleri)
- Birden çok filtreleme parametresi kullanılarak daha ayrıntılı bir rapor dışa aktarılabilir.
- Office 365 kullanıcılarının oturum açma geçmişini planlama PowerShell betiği
Office 365 Kullanıcılarının Son 90 Gündeki Oturum Açma Geçmişini Dışa Aktarma:
Arama-UnifiedAuditLog'un geçmiş 90 günlük verileri olduğundan, komut dosyamızı kullanarak maksimum 90 günlük giriş denemelerini alabiliriz. Office 365 kullanıcılarını 90 günlük oturum açma denemelerinden sonra dışarı aktarmak için betiği aşağıda belirtildiği gibi çalıştırın.
./O365UserLoginHistory.ps1Belirli bir aralıkta Office 365 kullanıcılarının Giriş Geçmişini dışa aktarın:
Kullanıcıların belirli bir süre içinde oturum açma denemelerini alabilmek için, komut dosyası yürütülürken başlangıç ve bitiş zamanlarını belirtmeniz gerekir. -StartDate ve -EndDate paramlarını ileterek elde edilebilir.
./O365UserLoginHistory.ps1 -StartDate 11/20/19 -EndDate 11/25/19Tarih formatı AA/GG/YY formatına uygun olmalıdır. Yukarıdaki komut dosyası, 20 Kasım 2019'dan 25 Kasım 2019'a kadar tüm Office 365 kullanıcılarının oturum açma denemelerini dışa aktaracaktır.
Tek Kullanıcının Giriş Geçmişi Raporunu Dışa Aktarma:
Belirli bir kullanıcının oturum açma geçmişini dışa aktarmak için komut dosyasını -KullanıcıAdı paramıyla yürütün.
./O365UserLoginHistory.ps1 -UserName john@contoso.comDışa aktarılan rapor john@contoso.com'un oturum açma geçmişini içerir.
Belirli Kullanıcılar için Office 365 Oturum Açma Geçmişini Dışa Aktarma:
Birden fazla kullanıcı için Office 365 Giriş geçmişini almak istiyorsanız kullanıcı adlarını -KullanıcıAdı parametresini virgülle ayrılmış değerler olarak kullanarak iletebilirsiniz.
./O365UserLoginHistory.ps1 -UserName "admin@contoso.com,hr@contoso.com"Dışa aktarılan rapor, yöneticinin ve saat kullanıcısının giriş geçmişini içerir.
Office 365 Kullanıcılarının Başarısız Giriş Denemeleri Raporunu Dışa Aktarma:
Office 365 kullanıcılarının başarısız oturum açma denemeleri raporu, şüpheli etkinlikleri analiz etmede en kullanışlı yöntemdir. Başarısız oturum açma girişimlerini dışa aktarmak için komut dosyasını -Failed switch parametresiyle yürütün.
./O365UserLoginHistory.ps1 -FailedVarsayılan olarak son 90 günün denetim kayıtlarını döndürür. Raporu daraltmak istiyorsanız -StartDate ve -EndDate paramlarını kullanarak zaman aralığından bahsedebilirsiniz.
Office 365 oturum açma IP adresini kullanarak kullanıcının/saldırganın Office 365'e nereden oturum açmaya çalıştığını takip edebilirsiniz.
Office 365 Kullanıcılarının Oturum Açma Raporunu Dışa Aktarma:
Office 365 kullanıcılarının oturum açma raporu, kullanıcıların Office 365'e başarılı bir şekilde giriş yapmasını içerir. Office 365 kullanıcılarının oturum açma raporunu dışa aktarmak için komut dosyasını -Success anahtar parametresiyle çalıştırmanız gerekir.
./O365UserLoginHistory.ps1 -SuccessOffice 365 Kullanıcılarının Oturum Açma Geçmişi Raporunu Birden Çok Filtreyle Dışa Aktarma:
Varsayılan olarak bu PowerShell betiği birden fazla gelişmiş filtreleme seçeneğini destekler. Yürütme süresi boyunca bir veya daha fazla filtre kullanabilirsiniz. Burada bazı kullanım durumlarını listeledim.
- Belirli bir O365 kullanıcısının geçen hafta gerçekleştirilen tüm başarılı ve başarısız oturum açma denemelerini dışa aktarmak için komut dosyasını aşağıdaki gibi çalıştırabilirsiniz.
./O365UserLoginHistory.ps1 -UserName Admin@Contoso.com -StartDate 11/21/19 -EndDate 11/28/19- Tüm Office 365 kullanıcılarının belirli saatlerde gerçekleştirdiği başarısız oturum açma denemelerini dışa aktarmak.
./O365UserLoginHistory.ps1 -Failed -StartDate “11/28/19 12 AM" -EndDate “11/28/19 6 PM"Office 365 Kullanıcılarının Giriş Geçmişini Planlama PowerShell Komut Dosyası:
Arama-UnifiedAuditLogson 90 güne ait verilere sahip olduğundan, analiz için eski denetim günlüklerine ihtiyacınız olabilir. Bu durumda planlama önemli bir rol oynar.
'O365 kullanıcılarının oturum açma geçmişi PowerShell komut dosyasını otomatikleştirmek' için Görev Zamanlayıcı'yı kullanabilirsiniz. Komut dosyasını 90 günde bir çalışacak şekilde planlarsanız dışa aktarılan rapora istediğiniz zaman erişebilirsiniz. Böylece, yıllarca süren denetim günlüklerini daha fazla analiz olarak saklayabilirsiniz.
Planlama sırasında -AdminName ve -Password parametrelerini kullanarak kimlik bilgilerini iletebilirsiniz.
./O365UserLoginHistory.ps1 -AdminName Admin@contoso.com -Password XXXXXXX
Powershell komut dosyasını planlama hakkında daha fazla bilgi edinmek için blogumuza bakın: Görev Zamanlayıcı'yı kullanarak PowerShell komut dosyasını zamanlama.
Daha Ayrıntılı Office 365 Giriş Raporu Alın:
Daha ayrıntılı Office 365 oturum açma raporları almak için
Kullanıcı Girişleri
- Tüm kullanıcı oturum açma işlemleri
- Başarısız kullanıcı oturum açma işlemleri
- Başarılı kullanıcı girişi
- Kullanıcının son oturum açma zamanı
- Kullanıcıların günün ilk oturum açma zamanı
- Kullanıcıların aylık giriş sayısı özeti
Güvenlik
- Yönetici oturum açma bilgileri
Office 365 hizmeti tabanlı oturum açma işlemleri
- Outlook oturum açma geçmişi
AdminDroid Microsoft 365 raporlama ve denetleme aracına göz atabilirsiniz.
Ek olarak AdminDroid, Office 365 ortamınız hakkında bir bakışta bilgi sahibi olmanızı sağlayacak 1500'den fazla önceden oluşturulmuş rapor ve görsel olarak çekici 20 akıllı kontrol paneli sağlar. Bu araç, Office 365 raporlaması, denetimi, analizi, kullanım istatistikleri, güvenlik ve uyumluluk vb. hakkında raporlar sağlar.
Ayrıca AdminDroid 100'den fazla rapor ve bir avuç kontrol panelini tamamen ücretsiz olarak sağlar. Kullanıcılar, Lisanslar, Gruplar, Grup Üyeleri, Cihazlar, Oturum Açma Etkinlikleri, Parola Değişiklikleri, Lisans Değişiklikleri ve daha fazlası hakkında raporlar içerir. Ücretsiz sürümde özelleştirme, planlama ve dışa aktarma gibi raporlama işlevlerinde herhangi bir kısıtlama yoktur. Azure AD raporlama ve denetim ihtiyaçlarınız için AdminDroid'in Ücretsiz Office 365 raporlama aracını indirebilir ve size nasıl yardımcı olduğunu görebilirsiniz.
Bu blogun başarılı ve şüpheli giriş denemelerini analiz etmede faydalı olacağını umuyorum. Sorularınız veya gereksinimleriniz varsa yorum bölümü aracılığıyla bizimle paylaşın.




