Bagikan melalui


Agregat data Microsoft Azure Sentinel dengan aturan ringkasan (pratinjau)

Gunakan aturan ringkasan di Microsoft Azure Sentinel untuk menggabungkan sekumpulan data besar di latar belakang untuk pengalaman operasi keamanan yang lebih lancar di semua tingkat log. Data ringkasan telah dikompilasi sebelumnya dalam tabel log kustom dan memberikan performa kueri yang cepat, termasuk kueri yang dijalankan pada data yang berasal dari tingkat log berbiaya rendah. Aturan ringkasan dapat membantu mengoptimalkan data Anda untuk:

  • Analisis dan laporan, terutama melalui himpunan data dan rentang waktu besar, sebagaimana diperlukan untuk analisis keamanan dan insiden, laporan bisnis bulan ke bulan atau tahunan, dan sebagainya.
  • Penghematan biaya pada log verbose, yang dapat Anda pertahankan sesedikit atau selama yang Anda butuhkan dalam tingkat log yang lebih murah, dan kirim sebagai data ringkasan hanya ke tabel Analytics untuk analisis dan laporan.
  • Keamanan dan privasi data, dengan menghapus atau mengaburkan detail privasi dalam data yang dapat dibagikan yang dirangkum dan membatasi akses ke tabel dengan data mentah.

Akses hasil aturan ringkasan melalui Bahasa Kueri Kusto (KQL) di seluruh aktivitas deteksi, investigasi, perburuan, dan pelaporan. Gunakan hasil aturan ringkasan untuk lebih lama dalam aktivitas investigasi, perburuan, dan kepatuhan historis.

Hasil aturan ringkasan disimpan dalam tabel terpisah di bawah paket data Analytics , dan dikenakan biaya yang sesuai. Untuk informasi selengkapnya tentang paket data dan biaya penyimpanan, lihat Memilih paket tabel berdasarkan pola penggunaan di ruang kerja Analitik Log

Penting

Aturan ringkasan saat ini dalam PRATINJAU. Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk ketentuan hukum tambahan yang berlaku untuk fitur Azure dalam versi beta, pratinjau, atau belum dirilis ke ketersediaan umum.

Microsoft Sentinel sekarang tersedia secara umum dalam platform operasi keamanan terpadu Microsoft di portal Pertahanan Microsoft. Untuk informasi selengkapnya, lihat Microsoft Azure Sentinel di portal Pertahanan Microsoft.

Prasyarat

Untuk membuat aturan ringkasan di Microsoft Azure Sentinel:

Kami menyarankan agar Anda bereksperimen dengan kueri aturan ringkasan Anda di halaman Log sebelum membuat aturan Anda. Verifikasi bahwa kueri tidak mencapai atau mendekati batas kueri, dan periksa apakah kueri menghasilkan skema yang dimaksudkan dan hasil yang diharapkan. Jika kueri mendekati batas kueri, pertimbangkan untuk menggunakan yang lebih binSize kecil untuk memproses lebih sedikit data per bin. Anda juga bisa mengubah kueri untuk mengembalikan lebih sedikit rekaman atau menghapus bidang dengan volume yang lebih tinggi.

Membuat aturan ringkasan

Buat aturan ringkasan baru untuk menggabungkan sekumpulan data besar tertentu ke dalam tabel dinamis. Konfigurasikan frekuensi aturan Anda untuk menentukan seberapa sering himpunan data agregat Anda diperbarui dari data mentah.

  1. Di portal Azure, dari menu navigasi Microsoft Azure Sentinel, di bawah Konfigurasi, pilih Aturan ringkasan (Pratinjau). Di portal Pertahanan, pilih Aturan Ringkasan Konfigurasi > Microsoft Sentinel > (Pratinjau). Contohnya:

    Cuplikan layar halaman Aturan ringkasan di portal Azure.

  2. Pilih + Buat dan masukkan detail berikut:

    • Nama. Masukkan nama yang bermakna untuk aturan Anda.

    • Deskripsi. Masukkan deskripsi opsional.

    • Tabel tujuan. Tentukan tabel log kustom tempat data Anda dikumpulkan:

      • Jika Anda memilih Tabel log kustom yang sudah ada, pilih tabel yang ingin Anda gunakan.

      • Jika Anda memilih Tabel log kustom baru, masukkan nama yang bermakna untuk tabel Anda. Nama tabel lengkap Anda menggunakan sintaks berikut: <tableName>_CL.

  3. Kami menyarankan agar Anda mengaktifkan pengaturan diagnostik SummaryLogs di ruang kerja Anda untuk mendapatkan visibilitas untuk eksekusi dan kegagalan historis. Jika pengaturan diagnostik SummaryLogs tidak diaktifkan, Anda akan diminta untuk mengaktifkannya di area Pengaturan diagnostik.

    Jika pengaturan diagnostik SummaryLogs sudah diaktifkan, tetapi Anda ingin mengubah pengaturan, pilih Konfigurasikan pengaturan diagnostik tingkat lanjut. Saat Anda kembali ke halaman wizard aturan Ringkasan, pastikan untuk memilih Refresh untuk menyegarkan detail pengaturan Anda.

    Penting

    Pengaturan diagnostik SummaryLogs memiliki biaya tambahan. Untuk informasi selengkapnya, lihat Pengaturan diagnostik di Azure Monitor.

  4. Pilih Berikutnya: Atur logika > ringkasan untuk melanjutkan.

  5. Pada halaman Atur logika ringkasan, masukkan kueri ringkasan Anda. Misalnya, untuk menarik konten dari Google Cloud Platform, Anda mungkin ingin memasukkan:

    GCPAuditLogs
    | where ServiceName == 'pubsub.googleapis.com'
    | summarize count() by Severity
    

    Untuk informasi selengkapnya, lihat Contoh skenario aturan ringkasan dan Bahasa Kueri Kusto (KQL) di Azure Monitor.

  6. Pilih Hasil pratinjau untuk memperlihatkan contoh data yang akan Anda kumpulkan dengan kueri yang dikonfigurasi.

  7. Di area Penjadwalan kueri, tentukan detail berikut ini:

    • Seberapa sering Anda ingin aturan dijalankan
    • Apakah Anda ingin aturan berjalan dengan penundaan apa pun, dalam hitungan menit
    • Saat Anda ingin aturan mulai berjalan

    Waktu yang ditentukan dalam penjadwalan didasarkan pada timegenerated kolom dalam data Anda

  8. Pilih Berikutnya: Tinjau + buat >>Simpan untuk menyelesaikan aturan ringkasan.

Aturan ringkasan yang ada tercantum di halaman Aturan ringkasan (Pratinjau), tempat Anda dapat meninjau status aturan Anda. Untuk setiap aturan, pilih menu opsi di akhir baris untuk mengambil salah satu tindakan berikut:

  • Menampilkan data aturan saat ini di halaman Log, seolah-olah Anda akan segera menjalankan kueri
  • Menampilkan riwayat eksekusi untuk aturan yang dipilih
  • Nonaktifkan atau aktifkan aturan.
  • Mengedit konfigurasi aturan

Untuk menghapus aturan, pilih baris aturan lalu pilih Hapus di toolbar di bagian atas halaman.

Catatan

Azure Monitor juga mendukung pembuatan aturan ringkasan melalui API atau templat Azure Resource Monitor (ARM). Untuk informasi selengkapnya, lihat Membuat atau memperbarui aturan ringkasan.

Contoh skenario aturan ringkasan

Bagian ini meninjau skenario umum untuk membuat aturan ringkasan di Microsoft Sentinel, dan rekomendasi kami tentang cara mengonfigurasi setiap aturan. Untuk informasi dan contoh selengkapnya, lihat Menggunakan aturan ringkasan dengan log tambahan (proses sampel) dan Sumber log yang akan digunakan untuk penyerapan Log Tambahan.

Menemukan alamat IP berbahaya dengan cepat di lalu lintas jaringan Anda

Skenario: Anda adalah pemburu ancaman, dan salah satu tujuan tim Anda adalah mengidentifikasi semua instans ketika alamat IP berbahaya berinteraksi di log lalu lintas jaringan dari insiden aktif, dalam 90 hari terakhir.

Tantangan: Microsoft Sentinel saat ini menyerap beberapa terabyte log jaringan sehari. Anda perlu menelusurinya dengan cepat untuk menemukan kecocokan untuk alamat IP berbahaya.

Solusi: Sebaiknya gunakan aturan ringkasan untuk melakukan hal berikut:

  1. Buat himpunan data ringkasan untuk setiap alamat IP yang terkait dengan insiden, termasuk SourceIP, , DestinationIPMaliciousIP, RemoteIP, setiap atribut penting daftar, seperti IPType, FirstTimeSeen, dan LastTimeSeen.

    Himpunan data ringkasan memungkinkan Anda mencari alamat IP tertentu dengan cepat dan mempersempit rentang waktu tempat alamat IP ditemukan. Anda dapat melakukan ini bahkan ketika peristiwa yang dicari terjadi lebih dari 90 hari yang lalu, yang berada di luar periode retensi ruang kerja mereka.

    Dalam contoh ini, konfigurasikan ringkasan untuk dijalankan setiap hari, sehingga kueri menambahkan rekaman ringkasan baru setiap hari hingga kedaluwarsa.

  2. Buat aturan analitik yang berjalan selama kurang dari dua menit terhadap himpunan data ringkasan, dengan cepat menelusuri rentang waktu tertentu saat alamat IP berbahaya berinteraksi dengan jaringan perusahaan.

    Pastikan untuk mengonfigurasi interval eksekusi hingga lima menit minimal, untuk mengakomodasi ukuran payload ringkasan yang berbeda. Ini memastikan bahwa tidak ada kerugian bahkan ketika ada keterlambatan penyerapan peristiwa.

    Contohnya:

    let csl_columnmatch=(column_name: string) {
    CommonSecurityLog
    | where isnotempty(column_name)
    | extend
        Date = format_datetime(TimeGenerated, "yyyy-MM-dd"),
        IPaddress = column_ifexists(column_name, ""),
        FieldName = column_name
    | extend IPType = iff(ipv4_is_private(IPaddress) == true, "Private", "Public")
    | where isnotempty(IPaddress)
    | project Date, TimeGenerated, IPaddress, FieldName, IPType, DeviceVendor
    | summarize count(), FirstTimeSeen = min(TimeGenerated), LastTimeSeen = min(TimeGenerated) by Date, IPaddress, FieldName, IPType, DeviceVendor
    };
    union csl_columnmatch("SourceIP")
        , csl_columnmatch("DestinationIP") 
        , csl_columnmatch("MaliciousIP")
        , csl_columnmatch("RemoteIP")
    // Further summarization can be done per IPaddress to remove duplicates per day on larger timeframe for the first run
    | summarize make_set(FieldName), make_set(DeviceVendor) by IPType, IPaddress
    
  3. Jalankan pencarian atau korelasi berikutnya dengan data lain untuk menyelesaikan cerita serangan.

Membuat pemberitahuan tentang kecocokan inteligensi ancaman terhadap data jaringan

Hasilkan pemberitahuan tentang kecocokan inteligensi ancaman terhadap data jaringan yang berisik, volume tinggi, dan nilai keamanan rendah.

Skenario: Anda perlu membuat aturan analitik untuk log firewall agar sesuai dengan nama domain dalam sistem yang telah dikunjungi terhadap daftar nama domain inteligensi ancaman.

Sebagian besar sumber data adalah log mentah yang berisik dan memiliki volume tinggi, tetapi memiliki nilai keamanan yang lebih rendah, termasuk alamat IP, lalu lintas Azure Firewall, Lalu lintas Fortigate, dan sebagainya. Ada total volume sekitar 1 TB per hari.

Tantangan: Membuat aturan terpisah memerlukan beberapa aplikasi logika, membutuhkan pengaturan tambahan dan biaya dan biaya pemeliharaan.

Solusi: Sebaiknya gunakan aturan ringkasan untuk melakukan hal berikut:

  1. Ringkas log firewall McAfee setiap 10 menit, perbarui data dalam tabel kustom yang sama dengan setiap eksekusi. Fungsi ASIM mungkin berguna dalam kueri ringkasan saat berinteraksi dengan log McAfee Anda.

  2. Buat aturan analitik untuk memicu pemberitahuan kapan saja nama domain dalam data ringkasan cocok dengan entri di daftar inteligensi ancaman. Contohnya:

    //let timeRange = 5m;
    //let httpstrim = "https://";
    //let httptrim = "http://";
    let timeRangeStart = now (-10m);
    let timeRangeEnd = (timeRangeStart + 10m);
    //Take visited domains from McAfee proxy
    adx('https://adxfwlog01.northeurope.kusto.windows.net/nwlogs').MappedMcAfeeSyslog
    | where timestamp between (timeRangeStart .. timeRangeEnd)
    | where isnotempty(URL)
    | extend URLDomain = parse_url(URL).Host
    | extend URLDomain = iff(isempty(URLDomain),URL,URLDomain)
    | extend URLDomain = extract(@"([0-9a-zA-Z-]{1,}\.[0-9a-zA-Z-]{2,3}\.[0-9a-zA-Z-]{2,3}|[0-9a-zA-Z-]{1,}\.[0-9a-zA-Z-]{2,10})$", 0, URLDomain)
    | where isnotempty(URLDomain)
    | summarize by URLDomain
    //Match visited domains with TI DomainName list
    | join kind=inner (ThreatIntelligenceIndicator
        | where isnotempty(DomainName)
        | where Active == true
        | where ExpirationDateTime > now()
        | summarize LatestIndicatorTime = arg_max(TimeGenerated, *) by DomainName
          ) on $left.URLDomain == $right.DomainName
    | extend LogicApp = "SOC-McAfee-ADX-DstDomainAgainstThreatIntelligence"
    | project LatestIndicatorTime, TI_Domain = DomainName, Description, ConfidenceScore, AdditionalInformation, LogicApp
    

Menggunakan aturan ringkasan dengan log tambahan (proses sampel)

Prosedur ini menjelaskan proses sampel untuk menggunakan aturan ringkasan dengan log tambahan, menggunakan koneksi kustom yang dibuat melalui templat ARM untuk menyerap data CEF dari Logstash.

  1. Siapkan konektor CEF kustom Anda dari Logstash:

    1. Sebarkan templat ARM berikut ke ruang kerja Microsoft Azure Sentinel Anda untuk membuat tabel kustom dengan aturan pengumpulan data (DCR) dan titik akhir pengumpulan data (DCE):

      Sebarkan ke Azure

    2. Perhatikan detail berikut dari output templat ARM:

      • tenant_id
      • data_collection_endpoint
      • dcr_immutable_id
      • dcr_stream_name
    3. Buat aplikasi Microsoft Entra, dan catat ID Klien dan Rahasia aplikasi. Untuk informasi selengkapnya, lihat Tutorial: Mengirim data ke Log Azure Monitor dengan API penyerapan Log (portal Azure).

    4. Gunakan contoh skrip kami untuk memperbarui file konfigurasi Logstash Anda. Pembaruan mengonfigurasi Logstash untuk mengirim log CEF ke tabel kustom yang dibuat oleh templat ARM, mengubah data JSON ke format DCR. Dalam skrip ini, pastikan untuk mengganti nilai tempat penampung dengan nilai Anda sendiri untuk tabel kustom dan aplikasi Microsoft Entra yang Anda buat sebelumnya.

  2. Periksa untuk melihat bahwa data CEF Anda mengalir dari Logstash seperti yang diharapkan. Misalnya, di Microsoft Azure Sentinel, buka halaman Log dan jalankan kueri berikut:

    CefAux_CL
    | take 10
    
  3. Buat aturan ringkasan yang mengagregasi data CEF Anda. Contohnya:

    • Pencarian insiden data kekhawatiran (IoC): Berburu IoC tertentu dengan menjalankan kueri ringkasan agregat untuk menghadirkan kemunculan unik, lalu kueri hanya kemunculan tersebut untuk hasil yang lebih cepat. Contoh berikut menunjukkan contoh cara membawa umpan unik Source Ip bersama dengan metadata lain, yang kemudian dapat digunakan terhadap pencarian IoC:

      // Daily Network traffic trend Per Destination IP along with Data transfer stats 
      // Frequency - Daily - Maintain 30 day or 60 Day History. 
        Custom_CommonSecurityLog 
        | extend Day = format_datetime(TimeGenerated, "yyyy-MM-dd") 
        | summarize Count= count(), DistinctSourceIps = dcount(SourceIP), NoofByesTransferred = sum(SentBytes), NoofBytesReceived = sum(ReceivedBytes)  
        by Day,DestinationIp, DeviceVendor 
      
    • Mengkueri garis besar ringkasan untuk deteksi anomali. Alih-alih menjalankan kueri Anda terhadap periode historis besar, seperti 30 atau 60 hari, kami sarankan Anda menyerap data ke dalam log kustom, lalu hanya kueri ringkasan data dasar, seperti untuk deteksi anomali rangkaian waktu. Contohnya:

      // Time series data for Firewall traffic logs 
      let starttime = 14d; 
      let endtime = 1d; 
      let timeframe = 1h; 
      let TimeSeriesData =  
      Custom_CommonSecurityLog 
        | where TimeGenerated between (startofday(ago(starttime))..startofday(ago(endtime))) 
        | where isnotempty(DestinationIP) and isnotempty(SourceIP) 
        | where ipv4_is_private(DestinationIP) == false 
        | project TimeGenerated, SentBytes, DeviceVendor 
        | make-series TotalBytesSent=sum(SentBytes) on TimeGenerated from startofday(ago(starttime)) to startofday(ago(endtime)) step timeframe by DeviceVendor