Microsoft Sentinel'de olay görevlerinde yapılan değişiklikleri denetleme ve izleme
Olay görevleri , tüm SOC personelinde olayların kapsamlı ve tekdüzen bir şekilde işlenmesini sağlar. Görev listeleri genellikle üst düzey analistler veya SOC yöneticileri tarafından yapılan belirlemelere göre tanımlanır ve otomasyon kuralları veya playbook'lar kullanılarak uygulamaya alınır.
Analistleriniz, olay ayrıntıları sayfasında belirli bir olay için gerçekleştirmeleri gereken görevlerin listesini görebilir ve tamamlandı olarak işaretleyebilir. Analistler ayrıca doğrudan olayın içinden el ile kendi görevlerini de oluşturabilir.
Bu makalede, bir SOC yöneticisi olarak görev atamalarınızın etkinliğini ve SOC'nizin verimliliğine ve düzgün çalışmasına katkılarını ölçmek için Microsoft Sentinel olay görevlerinin geçmişini nasıl denetleyebileceğiniz ve yaşam döngüleri boyunca bu görevlerde yapılan değişiklikleri nasıl izleyebildiğiniz açıklanır.
SecurityIncident tablosundaki Görevler dizisinin yapısı
SecurityIncident tablosu bir denetim tablosudur; olayları değil, bir olayın yaşam durumunun kayıtlarını depolar: oluşturulması ve yapılan değişiklikler. Bir olay oluşturulduğunda veya bir olayda değişiklik yapıldığında, bu tabloda olayın şimdi geçerli durumunu gösteren bir kayıt oluşturulur.
Bu tablonun şemasına görev ayrıntılarının eklenmesi, görevleri daha ayrıntılı bir şekilde denetlemenizi sağlar.
Görevler alanına eklenen ayrıntılı bilgiler, aşağıdaki yapıyı alan anahtar-değer çiftlerinden oluşur:
Tuş | Değer, açıklama |
---|---|
Createdby | Görevi oluşturan kimlik: - e-posta: Kimliğin e-posta adresi - name: kimliğin adı - objectId: Kimliğin GUID'i - userPrincipalName: Kimliğin UPN'i |
createdTimeUtc | Görevin oluşturulduğu saat (UTC olarak). |
lastCompletedTimeUtc | Görevin tamamlandı olarak işaretlendiği saat (UTC olarak). |
lastModifiedBy | Görevi son değiştiren kimlik: - e-posta: Kimliğin e-posta adresi - name: kimliğin adı - objectId: Kimliğin GUID'i - userPrincipalName: Kimliğin UPN'i |
lastModifiedTimeUtc | Görevin son değiştirilme zamanı (UTC olarak). |
durum | Görevin geçerli durumu: Yeni, Tamamlandı, Silindi. |
taskId | Görevin kaynak kimliği. |
Başlık | Göreve oluşturucusu tarafından verilen kolay ad. |
SecurityIncident tablosunda olay görevlerini görüntüleme
Olay görevleri çalışma kitabının dışında, Günlükler'deki SecurityIncident tablosunu sorgulayarak görev etkinliğini denetleyebilirsiniz. Bu makalenin geri kalanında bunun nasıl yapılacağı ve görev etkinliği bilgilerini almak için sorgu sonuçlarını nasıl okuyup anlayacağınız gösterilmektedir.
Günlükler sayfasında, sorgu penceresine aşağıdaki sorguyu girin ve çalıştırın. Bu sorgu, atanmış görevleri olan tüm olayları döndürür.
SecurityIncident | where array_length( Tasks) > 0
Sonuçları filtrelemek ve daraltmak için sorguya istediğiniz sayıda deyim ekleyebilirsiniz. Sonuçların nasıl görüntüleneceğini ve anlaşılacağını göstermek için, sonuçları yalnızca tek bir olayın görevlerini görecek şekilde filtrelemek için deyimler ekleyeceğiz ve ayrıca çok fazla dağınıklık olmadan yalnızca amaçlarımız için yararlı olacak alanları görebilmek için bir
project
deyim ekleyeceğiz.Kusto Sorgu Dili kullanma hakkında daha fazla bilgi edinin.
SecurityIncident | where array_length( Tasks) > 0 | where IncidentNumber == "405211" | sort by LastModifiedTime desc | project IncidentName, Title, LastModifiedTime, Tasks
Şimdi bu olayın en son kaydına bakalım ve onunla ilişkili görevlerin listesini bulalım.
Sorgu sonuçlarında üst satırın yanındaki genişleticiyi seçin (azalan düzende sıralanmıştır).
Görevler alanı, bu olaydaki tüm görevlerin geçerli durumunun bir dizisidir. Dizideki her öğeyi kendi satırında görüntülemek için genişleticiyi seçin.
Şimdi bu olayda iki görev olduğunu görüyorsunuz. Her biri sırayla genişletilebilir bir dizi ile temsil edilir. Bilgilerini görüntülemek için tek bir görevin genişleticisini seçin.
Burada dizideki ilk görevin ayrıntılarını görürsünüz ("0", görevin dizideki dizin konumudur). Başlık alanı, olayda gösterildiği gibi görevin adını gösterir.
Listeye eklenen görevleri görüntüleme
Olaya bir görev ekleyelim ve sonra buraya geri dönüp sorguyu yeniden çalıştıralım ve sonuçlardaki değişiklikleri görelim.
Olaylar sayfasında, Arama çubuğuna olay kimliği numarasını girin.
Olay ayrıntıları sayfasını açın ve araç çubuğundan Görevler'i seçin.
Yeni bir görev ekleyin, "Bu görev bir test görevi!" adını verin ve Kaydet'i seçin. Aşağıda gösterilen son görev, aşağıdakilerle sonuçlanmanız gereken görevdir:
Şimdi Günlükler sayfasına dönüp sorgumuzu yeniden çalıştıralım.
Sonuçlarda tabloda aynı olay için yeni bir kayıt olduğunu göreceksiniz (zaman damgalarını not edin). Kaydı genişletirseniz, daha önce gördüğümüz kaydın Görevler dizisinde iki görevi varken, yenisinin üç görevi olduğunu görürsünüz. En yeni görev, başlığıyla görebileceğiniz gibi yeni eklediğimiz görevdir.
Görevlerde durum değişikliklerini görüntüleme
Şimdi olay ayrıntıları sayfasında bu yeni göreve geri dönüp tamamlandı olarak işaretleyip Günlükler'e geri dönüp sorguyu yeniden çalıştırırsak, bu kez görevimizin yeni durumunu Tamamlandı olarak gösteren aynı olay için yeni bir kayıt daha göreceğiz.
Görevlerin silinmesini görüntüleme
Olay ayrıntıları sayfasındaki görev listesine geri dönelim ve daha önce eklediğimiz görevi silelim.
Günlükler'e geri dönüp sorguyu yeniden çalıştırdığımızda, yalnızca bu kez "Bu görev bir test görevi!" başlıklı görev için durum olan başka bir yeni kayıt göreceğiz. — silinecek.
Ancak, görev dizide böyle bir kez göründükten sonra (Silinmiş durumuyla), artık SecurityIncident tablosundaki bu olayın yeni kayıtlarındaki Görevler dizisinde görünmez. Yukarıda gördüklerimiz gibi mevcut kayıtlar da bu görevin bir kez var olduğuna dair kanıtı korumaya devam edecektir.
Kapalı bir olaya ait etkin görevleri görüntüleme
Aşağıdaki sorgu, bir olayın kapatılıp kapatılmadığını ancak atanan tüm görevlerin tamamlanmadığını görmenizi sağlar. Bu bilgiler, araştırmanızda kalan tüm gevşek uçların bir sonuca varıldığını doğrulamanıza yardımcı olabilir; tüm ilgili taraflara bildirildi, tüm yorumlar girildi, tüm yanıtlar doğrulandı vb.
SecurityIncident
| summarize arg_max(TimeGenerated, *) by IncidentNumber
| where Status == 'Closed'
| mv-expand Tasks
| evaluate bag_unpack(Tasks)
| summarize arg_max(lastModifiedTimeUtc, *) by taskId
| where status !in ('Completed', 'Deleted')
| project TaskTitle = ['title'], TaskStatus = ['status'], createdTimeUtc, lastModifiedTimeUtc = column_ifexists("lastModifiedTimeUtc", datetime(null)), TaskCreator = ['createdBy'].name, lastModifiedBy, IncidentNumber, IncidentOwner = Owner.userPrincipalName
| order by lastModifiedTimeUtc desc
Sonraki adımlar
- Olay görevleri hakkında daha fazla bilgi edinin.
- Olayları araştırmayı öğrenin.
- Otomasyon kurallarını veya playbook'ları kullanarak olay gruplarına otomatik olarak görev eklemeyi ve hangisinin ne zaman kullanılacağını öğrenin.
- Otomasyon kuralları ve bunların nasıl oluşturulacağı hakkında daha fazla bilgi edinin.
- Playbook'lar ve bunların nasıl oluşturulacağı hakkında daha fazla bilgi edinin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin