Memantau kesehatan dan mengaudit integritas aturan analitik Anda

Untuk memastikan deteksi ancaman yang komprehensif, tidak terganggu, dan bebas gangguan di layanan Microsoft Azure Sentinel Anda, lacak kesehatan dan integritas aturan analitik Anda. Buat mereka berfungsi secara optimal dengan memantau wawasan eksekusi aturan analitik mereka, dengan mengkueri log kesehatan dan audit, dan dengan menggunakan eksekusi ulang manual untuk menguji dan mengoptimalkan aturan analitik.

Siapkan pemberitahuan peristiwa kesehatan dan audit untuk pemangku kepentingan terkait, yang kemudian dapat mengambil tindakan. Misalnya, tentukan dan kirim email atau pesan Microsoft Teams, buat tiket baru di sistem tiket Anda, dan sebagainya.

Artikel ini menjelaskan cara menggunakan pengauditan dan pemantauan kesehatan di Microsoft Sentinel untuk memantau kesehatan dan integritas aturan analitik Anda dari dalam Microsoft Sentinel.

Untuk informasi mengenai informasi mendalam aturan dan menjalankan ulang aturan secara manual, lihat Memantau dan mengoptimalkan eksekusi aturan analitik terjadwal Anda.

RINGKASAN

Microsoft Sentinel menyediakan dua jenis log untuk memantau aturan analitik: log kesehatan dan log audit. Bagian berikut ini meringkas apa yang diambil setiap log dan tempat data disimpan.

  • Log kesehatan aturan analitik Microsoft Sentinel:

    • Log ini menangkap peristiwa yang merekam berjalannya aturan analitik, dan hasil akhir dari proses ini—jika berhasil atau gagal, dan jika gagal, mengapa.
    • Log juga merekam, setiap kali menjalankan aturan analisis:
      • Berapa banyak peristiwa yang diambil kueri aturan.
      • Apakah jumlah kejadian melewati ambang yang ditentukan dalam aturan, menyebabkan aturan memicu peringatan.

    Log ini dikumpulkan dalam tabel SentinelHealth di Analitik Log.

  • Log audit aturan analitik Microsoft Sentinel:

    • Log ini menangkap peristiwa yang merekam perubahan yang dilakukan pada aturan analitik apa pun, termasuk detail berikut:
      • Nama aturan yang diubah.
      • Mana saja properti dari aturan yang diubah.
      • Status pengaturan aturan sebelum dan sesudah perubahan.
      • Pengguna atau identitas yang membuat perubahan.
      • IP sumber dan tanggal/waktu perubahan.
      • ...dan lainnya.

    Log ini dikumpulkan dalam tabel SentinelAudit di Analitik Log.

Menggunakan tabel data SentinelHealth dan SentinelAudit

Untuk mendapatkan data audit dan kesehatan dari tabel SentinelHealth dan SentinelAudit, Anda harus terlebih dahulu mengaktifkan fitur kesehatan Microsoft Sentinel untuk ruang kerja Anda. Untuk informasi selengkapnya, lihat Mengaktifkan audit dan pemantauan kesehatan untuk Microsoft Azure Sentinel.

Setelah fitur kesehatan diaktifkan, tabel data SentinelHealth dibuat pada event sukses atau kegagalan pertama yang dihasilkan untuk aturan analitik Anda.

Memahami peristiwa tabel SentinelHealth dan SentinelAudit

Tabel SentinelHealth mencatat jenis peristiwa kesehatan aturan analitik berikut:

  • Pemrosesan aturan analitik terjadwal.
  • Aturan analitik near-real-time (NRT) dijalankan.

Untuk informasi selengkapnya, lihat Skema kolom tabel SentinelHealth.

Tabel SentinelAudit mencatat jenis peristiwa audit aturan analitik berikut:

  • Membuat atau memperbarui aturan analitik.
  • Aturan analitik dihapus.

Untuk informasi selengkapnya, lihat Skema kolom tabel SentinelAudit.

Menjalankan kueri untuk mendeteksi masalah kesehatan dan integritas

Untuk hasil terbaik, buat kueri Anda pada fungsi bawaan untuk tabel ini, _SentinelHealth() dan _SentinelAudit(), alih-alih mengkueri tabel secara langsung. Fungsi-fungsi ini mempertahankan kompatibilitas mundur kueri Anda jika perubahan dilakukan pada skema tabel.

Sebagai langkah pertama, filter tabel untuk data yang terkait dengan aturan analitik. Gunakan parameter SentinelResourceType.

_SentinelHealth()
| where SentinelResourceType == "Analytics Rule"

Jika mau, Anda dapat memfilter daftar lebih lanjut untuk jenis aturan analitik tertentu. Gunakan parameter SentinelResourceKind untuk ini.

| where SentinelResourceKind == "Scheduled"

# OR

| where SentinelResourceKind == "NRT"

Berikut adalah beberapa contoh kueri untuk membantu Anda memulai:

  • Temukan aturan yang merupakan "aturan analitik terjadwal yang dinonaktifkan secara otomatis":

    _SentinelHealth()
    | where SentinelResourceType == "Analytics Rule"
    | where Reason == "The analytics rule is disabled and was not executed."
    
  • Hitung aturan dan pelaksanaan yang berhasil atau gagal berdasarkan alasan.

    _SentinelHealth()
    | where SentinelResourceType == "Analytics Rule"
    | summarize Occurrence=count(), Unique_rule=dcount(SentinelResourceId) by Status, Reason
    
  • Temukan aktivitas penghapusan aturan dalam tabel SentinelAudit . Kueri ini mengembalikan rekaman audit tempat aturan analitik dihapus, sehingga Anda bisa melacak siapa yang menghapus aturan dan kapan:

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | where Description =="Analytics rule deleted"
    
  • Temukan aktivitas pada aturan, berdasarkan nama aturan dan nama aktivitas:

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | summarize Count= count() by RuleName=SentinelResourceName, Activity=Description
    
  • Temukan aktivitas pada aturan, berdasarkan nama pemanggil (identitas yang melakukan aktivitas):

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | extend Caller= tostring(ExtendedProperties.CallerName)
    | summarize Count = count() by Caller, Activity=Description
    

Untuk informasi selengkapnya tentang operator dan fungsi Kusto yang digunakan dalam kueri sampel, lihat dokumentasi Kusto:

Untuk informasi selengkapnya tentang KQL, lihat gambaran umum Bahasa Kueri Kusto (KQL).

Sumber daya lainnya:

Periksa masalah status kesehatan dan integritas pada aturan terjadwal

Ketika aturan jadwal gagal, aturan tersebut dicoba kembali lima kali lagi pada jendela yang sama persis. Aturan tidak melewatkan periode waktu dan melewatkan peringatan selama salah satu dari enam upaya berhasil.

Kegagalan dalam salah satu dari enam upaya menunjukkan keterlambatan dalam pemicu pemberitahuan. Kueri berikut menghitung penundaan yang tepat:

_SentinelHealth()
| where SentinelResourceType == @"Analytics Rule" 
| where SentinelResourceKind == "Scheduled"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), executionStart = todatetime(ExtendedProperties["executionStart"])
| extend delay = datetime_diff('minute', startTime, executionStart)

Untuk mencari kegagalan total (yaitu, jendela yang dilewati), gunakan perintah kueri berikut:

_SentinelHealth()| where SentinelResourceType == @"Analytics Rule" 
| where SentinelResourceKind == "Scheduled"
| where Status != "Success"
| extend startTime = tostring(ExtendedProperties["QueryStartTimeUTC"])
| summarize failuresByStartTime = count() by startTime, SentinelResourceId
| where failuresByStartTime == 6
| summarize count() by SentinelResourceId

Kueri ini mencari aturan analitik terjadwal yang berjalan di mana tidak ada dari enam percobaan ulang yang berhasil. Anda dapat mengidentifikasi percobaan ulang dengan memeriksa waktu mulai dari jendela aturan karena percobaan ulang selalu mengacu pada waktu mulai asli. Kueri ini memberi Anda jumlah jendela yang dilewati untuk setiap aturan analitik. Kami berharap jendela yang terlewat akan jarang. Jika Anda melihat bahwa Anda memiliki aturan analitik dengan jendela yang dilewati, gunakan kueri untuk memahami alasan kegagalan aturan spesifik ini dan tabel alasan kegagalan dan mitigasi untuk memperbaikinya.

Kueri masalah kesehatan dan integritas untuk aturan NRT

Mekanisme coba lagi untuk aturan NRT berfungsi berbeda dibandingkan dengan aturan terjadwal. Jika aturan tidak berhasil dijalankan, sistem juga mempertimbangkan jendela yang gagal dalam eksekusi berikutnya (satu menit setelahnya). Perilaku ini berlanjut hingga 60 kegagalan (satu jam).

Karena satu kegagalan dalam eksekusi tertentu hanya mencerminkan penundaan satu menit, jangan fokus pada kegagalan tunggal. Sebagai gantinya, gunakan kueri berikut untuk memantau penundaan setiap aturan analitik:

_SentinelHealth()
| where SentinelResourceKind == "NRT"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), endTime = todatetime(ExtendedProperties["QueryEndTimeUTC"]), alertsCreated = toint(ExtendedProperties["AlertsGeneratedAmount"])
| where alertsCreated == 0 
| extend ruleDelay = datetime_diff('minute', endTime, startTime)
| project TimeGenerated, ruleDelay, SentinelResourceId
| render timechart

Anda juga dapat menentukan aturan analitik untuk memicu pemberitahuan tentang penundaan yang signifikan (misalnya, jika aturan NRT memiliki penundaan lebih dari 10 menit).

Status, kesalahan, dan langkah-langkah yang disarankan

Untuk pelaksanaan aturan analitik terjadwal atau pelaksanaan aturan analitik NRT, Anda mungkin melihat salah satu status dan deskripsi berikut:

  • Berhasil: Aturan berhasil dijalankan, menghasilkan <n> pemberitahuan.

  • Berhasil: Aturan berhasil dijalankan, tetapi tidak mencapai ambang batas (<n>) yang diperlukan untuk menghasilkan pemberitahuan.

  • Kegagalan: Deskripsi ini menjelaskan kegagalan aturan dan apa yang dapat Anda lakukan tentang mereka.

    Deskripsi Remediation
    Terjadi kesalahan server internal saat menjalankan kueri.
    Waktu pelaksanaan kueri habis.
    Tabel yang dirujuk dalam kueri tidak ditemukan. Verifikasi bahwa sumber data yang relevan tersambung.
    Terjadi kesalahan semantik saat menjalankan kueri. Coba reset aturan analitik dengan mengedit dan menyimpannya (tanpa mengubah pengaturan apa pun).
    Fungsi yang dipanggil oleh kueri dinamai sebagai kata cadangan. Hapus atau ganti nama fungsi.
    Terjadi kesalahan sintaks saat menjalankan kueri. Coba reset aturan analitik dengan mengedit dan menyimpannya (tanpa mengubah pengaturan apa pun).
    Ruang kerja tidak ada.
    Kueri ini menggunakan terlalu banyak sumber daya sistem dan dicegah berjalan. Tinjau dan sesuaikan aturan analitik. Lihat dokumentasi gambaran umum Kusto Query Language dan praktik terbaik Kusto Query Language kami.
    Fungsi yang dipanggil oleh kueri tidak ditemukan. Verifikasi keberadaan di ruang kerja Anda dari semua fungsi yang dipanggil oleh kueri.
    Ruang kerja yang digunakan dalam kueri tidak ditemukan. Verifikasi bahwa semua ruang kerja dalam kueri ada.
    Anda tidak memiliki izin untuk menjalankan kueri ini. Coba reset aturan analitik dengan mengedit dan menyimpannya (tanpa mengubah pengaturan apa pun).
    Anda tidak memiliki izin akses ke satu atau beberapa sumber daya dalam kueri.
    Kueri yang dirujuk ke jalur penyimpanan yang tidak ditemukan.
    Kueri ditolak akses ke jalur penyimpanan.
    Beberapa fungsi dengan nama yang sama didefinisikan di ruang kerja ini. Hapus atau ganti nama fungsi redundan dan reset aturan dengan mengedit dan menyimpannya.
    Kueri ini tidak mengembalikan hasil apa pun.
    Beberapa set hasil dalam kueri ini tidak diizinkan.
    Hasil kueri berisi jumlah bidang per baris yang tidak konsisten.
    Penundaan pelaksanaan aturan terjadi akibat waktu pemrosesan data yang lama.
    Penundaan penerapan aturan terjadi karena masalah sementara.
    Pemberitahuan tidak diperkaya karena masalah sementara.
    Pemberitahuan tidak diperkaya karena masalah pemetaan entitas.
    < jumlah entitas> dihilangkan dalam peringatan <nama> karena batas ukuran peringatan 32 KB.
    < entitas angka dihilangkan dalam nama> pemberitahuan <karena masalah pemetaan entitas.>
    Kueri menghasilkan <number> peristiwa, yang melebihi batas maksimum <limit> hasil yang diizinkan untuk <rule type> aturan dengan konfigurasi pengelompokan peristiwa alert-per-row. Peringatan per baris dibuat untuk <limit-1> peristiwa pertama dan pemberitahuan agregat tambahan dibuat untuk memperhitungkan semua peristiwa.
    - <number> = jumlah peristiwa yang dikembalikan oleh kueri
    - <batas> = saat ini 150 pemberitahuan untuk aturan terjadwal, 30 untuk aturan NRT
    - <jenis aturan> = Terjadwal atau NRT

Menggunakan buku kerja audit dan pemantauan kesehatan

Untuk memvisualisasikan data audit dan kesehatan aturan analitik, instal dan konfigurasikan buku kerja Analytics Health & Audit dari hub konten Microsoft Sentinel.

  1. Untuk membuat buku kerja tersedia di ruang kerja Anda, instal solusi buku kerja dari hub konten Microsoft Azure Sentinel:

    1. Dari portal Microsoft Azure Sentinel, pilih Hub konten (Pratinjau) dari menu Manajemen konten.

    2. Di Pusat Konten, masukkan kesehatan di bilah pencarian, dan pilih Analytics Health & Audit dari solusi Workbook di bawah Mandiri dalam hasil.

      Cuplikan layar dari pemilihan buku kerja kesehatan analitik di pusat konten.

    3. Pilih Instal dari panel detail, lalu pilih Simpan yang muncul di tempatnya.

  2. Ketika solusi menunjukkan bahwa telah terinstal, pilih Buku Kerja dari menu Manajemen ancaman.

    Cuplikan layar indikasi bahwa solusi buku kerja kesehatan analitik diinstal dari hub konten.

  3. Di galeri Buku Kerja, pilih tab Templat, masukkan kesehatan di bilah pencarian, dan pilih Analytics Health & Audit dari antara hasilnya.

    Cuplikan layar memilih buku kerja kesehatan analitik dari galeri templat.

  4. Pilih Simpan di panel detail untuk membuat salinan buku kerja yang dapat diedit dan dapat digunakan. Saat salinan dibuat, pilih Tampilkan buku kerja yang disimpan.

  5. Setelah berada di buku kerja, pertama-tama pilih langganan dan ruang kerja yang ingin Anda tampilkan (mungkin sudah dipilih), lalu tentukan TimeRange untuk memfilter data sesuai dengan kebutuhan Anda. Gunakan tombol Perlihatkan bantuan untuk menampilkan penjelasan buku kerja di tempat.

    Cuplikan layar tab gambaran umum buku kerja kesehatan aturan analitik.

Buku kerja ini memiliki tiga bagian bertab:

Meninjau ringkasan kesehatan dan audit pada tab Gambaran Umum

Tab Gambaran Umum memperlihatkan ringkasan kesehatan dan audit:

  • Ringkasan kesehatan status pelaksanaan aturan analitik di ruang kerja yang dipilih: jumlah pelaksanaan eksekusi, jumlah keberhasilan dan kegagalan eksekusi, serta rincian kejadian kegagalan.
  • Ringkasan audit aktivitas pada aturan analitik di ruang kerja yang dipilih: jumlah aktivitas dari waktu ke waktu, jumlah aktivitas berdasarkan jenis, dan jumlah aktivitas dari berbagai jenis menurut aturan.

Gunakan tab Kesehatan untuk mengidentifikasi masalah aturan analitik

Tab Kesehatan memungkinkan Anda menjelajahi peristiwa kesehatan tertentu.

Cuplikan layar pemilihan tab kesehatan di buku kerja kesehatan analitik.

  • Filter seluruh data halaman menurut status (berhasil atau gagal) dan jenis aturan (terjadwal atau NRT).
  • Lihat tren eksekusi aturan yang berhasil dan gagal (bergantung pada filter status) selama periode waktu yang dipilih. Anda dapat menggunakan fitur "time brush" pada grafik tren untuk melihat bagian dari rentang waktu yang asli. Cuplikan layar aturan analitik berjalan dari waktu ke waktu dalam buku kerja kesehatan analitik.
  • Filter halaman lainnya berdasarkan alasan.
  • Lihat jumlah total eksekusi untuk semua aturan analitik, ditampilkan secara proporsional menurut status dalam bagan pai.
  • Berikut ini adalah tabel yang memperlihatkan jumlah aturan analitik unik yang berjalan, dipecah menurut jenis dan status aturan.
    • Pilih status untuk memfilter bagan yang tersisa untuk status tersebut.
    • Kosongkan filter dengan memilih ikon "Hapus pilihan" (terlihat seperti ikon "Batalkan"), di sudut kanan atas bagan. Cuplikan layar jumlah aturan yang dijalankan berdasarkan status dan tipe di buku kerja kesehatan analitik.
  • Lihat setiap status, dengan jumlah kemungkinan alasan untuk status tersebut. (Hanya alasan yang diwakili dalam jalannya dalam jangka waktu yang dipilih yang ditampilkan.)
    • Pilih status untuk memfilter bagan yang tersisa untuk status tersebut.
    • Kosongkan filter dengan memilih ikon "Hapus pilihan" (terlihat seperti ikon "Batalkan"), di sudut kanan atas bagan. Cuplikan layar jumlah alasan unik berdasarkan status dalam buku kerja kesehatan analitik.
  • Selanjutnya, lihat daftar alasan tersebut, bersama dengan jumlah total pengoperasian aturan yang digabungkan dan jumlah aturan unik yang dijalankan.
    • Pilih alasan untuk memfilter bagan berikut karena alasan tersebut.
    • Kosongkan filter dengan memilih ikon "Hapus pilihan" (terlihat seperti ikon "Batalkan"), di sudut kanan atas bagan. Cuplikan layar aturan yang dieksekusi menurut alasan unik dalam buku kerja kesehatan analisis.
  • Setelah itu adalah daftar aturan analitik unik yang berjalan, dengan hasil terbaru dan garis tren keberhasilan dan kegagalannya (tergantung pada status yang dipilih untuk memfilter daftar).
    • Pilih aturan untuk menelusuri paling detail dan memperlihatkan tabel baru dengan semua eksekusi aturan tersebut (dalam jangka waktu yang dipilih).
    • Kosongkan tabel tersebut dengan memilih ikon "Hapus pilihan" (terlihat seperti ikon "Batalkan"), di sudut kanan atas bagan. Cuplikan layar daftar aturan unik yang dijalankan, dengan status dan garis tren, dalam buku kerja kesehatan analitik.
  • Jika Anda memilih aturan dalam daftar, tabel baru muncul dengan detail kesehatan untuk aturan yang dipilih. Cuplikan layar daftar eksekusi aturan analitik yang dipilih, dalam buku kerja kesehatan analitik.

Gunakan tab Audit untuk meninjau perubahan aturan analitik

Tab Audit memungkinkan Anda menelusuri paling detail peristiwa audit tertentu.

Cuplikan layar pilihan tab audit di buku kerja analitik kesehatan.

  • Filter seluruh data halaman berdasarkan jenis aturan audit (terjadwal atau Fusion, yang merupakan aturan berbasis korelasi yang mendeteksi serangan multistage).
  • Lihat tren aktivitas yang diaudit pada aturan analitik selama periode waktu yang dipilih. Anda dapat menggunakan fitur "time brush" pada grafik tren untuk melihat bagian dari rentang waktu yang asli. Cuplikan layar aktivitas audit yang sedang tren dalam buku kerja kesehatan analitik.
  • Lihat jumlah peristiwa yang diaudit, dipecah menurut aktivitas dan jenis aturan.
    • Pilih aktivitas untuk memfilter bagan berikut untuk aktivitas tersebut.
    • Kosongkan filter dengan memilih ikon "Hapus pilihan" (terlihat seperti ikon "Batalkan"), di sudut kanan atas bagan. Cuplikan layar jumlah peristiwa audit berdasarkan aktivitas dan jenis dalam buku kerja kesehatan analitik.
  • Lihat jumlah peristiwa yang diaudit menurut nama aturan.
    • Pilih nama aturan untuk memfilter tabel berikut untuk aturan tersebut, dan untuk menelusuri paling detail dan memperlihatkan tabel baru dengan semua aktivitas pada aturan tersebut (dalam jangka waktu yang dipilih). (Lihat setelah cuplikan layar berikut.)
    • Kosongkan filter dengan memilih ikon "Hapus pilihan" (terlihat seperti ikon "Batalkan"), di sudut kanan atas bagan. Cuplikan layar kejadian yang diaudit berdasarkan nama aturan dan pemanggil dalam buku kerja kesehatan analitik.
  • Lihat jumlah peristiwa yang diaudit oleh pemanggil (identitas yang melakukan aktivitas).
  • Jika Anda memilih nama aturan di bagan sebelumnya, tabel lain akan muncul memperlihatkan aktivitas yang diaudit pada aturan tersebut. Pilih nilai yang muncul sebagai tautan di kolom ExtendedProperties untuk membuka panel samping yang menampilkan perubahan yang dibuat pada aturan. Cuplikan layar aktivitas audit untuk aturan yang dipilih dalam buku kerja kesehatan analitik.