Menyerap dan menganalisis log keamanan AWS di Microsoft Sentinel - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyerap dan menganalisis log keamanan AWS di Microsoft Sentinel

Ivan Girardi dan Sebastian Wenzel, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara mengotomatiskan konsumsi log AWS keamanan, seperti log, data Amazon Logs AWS CloudTrail , data Amazon VPC Flow CloudWatch Logs, dan temuan GuardDuty Amazon, ke Microsoft Sentinel. Jika organisasi Anda menggunakan Microsoft Sentinel sebagai sistem informasi keamanan dan manajemen peristiwa (SIEM), ini membantu Anda memantau dan menganalisis log secara terpusat untuk mendeteksi peristiwa terkait keamanan. Segera setelah log tersedia, log tersebut secara otomatis dikirim ke bucket Amazon Simple Storage Service (Amazon S3) dalam waktu kurang dari 5 menit. Ini dapat membantu Anda mendeteksi peristiwa keamanan di AWS lingkungan Anda dengan cepat.

Microsoft Sentinel menyerap CloudTrail log dalam format tabel yang menyertakan stempel waktu asli saat acara direkam. Struktur log tertelan memungkinkan kemampuan kueri dengan menggunakan Kusto Query Language di Microsoft Sentinel.

Pola ini menerapkan solusi pemantauan dan peringatan yang mendeteksi kegagalan konsumsi dalam waktu kurang dari 1 menit. Ini juga termasuk sistem notifikasi yang dapat dipantau oleh SIEM eksternal. Anda gunakan AWS CloudFormation untuk menyebarkan sumber daya yang diperlukan di akun logging.

Target audiens

Pola ini direkomendasikan untuk pengguna yang memiliki pengalaman dengan AWS Control Tower,, AWS Organizations CloudFormation, AWS Identity and Access Management (IAM), dan AWS Key Management Service (AWS KMS).

Prasyarat dan batasan

Prasyarat

Berikut ini adalah prasyarat untuk menerapkan solusi ini:

  • Aktif Akun AWS yang dikelola sebagai organisasi di AWS Organizations dan merupakan bagian dari AWS Control Tower landing zone. Organisasi harus menyertakan akun khusus untuk pencatatan. Untuk petunjuk, lihat Membuat dan mengonfigurasi organisasi dalam AWS Organizations dokumentasi.

  • CloudTrail Jejak yang mencatat peristiwa untuk seluruh organisasi dan menyimpan log di bucket Amazon S3 di akun logging. Untuk petunjuk, lihat Membuat jejak untuk organisasi.

  • Di akun logging, izin untuk mengambil peran IAM yang ada yang memiliki izin berikut:

    • Menyebarkan sumber daya yang ditentukan dalam CloudFormation template yang disediakan.

    • Menyebarkan CloudFormation template yang disediakan.

    • Ubah kebijakan AWS KMS kunci jika log dienkripsi dengan kunci yang dikelola pelanggan.

  • AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi.

  • Akun Microsoft Azure dengan langganan untuk menggunakan Microsoft Sentinel.

  • Aktifkan dan atur Microsoft Sentinel. Untuk petunjuk, lihat Mengaktifkan Microsoft Sentinel serta fitur dan konten awal dalam dokumentasi Microsoft Sentinel.

  • Memenuhi prasyarat untuk mengatur konektor Microsoft Sentinel S3.

Batasan

  • Solusi ini meneruskan log keamanan dari bucket Amazon S3 di akun logging ke Microsoft Sentinel. Petunjuk tentang cara mengirim log ke Amazon S3 tidak disediakan secara eksplisit.

  • Pola ini memberikan instruksi untuk penyebaran di AWS Control Tower landing zone. Namun, penggunaan AWS Control Tower tidak diperlukan.

  • Solusi ini kompatibel dengan lingkungan di mana bucket logging Amazon S3 dibatasi dengan kebijakan kontrol layanan (SCPs), seperti Larang Perubahan pada Kebijakan Bucket untuk Bucket Amazon AWS Control Tower S3 yang Dibuat di Arsip Log.

  • Pola ini memberikan instruksi untuk meneruskan CloudTrail log, tetapi Anda dapat menyesuaikan solusi ini untuk mengirim log lain yang didukung Microsoft Sentinel, seperti log dari Log, CloudWatch Amazon VPC Flow Logs, dan. GuardDuty

  • Instruksi menggunakan AWS CLI untuk menyebarkan CloudFormation template, tetapi Anda juga bisa menggunakan. AWS Management Console Untuk petunjuk, lihat Menggunakan AWS CloudFormation konsol. Jika Anda menggunakan konsol untuk menyebarkan tumpukan, terapkan tumpukan yang Wilayah AWS sama dengan bucket logging.

  • Solusi ini menerapkan antrian Amazon Simple Queue Service (Amazon SQS) untuk mengirimkan notifikasi Amazon S3. Antrian berisi pesan dengan jalur objek yang diunggah di bucket Amazon S3, bukan data aktual. Antrian menggunakan enkripsi SSE-SQS untuk membantu melindungi konten pesan. Jika Anda ingin mengenkripsi antrian SQS dengan SSE-KMS, Anda dapat menggunakan kunci KMS yang dikelola pelanggan. Untuk informasi selengkapnya, lihat Enkripsi saat istirahat di Amazon SQS.

Arsitektur

Bagian ini memberikan gambaran tingkat tinggi tentang arsitektur yang dibuat oleh kode sampel. Diagram berikut menunjukkan sumber daya yang digunakan di akun logging untuk menyerap log dari bucket Amazon S3 yang ada ke Microsoft Sentinel.

Microsoft Sentinel menggunakan antrian Amazon SNS untuk menyerap log dari bucket S3

Diagram arsitektur menunjukkan interaksi sumber daya berikut:

  1. Di akun logging, Microsoft Sentinel mengasumsikan peran IAM melalui OpenID Connect (OIDC) untuk mengakses log di bucket Amazon S3 tertentu dan antrian Amazon SQS.

  2. Amazon Simple Notification Service (Amazon SNS) dan Amazon S3 digunakan untuk enkripsi. AWS KMS

  3. Amazon S3 mengirimkan pesan notifikasi ke antrian Amazon SQS setiap kali menerima log baru.

  4. Microsoft Sentinel memeriksa Amazon SQS untuk pesan baru. Antrian Amazon SQS menggunakan enkripsi SSE-SQS. Periode penyimpanan pesan diatur ke 14 hari.

  5. Microsoft Sentinel menarik pesan dari antrian Amazon SQS. Pesan berisi jalur objek Amazon S3 yang diunggah. Microsoft Sentinel menyerap benda-benda itu dari ember Amazon S3 ke dalam akun Microsoft Azure.

  6. CloudWatch Alarm memonitor antrian Amazon SQS. Jika pesan tidak diterima dan dihapus dari antrian Amazon SQS dalam waktu 5 menit, maka pesan tersebut memulai pemberitahuan Amazon SNS yang mengirim email.

AWS Control Tower membantu Anda mengatur struktur unit organisasi dasar (OU) dan memusatkan CloudTrail log di akun logging. Ini juga mengimplementasikan wajib SCPs untuk melindungi ember penebangan.

Kami telah menyediakan arsitektur target di AWS Control Tower landing zone, tetapi ini tidak sepenuhnya diperlukan. Dalam diagram ini, sumber daya dalam akun manajemen mencerminkan AWS Control Tower penyebaran dan CloudTrail jejak yang mencatat peristiwa untuk seluruh organisasi.

Pola ini berfokus pada penyebaran sumber daya di akun logging. Jika log yang disimpan di Amazon S3 di AWS Control Tower landing zone Anda dienkripsi dengan kunci KMS yang dikelola pelanggan, maka Anda harus memperbarui kebijakan kunci untuk mengizinkan Microsoft Sentinel mendekripsi log. Di AWS Control Tower landing zone, Anda mengelola kebijakan utama dari akun manajemen, yang merupakan tempat kunci dibuat.

Alat

Layanan AWS

  • AWS CloudFormationmembantu Anda menyiapkan AWS sumber daya, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan Wilayah.

  • Amazon CloudWatch membantu Anda memantau metrik sumber AWS daya Anda dan aplikasi yang Anda jalankan AWS secara real time.

  • AWS Control Towermembantu Anda mengatur dan mengatur lingkungan AWS multi-akun, mengikuti praktik terbaik.

  • AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.

  • AWS Organizationsadalah layanan manajemen akun yang membantu Anda mengkonsolidasikan beberapa Akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat.

  • Amazon Simple Queue Service (Amazon Simple Queue Service) menyediakan antrian host yang aman, tahan lama, dan tersedia yang membantu Anda mengintegrasikan dan memisahkan sistem dan komponen perangkat lunak terdistribusi.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

Alat lainnya

  • Microsoft Sentinel adalah sistem SIEM cloud-native yang menyediakan orkestrasi keamanan, otomatisasi, dan respons (SOAR).

Repositori kode

Kode untuk pola ini tersedia di GitHub Ingest dan menganalisis log AWS keamanan di repositori Microsoft Sentinel.

Praktik terbaik

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan konektor Microsoft Sentinel S3.

  1. Di Microsoft Sentinel, pilih Konektor data.

  2. Dari galeri konektor data, pilih Amazon Web Services S3.

    catatan

    Jika Anda tidak melihat konektornya, instal solusi Amazon Web Services dari Content Hub di Microsoft Sentinel.

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

  4. Di bagian Konfigurasi, salin ID Eksternal. Anda memerlukan ID ini nanti.

DevOps insinyur, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori.

Dalam shell bash, masukkan perintah berikut. Ini mengkloning Ingest dan menganalisis Log AWS Keamanan di repositori Microsoft Sentinel.

git clone https://github.com/aws-samples/ingest-and-analyze-aws-security-logs-in-microsoft-sentinel.git

DevOps insinyur, AWS Umum

Asumsikan peran IAM dalam akun logging.

Di akun logging, asumsikan peran IAM yang memiliki izin untuk menyebarkan tumpukan. CloudFormation Untuk informasi selengkapnya tentang mengasumsikan peran IAM dalam AWS CLI, lihat Menggunakan peran IAM dalam. AWS CLI

DevOps insinyur, AWS Umum

Menyebarkan tumpukan.

Untuk menyebarkan CloudFormation tumpukan masukkan perintah berikut, di mana:

  • <Bucket name>adalah nama bucket Amazon S3 logging.

  • <Sentinel external ID>adalah ID eksternal konektor Amazon S3 di Microsoft Sentinel.

  • <Email address>adalah alamat email yang valid tempat Anda ingin menerima pemberitahuan.

  • <Customer managed key ARN>adalah Nama Sumber Daya Amazon (ARN) dari kunci KMS yang dikelola pelanggan. Berikan parameter ini hanya jika log dienkripsi dengan kunci KMS yang dikelola pelanggan.

  • <Suffix>adalah parameter opsional untuk menghindari konflik nama sumber daya.

  • <ARN for the OIDC provider>adalah ARN dari penyedia OIDC jika sudah ada. Jika Anda tidak memberikan parameter ini, CloudFormation buat penyedia OIDC.

    penting

    Jika AWS organisasi dipantau dengan Microsoft Code Defender, penyedia OIDC untuk Microsoft telah digunakan. Anda harus memberikan parameter ini dan ARN dari penyedia yang ada.

aws cloudformation deploy --stack-name cloudtrail-sentinel-integration \ --no-fail-on-empty-changeset \ --template-file template.yml \ --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \ --parameter-overrides \ ControlTowerS3BucketName="<Bucket name>" \ AzureWorkspaceID="<Sentinel external ID>" \ EmailAddress="<Email address>" \ KMSKeyArn="<Customer managed key ARN>" \ Suffix="<Suffix to avoid name conflicts>" \ OIDCProviderArn="<ARN for the OIDC provider>"
DevOps insinyur, AWS Umum

Salin output.

Dari output CloudFormation tumpukan, salin nilai untuk SentinelRoleArn danSentinelSQS. Anda menggunakan nilai-nilai ini nanti untuk menyelesaikan konfigurasi di Microsoft Sentinel.

DevOps insinyur, AWS Umum

Ubah kebijakan utama.

Jika Anda tidak menggunakan kunci KMS yang dikelola pelanggan untuk mengenkripsi log di bucket Amazon S3, Anda dapat melewati langkah ini.

Jika log dienkripsi dengan kunci KMS yang dikelola pelanggan, ubah kebijakan kunci untuk memberikan izin Microsoft Sentinel untuk mendekripsi log. Berikut ini adalah contoh kebijakan kunci. Kebijakan contoh ini memungkinkan akses lintas akun jika kunci KMS ada di akun lain. Akun AWS

{ "Version": "2012-10-17", "Id": "key-policy", "Statement": [ ... { "Sid": "Grant access to decrypt", "Effect": "Allow", "Principal": { "AWS": "<SentinelRoleArn>" }, "Action": "kms:Decrypt", "Resource": "<KeyArn>" } ] }
DevOps insinyur, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Selesaikan konfigurasi di Microsoft Sentinel.

  1. Di Microsoft Sentinel, pilih Konektor data.

  2. Dari galeri konektor data, pilih Amazon Web Services S3.

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

  4. Di bagian Konfigurasi, lakukan hal berikut:

    1. Di Peran untuk menambahkan, masukkan SentinelRoleArn nilai yang Anda salin.

    2. Di SQS URL, masukkan SentinelSQS nilai yang Anda salin.

    3. Dalam daftar tabel Tujuan, pilihAWSCloudTrail.

  5. Pilih Tambahkan koneksi.

DevOps insinyur

Kirim pemberitahuan acara Amazon S3 ke Amazon SQS.

Ikuti petunjuk dalam Mengaktifkan dan mengonfigurasi pemberitahuan peristiwa menggunakan konsol Amazon S3 untuk mengonfigurasi bucket logging Amazon S3 untuk mengirim pemberitahuan peristiwa ke antrean Amazon SQS. Jika CloudTrail telah dikonfigurasi untuk seluruh organisasi, log di bucket ini memiliki awalan<OrgID>/AWSLogs/<OrgID>/, di <OrgID> mana ID organisasi. Untuk informasi selengkapnya, lihat Melihat detail tentang organisasi Anda.

DevOps insinyur, AWS Umum

Konfirmasikan bahwa log tertelan.

  1. Tunggu hingga log tertelan di Microsoft Sentinel. Ini dapat memakan waktu beberapa menit.

  2. Di Microsoft Sentinel, buka halaman Konektor Data Amazon S3, lalu lakukan hal berikut:

    • Konfirmasikan bahwa status Konektor Data Amazon S3 adalah. Connected

    • Periksa volume data dalam grafik Data yang diterima.

    Untuk informasi selengkapnya tentang memeriksa aktivitas konektor data, lihat Konektor data dalam dokumentasi Microsoft.

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Bandingkan CloudWatch dan log Sentinel.

Dalam konfigurasi default AWS Control Tower, CloudTrail log dikirim ke Amazon CloudWatch dan disimpan di akun AWS Control Tower manajemen. Untuk informasi selengkapnya, lihat Logging dan monitoring in AWS Control Tower. Gunakan langkah-langkah berikut untuk mengonfirmasi bahwa log secara otomatis tertelan ke Microsoft Sentinel:

  1. Buka konsol CloudWatch .

  2. Di panel navigasi, pilih Log, lalu pilih Wawasan Log.

  3. Untuk Pilih grup log, pilih grup log tempat CloudTrail log disimpan, sepertiaws-controltower/CloudTrailLogs.

  4. Di kotak editor kueri, masukkanfields eventID.

  5. Pilih Run query (Jalankan kueri).

  6. Pilih Ekspor hasil, lalu pilih Salin tabel ke clipboard (CSV).

  7. Tempel hasilnya ke editor teks.

  8. Ubah format output sehingga dapat digunakan dalam kueri Microsoft Sentinel. Berikut ini adalah contoh yang menggunakan Bahasa Kueri Kusto:

    AWSCloudTrail | where AwsEventId in ( 'aa08b5fe-3bfb-391a-a14e-5fcebe14dab2', '9decd805-269c-451c-b75b-762f5dce59f9' )
  9. Di Microsoft Sentinel, buka halaman Konektor Data Amazon S3. Di samping grafik Data diterima, pilih Pergi ke analisis log.

  10. Di kotak editor kueri, masukkan kueri, lalu pilih Jalankan.

  11. Di Microsoft Sentinel dan CloudWatch, verifikasi bahwa jumlah entri sama. Sesuaikan rentang waktu jika diperlukan.

DevOps insinyur, AWS Umum

Sumber daya terkait

AWS dokumentasi dan sumber daya

Dokumentasi Microsoft