Menyambungkan Microsoft Sentinel ke Amazon Web Services untuk menyerap log AWS EKS

Gunakan konektor Elastic Kubernetes Service (EKS) berbasis Amazon Web Services (AWS) S3 untuk menyerap log audit AWS EKS, yang dikumpulkan dalam wadah AWS S3, untuk Microsoft Sentinel. Log audit AWS EKS adalah catatan terperinci permintaan server API, keputusan autentikasi, dan aktivitas kluster dalam kluster Kubernetes Anda. Rekaman ini berisi informasi seperti waktu permintaan diterima, spesifikasi permintaan, pengguna yang membuat permintaan, dan tindakan yang diambil. Analisis log ini sangat penting untuk menjaga keamanan dan kepatuhan aplikasi kontainer yang berjalan pada kluster EKS.

Konektor ini menampilkan skrip onboarding berbasis AWS CloudFormation untuk menyederhanakan pembuatan sumber daya AWS yang digunakan oleh konektor.

Penting

Ikhtisar

Konektor data Amazon Web Services S3 EKS melayani kasus penggunaan berikut:

  • Pemantauan keamanan dan deteksi ancaman Kubernetes: Analisis log audit AWS EKS untuk membantu mengidentifikasi dan merespons ancaman keamanan seperti akses tidak sah, eskalasi hak istimewa, dan panggilan API mencurigakan di dalam klaster Kubernetes Anda. Dengan menyerap log ini ke dalam Microsoft Sentinel, Anda dapat menggunakan analitik tingkat lanjut dan inteligensi ancamannya untuk mendeteksi dan menyelidiki aktivitas berbahaya yang menargetkan beban kerja dalam kontainer Anda.

  • Kepatuhan dan audit untuk lingkungan kontainer: Log audit AWS EKS menyediakan catatan rinci tentang semua interaksi server API, yang sangat penting untuk tujuan pelaporan kepatuhan dan audit di lingkungan kontainer. Konektor memastikan bahwa log audit ini tersedia dalam Microsoft Sentinel untuk akses dan analisis yang mudah, membantu memenuhi persyaratan peraturan untuk keamanan kontainer.

  • DevSecOps dan tata kelola klaster: Pantau aktivitas pengembang, pola akses sumber daya, dan perubahan konfigurasi dalam klaster EKS Anda untuk memastikan tata kelola dan praktik keamanan yang tepat dalam alur kerja DevSecOps Anda.

Artikel ini menjelaskan cara mengonfigurasi konektor Amazon Web Services S3 EKS. Proses pengaturannya memiliki dua bagian: sisi AWS dan sisi Microsoft Sentinel. Proses masing-masing sisi menghasilkan informasi yang digunakan oleh sisi lain. Pertukaran detail konfigurasi antara pengaturan AWS dan pengaturan Microsoft Sentinel menciptakan komunikasi yang aman.

Prasyarat

  • Anda harus memiliki izin menulis di ruang kerja Microsoft Azure Sentinel.

  • Instal solusi Amazon Web Services dari Content Hub di Microsoft Sentinel. Jika Anda sudah menginstal versi solusi yang lebih lama, perbarui solusi di hub konten untuk memastikan Anda memiliki versi terbaru yang menyertakan konektor ini. Untuk informasi selengkapnya, lihat Menemukan dan mengelola konten bawaan Microsoft Sentinel.

  • Anda harus memiliki kluster AWS EKS yang sudah ada dengan pengelogan audit diaktifkan, atau kemampuan untuk mengaktifkan pengelogan audit pada kluster EKS Anda selama proses penyiapan.

  • Anda harus memiliki izin AWS IAM yang sesuai untuk:

    • Membuat peran dan kebijakan IAM
    • Membuat wadah S3 dan mengonfigurasi kebijakan wadah
    • Membuat antrean SQS dan mengonfigurasi kebijakan antrean
    • Membuat tumpukan CloudFormation
    • Mengonfigurasi pengaturan pengelogan kluster EKS
    • Membuat aliran pengiriman Kinesis Data Firehose
    • Membuat fungsi Lambda

Mengaktifkan dan mengonfigurasi konektor Amazon Web Services S3 EKS

Untuk mengaktifkan dan mengonfigurasi konektor, selesaikan tugas berikut:

  • Di lingkungan AWS Anda:

    Halaman konektor Amazon Web Services S3 EKS di Microsoft Sentinel menyediakan templat tumpukan AWS CloudFormation yang dapat diunduh yang mengotomatiskan tugas AWS berikut:

    • Konfigurasikan kluster AWS EKS Anda untuk mengirim log audit ke Log CloudWatch.

    • Buat aliran pengiriman Kinesis Data Firehose untuk mengubah dan mengirimkan log dari CloudWatch ke S3.

    • Buat bucket S3 untuk penyimpanan log audit yang diproses.

    • Buat antrean Simple Queue Service (SQS) untuk memberikan pemberitahuan saat file log baru dibuat di S3.

    • Buat penyedia identitas web untuk mengautentikasi pengguna untuk AWS melalui OpenID Connect (OIDC).

    • Buat sebuah peran yang dianggap untuk memberikan izin kepada pengguna yang telah diautentikasi oleh penyedia identitas web OIDC untuk mengakses sumber daya AWS Anda.

    • Lampirkan kebijakan izin IAM yang sesuai untuk memberikan akses peran yang diasumsikan ke sumber daya yang sesuai (bucket S3, SQS).

    • Buat fungsi Lambda untuk mengubah log audit EKS menjadi format yang diharapkan oleh Microsoft Sentinel.

  • Dalam Microsoft Sentinel:

    • Konfigurasikan Amazon Web Services S3 EKS Connector di portal Microsoft Sentinel dengan menambahkan pengumpul log yang memeriksa antrean SQS dan mengambil data log dari bucket S3. Untuk informasi selengkapnya, lihat Menambahkan pengumpul log.

Menyiapkan lingkungan AWS

Untuk menyederhanakan proses onboarding, halaman konektor Amazon Web Services S3 EKS di Microsoft Sentinel menyediakan templat yang dapat diunduh untuk digunakan dengan layanan AWS CloudFormation. Layanan CloudFormation menggunakan templat ini untuk membuat tumpukan sumber daya secara otomatis di AWS. Tumpukan ini mencakup sumber daya yang dijelaskan dalam artikel ini, bersama dengan kredensial, izin, dan kebijakan.

Note

Gunakan proses penyiapan otomatis. Untuk kasus khusus, lihat instruksi penyiapan manual.

Menyiapkan file templat

Untuk menjalankan skrip yang menyiapkan lingkungan AWS, gunakan langkah-langkah berikut:

  1. Di portal Microsoft Azure, dari menu navigasi Microsoft Azure Sentinel, perluas Konfigurasi, dan pilih Konektor data.

    Di portal Defender, dari menu luncur cepat, perluas > dan pilih Konektor data.

  2. Pilih Amazon Web Services S3 EKS dari daftar konektor data.

    Jika Anda tidak melihat konektor, instal solusi Amazon Web Services dari hub Content di bawah manajemen Content di Microsoft Sentinel, atau perbarui solusi ke versi terbaru.

  3. Di panel detail untuk konektor, pilih Buka halaman konektor.

    Cuplikan layar galeri konektor data yang memperlihatkan konektor AWS S3 EKS.

  4. Di bagian Konfigurasi, di bawah 1. AWS CloudFormation Deployment, pilih tautan Stacks AWS CloudFormation. Tindakan ini membuka konsol AWS di tab browser baru.

  5. Kembali ke tab portal tempat Anda membuka Microsoft Sentinel. Pilih Unduh di bawah Template 1: Penyebaran autentikasi OpenID Connect untuk mengunduh templat yang membuat penyedia idP web OIDC. Templat diunduh sebagai file JSON ke folder unduhan yang Ditunjuk.

    Note

    Jika Anda sudah memiliki penyedia identitas web OIDC dari penyiapan konektor AWS sebelumnya, lewati langkah ini.

  6. Pilih Unduh di bawah Templat 2: Penyebaran sumber daya AWS EKS untuk mengunduh templat yang membuat sumber daya AWS lainnya. Templat diunduh sebagai file JSON ke folder unduhan yang Ditunjuk.

    Cuplikan layar halaman konfigurasi konektor AWS S3 EKS.

Membuat tumpukan AWS CloudFormation

Kembali ke tab browser AWS Console, dan buka halaman AWS CloudFormation untuk membuat stack.

Jika Anda belum masuk ke AWS, masuk sekarang. Anda dialihkan ke halaman AWS CloudFormation.

Buat penyedia identitas web OIDC

Penting

Jika Anda sudah memiliki penyedia identitas web OIDC dari penyiapan konektor AWS sebelumnya, lewati langkah ini dan lanjutkan ke Buat sumber daya AWS yang tersisa.
Jika Anda sudah menyiapkan penyedia OIDC Connect untuk Microsoft Defender untuk Cloud, tambahkan Microsoft Sentinel sebagai audiens ke penyedia Anda yang sudah ada (Komersial: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e, Pemerintah:api://d4230588-5f84-4281-a9c7-2c15194b28f7). Jangan mencoba membuat penyedia OIDC baru untuk Microsoft Sentinel.

Ikuti petunjuk di halaman AWS Console untuk membuat tumpukan baru.

  1. Tentukan templat dan unggah file templat.

  2. Pilih Pilih berkas dan temukan Template 1: OpenID Connect Authentication deployment.json file yang Anda unduh.

  3. Pilih nama untuk tumpukan.

  4. Lanjutkan proses yang tersisa dan buat stack.

Membuat sumber daya AWS yang tersisa

  1. Kembali ke halaman tumpukan AWS CloudFormation dan buat tumpukan baru.

  2. Pilih Choose file dan temukan Template 2: Sumber Daya AWS EKS deployment.json yang telah Anda unduh.

  3. Pilih nama untuk tumpukan.

  4. Saat diminta, masukkan parameter berikut:

    • EKSClusterName: Masukkan nama kluster EKS Anda yang ada.
    • Microsoft Sentinel Workspace ID: Untuk menemukan ID Ruang Kerja Anda:
      • Di portal Azure, di menu navigasi Microsoft Sentinel, perluas Konfigurasi dan pilih Settings. Pilih tab pengaturan Workspace dan temukan ID Workspace di halaman workspace Log Analytics.
      • Di portal Defender, di menu luncur cepat, perluas System dan pilih Settings. Pilih Microsoft Sentinel, lalu pilih Pengaturan Log Analytics di bawah Pengaturan untuk [WORKSPACE_NAME]. Temukan ID Ruang Kerja di halaman ruang kerja Log Analytics, yang terbuka di tab browser baru.
    • BucketName: Masukkan nama unik untuk wadah S3 tempat log audit EKS disimpan.
    • SentinelSQSQueueName: Masukkan nama untuk antrean SQS (default: MicrosoftSentinelEKSSqs).
    • AwsRoleName: Masukkan nama untuk peran IAM (harus dimulai dengan "OIDC_", default: OIDC_MicrosoftSentinelRoleEKS).
  5. Lanjutkan proses yang tersisa dan buat stack.

  6. Setelah pembuatan tumpukan selesai, buka bagian Output dari tumpukan CloudFormation dan perhatikan nilai berikut:

    • SentinelRoleArn: ARN peran IAM yang dibuat untuk akses Microsoft Sentinel.
    • SentinelSQSQueueURL: URL antrean SQS.
    • Step1EnableEKSAuditLogging: perintah AWS CLI untuk mengaktifkan pengelogan audit EKS.
    • Step2CreateSubscriptionFilter: perintah AWS CLI untuk membuat filter langganan CloudWatch Logs.

Mengaktifkan pengelogan audit EKS dan mengonfigurasi streaming log

Setelah membuat tumpukan CloudFormation, aktifkan pengelogan audit pada kluster EKS Anda dan konfigurasikan streaming log:

  1. Jika pengelogan audit belum diaktifkan pada kluster EKS Anda, jalankan perintah yang disediakan dalam output Step1EnableEKSAuditLogging dari tumpukan CloudFormation.

  2. Tunggu sekitar lima menit agar log audit mulai muncul di Log CloudWatch.

  3. Jalankan perintah yang disediakan dalam output Step2CreateSubscriptionFilter untuk membuat filter langganan yang mengalirkan log audit dari CloudWatch ke aliran pengiriman Kinesis Data Firehose.

  4. Fungsi Lambda secara otomatis mengubah log audit EKS menjadi format yang diharapkan oleh Microsoft Sentinel dan mengirimkannya ke S3, di mana mereka memicu pemberitahuan SQS untuk penyerapan.

Menambahkan pengumpul log

Saat Anda membuat tumpukan sumber daya dan mengonfigurasi pengelogan audit EKS, kembali ke tab browser yang terbuka ke halaman konektor data di Microsoft Sentinel, dan mulai bagian kedua dari proses konfigurasi.

  1. Di bagian Konfigurasi , di bawah 2. Sambungkan kolektor baru, pilih Tambahkan kolektor baru.

    Cuplikan layar bagian kedua dari konfigurasi konektor AWS EKS.

  2. Masukkan peran ARN dari peran IAM yang Anda buat. Gunakan nilai dari output SentinelRoleArn dari tumpukan CloudFormation Anda (misalnya, arn:aws:iam::{AWS_ACCOUNT_ID}:role/OIDC_MicrosoftSentinelRoleEKS).

  3. Masukkan URL antrean SQS yang Anda buat. Gunakan nilai dari output SentinelSQSQueueURL dari tumpukan CloudFormation Anda (misalnya, https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_ID}/MicrosoftSentinelEKSSqs).

  4. Pilih Sambungkan untuk menambahkan kolektor. Tindakan ini membuat aturan pengumpulan data untuk Agen Azure Monitor untuk mengambil log dan menyerapnya ke dalam tabel AWSEKSLogs_CL khusus di ruang kerja Log Analytics Anda.

    Cuplikan layar dari penambahan kolektor baru untuk log EKS.

Verifikasi penyerapan data

Gunakan langkah-langkah berikut untuk memverifikasi bahwa data log audit EKS sedang dimasukkan ke dalam ruang kerja Microsoft Sentinel Anda.

  1. Setelah menyiapkan konektor, buka halaman Logs (atau halaman Perburuan tingkat lanjut di portal Defender) dan jalankan kueri berikut. Jika Anda mendapatkan hasil apa pun, konektor berfungsi dengan baik.

    AWSEKSLogs_CL
    | take 10
    
  2. Anda juga dapat menjalankan kueri yang lebih spesifik untuk menjelajahi data audit EKS Anda.

    // View recent EKS audit events by verb (API action)
    AWSEKSLogs_CL
    | where TimeGenerated > ago(1h)
    | summarize count() by Verb
    | order by count_ desc
    
    // Monitor authentication decisions
    AWSEKSLogs_CL
    | where TimeGenerated > ago(24h)
    | where AuthDecision != ""
    | summarize count() by AuthDecision, User
    | order by count_ desc
    
    // Track failed requests (non-200 response codes)
    AWSEKSLogs_CL
    | where TimeGenerated > ago(24h)
    | where ResponseCode != 200
    | project TimeGenerated, User, Verb, ObjectRef, ResponseCode, SourceIPs
    | order by TimeGenerated desc
    

Referensi skema

Log audit EKS menyerap ke dalam tabel AWSEKSLogs_CL dengan skema berikut:

Column Type Deskripsi
TimeGenerated tanggalwaktu Waktu ketika peristiwa audit dihasilkan
AwsAccountId string ID akun AWS tempat kluster EKS berada
Wilayah string Wilayah AWS tempat kluster EKS berada
Nama Klaster string Nama kluster EKS
Kata kerja string Kata kerja HTTP yang terkait dengan permintaan API (GET, POST, PUT, DELETE, dll.)
Pengguna string Informasi tentang pengguna yang membuat permintaan
IP Sumber dynamic Array alamat IP sumber tempat permintaan berasal
UserAgent string String agen pengguna dari klien yang membuat permintaan
ObjectRef string Referensi ke objek Kubernetes yang sedang diakses
ResponseCode int Kode respons HTTP untuk permintaan API
Stage string Tahap pemrosesan permintaan (PermintaanDiterima, ResponDimulai, ResponSelesai, Panik)
KeputusanOtorisasi string Keputusan otorisasi yang dibuat oleh server API
RawEvent dynamic Lengkapi data peristiwa audit mentah untuk analisis tingkat lanjut

Troubleshooting

Masalah dan solusi umum

Masalah dan solusi umum berikut dapat membantu Anda memecahkan masalah pengaturan konektor.

  • Tidak ada data yang muncul dalam tabel AWSEKSLogs_CL:

    • Verifikasi bahwa pengelogan audit EKS diaktifkan pada kluster Anda.
    • Periksa apakah filter langganan CloudWatch Logs dikonfigurasi dengan benar.
    • Pastikan fungsi Lambda memproses log tanpa kesalahan. Periksa Log CloudWatch untuk log fungsi Lambda.
    • Verifikasi bahwa pemberitahuan bucket S3 dikonfigurasi dengan benar untuk memicu pesan SQS.
  • Pembuatan tumpukan CloudFormation gagal:

    • Pastikan Anda memiliki izin IAM yang memadai untuk membuat semua sumber daya yang diperlukan.
    • Periksa apakah nama kluster EKS yang Anda berikan ada di akun Anda.
    • Verifikasi bahwa nama wadah S3 unik secara global.
  • Kesalahan autentikasi:

    • Verifikasi bahwa penyedia identitas web OIDC dikonfigurasi dengan benar.
    • Pastikan izin peran IAM cukup untuk mengakses sumber daya S3 dan SQS.
    • Periksa apakah ID ruang kerja yang digunakan dalam templat CloudFormation cocok dengan ruang kerja Microsoft Sentinel Anda.

Pemantauan tingkat lanjut

Jika Anda belum melakukannya, terapkan pemantauan kesehatan konektor data sehingga Anda dapat mengetahui kapan konektor tidak menerima data atau memiliki masalah lain. Untuk info selengkapnya, lihat Memantau kesehatan konektor data Anda.