Mengumpulkan log AWS CloudTrail
Dokumen ini menjelaskan cara mengumpulkan log AWS CloudTrail dengan menyiapkan feed Google Security Operations dan cara memetakan kolom log ke kolom Model Data Terpadu (UDM) Google SecOps.
Untuk mengetahui informasi selengkapnya, lihat [Penyerapan data ke Google SecOps][1].
Deployment umum terdiri dari AWS CloudTrail dan feed Google SecOps yang dikonfigurasi untuk mengirim log ke Google SecOps. Deployment Anda mungkin berbeda dari deployment umum yang dijelaskan dalam dokumen ini. Deployment berisi komponen berikut:
AWS CloudTrail: Platform yang mengumpulkan log.
AWS S3: Platform yang menyimpan log.
Feed Google SecOps: Feed Google SecOps yang mengambil log dari AWS S3 dan menulis log ke Google SecOps.
Google SecOps: Platform yang menyimpan dan menganalisis log dari AWS CloudTrail.
Label penyerapan mengidentifikasi parser yang menormalisasi data log mentah ke format UDM terstruktur. Informasi dalam dokumen ini berlaku untuk
parser dengan label penyerapan AWS_CLOUDTRAIL
.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Akun AWS
- prasyarat untuk menggunakan AWS CloudTrail terpenuhi. Untuk mengetahui informasi selengkapnya, lihat Penyiapan AWS CloudTrail.
- Semua sistem dalam arsitektur deployment menggunakan zona waktu UTC
Langkah-langkah dasar untuk menyerap log dari S3 dengan SQS
Bagian ini menjelaskan langkah-langkah dasar untuk menyerap log AWS CloudTrail ke dalam instance Google SecOps Anda. Langkah-langkah ini menjelaskan cara melakukannya menggunakan Amazon S3 dengan Amazon SQS sebagai jenis sumber feed.
Mengonfigurasi AWS CloudTrail dan S3
Dalam prosedur ini, Anda mengonfigurasi log AWS CloudTrail agar ditulis ke bucket S3.
- Di konsol AWS, telusuri CloudTrail.
- Klik Buat jalur.
- Berikan Nama jejak.
- Pilih Create new S3 bucket. Anda juga dapat memilih untuk menggunakan bucket S3 yang sudah ada.
- Berikan nama untuk alias AWS KMS, atau pilih Kunci AWS KMS yang ada.
- Anda dapat membiarkan setelan lainnya sebagai default, lalu klik Berikutnya.
- Pilih Jenis peristiwa, tambahkan Peristiwa data sesuai kebutuhan, lalu klik Berikutnya.
- Tinjau setelan di Tinjau dan buat, lalu klik Buat jejak aktivitas.
- Di konsol AWS, cari Amazon S3 Buckets.
- Klik bucket log yang baru dibuat, lalu pilih folder AWSLogs. Kemudian, klik Copy S3 URI dan simpan untuk digunakan di langkah berikutnya.
Menyiapkan SQS Queue dan SNS Standar
Jika Anda menggunakan antrean SQS, antrean tersebut harus berupa antrean Standard, bukan antrean FIFO.
- Aktifkan AWS CloudTrail dan konfigurasikan untuk mengirimkan log ke bucket S3 menggunakan jejak baru atau yang sudah ada.
- Buka konsol AWS SNS dan buat topik Standar baru. Beri nama, misalnya, CloudTrail-Notification-Topic.
Buat antrean SQS menggunakan konsol AWS SQS, misalnya, CloudTrail-Notification-Queue, dan perbarui kebijakan aksesnya untuk mengizinkan ARN topik SNS mengirim pesan. Untuk mengetahui detail tentang cara membuat antrean SQS, lihat Mulai menggunakan Amazon SQS.
Contoh cuplikan kebijakan SQS:
{ "Version": "2012-10-17", "Id": `PolicyForSNS`, "Statement": [ { "Sid": "AllowSNS", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:CloudTrail-Notification-Queue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:REGION:ACCOUNT_ID:CloudTrail-Notification-Topic"} } } ] }
Buka SNS topic → Subscriptions → Create subscription, tetapkan Protocol ke SQS, dan Endpoint ke ARN antrean SQS.
CloudTrail tidak secara native mengirimkan log baru ke SNS. Untuk mengaktifkan notifikasi, Anda dapat menggunakan Pemilih Peristiwa CloudTrail untuk Peristiwa Pengelolaan, atau menggunakan integrasi CloudTrail dengan CloudWatch Logs, lalu membuat Aturan Peristiwa CloudWatch yang memicu notifikasi dengan menetapkan topik SNS sebagai target. Untuk mengetahui detail selengkapnya, lihat menyiapkan notifikasi di bucket S3.
Contoh pola peristiwa:
{ "source": ["aws.s3"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventName": ["PutObject"], "requestParameters": { "bucketName": [`CloudTrail-Notification-Topic`] } } }
Pastikan peran atau kebijakan IAM mengizinkan CloudWatch Events memublikasikan ke SNS, dan pastikan SNS diizinkan mengirim pesan ke SQS.
Mengonfigurasi pengguna AWS IAM
Konfigurasi pengguna AWS IAM yang akan digunakan Google SecOps untuk mengakses antrean SQS (jika digunakan) dan bucket S3.
- Di konsol AWS, telusuri IAM.
- Klik Pengguna, lalu di layar berikutnya, klik Buat Pengguna.
- Berikan nama untuk pengguna, misalnya, chronicle-feed-user, lalu pilih Provide user access to the AWS Management Console.
- Pilih Attach existing policies directly, lalu pilih AmazonS3ReadOnlyAccess atau AmazonS3FullAccess, sesuai kebutuhan. AmazonS3FullAccess akan digunakan jika Google SecOps harus menghapus bucket S3 setelah membaca log, untuk mengoptimalkan biaya penyimpanan AWS S3.
- Sebagai alternatif yang direkomendasikan untuk langkah sebelumnya, Anda dapat membatasi lebih lanjut akses hanya ke bucket S3 tertentu dengan membuat kebijakan kustom. Klik Create policy dan ikuti dokumentasi AWS untuk membuat kebijakan kustom.
- Saat Anda menerapkan kebijakan, pastikan Anda telah menyertakan
sqs:DeleteMessage
. Google SecOps tidak dapat menghapus pesan jika izinsqs:DeleteMessage
tidak dilampirkan ke antrean SQS. Semua pesan dikumpulkan di sisi AWS, yang menyebabkan penundaan karena Google SecOps berulang kali mencoba mentransfer file yang sama. - Klik Berikutnya:Tag.
- Tambahkan tag jika diperlukan, lalu klik Berikutnya:Tinjau.
- Tinjau konfigurasi, lalu klik Buat pengguna.
- Setelah pengguna dibuat, buka tab Kredensial Keamanan, lalu klik Buat Kunci Akses.
- Pilih CLI, lalu klik Next:Tags.
- Tambahkan tag jika diperlukan, lalu klik Buat Kunci Akses: Tinjau.
- Salin Access Key ID dan Secret Access Key pengguna yang dibuat, untuk digunakan di langkah berikutnya.
Mengonfigurasi izin kunci KMS
Kunci KMS diperlukan untuk mendekripsi log CloudTrail, yang dienkripsi di sisi server. AWS KMS memberikan enkripsi dan keamanan yang ditingkatkan untuk data sensitif yang disimpan di Amazon S3.
- Di konsol AWS, telusuri Key Management Service (KMS).
- Klik Buat Kunci:Berikutnya.
- Tambahkan Alias untuk kunci. Secara opsional, tambahkan Deskripsi dan Tag jika diperlukan. Klik Berikutnya: Tinjau.
- Setelah meninjau konfigurasi, klik Berikutnya.
- Pilih Pengguna Utama yang harus memiliki akses ke kunci ini, lalu klik Selesai.
Menyiapkan feed
Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:
- Setelan SIEM > Feed > Tambahkan Baru
- Hub Konten > Paket Konten > Mulai
Cara menyiapkan feed AWS CloudTrail
- Klik paket Amazon Cloud Platform.
- Pada jenis log AWS CloudTrail, tentukan nilai berikut:
Tentukan nilai untuk kolom berikut:
- Jenis Sumber: Amazon SQS V2
- Nama Antrean: Nama antrean SQS yang akan dibaca
- URI S3: URI bucket.
s3://your-log-bucket-name/
- Ganti
your-log-bucket-name
dengan nama sebenarnya bucket S3 Anda.
- Ganti
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai dengan preferensi penyerapan Anda.
Usia File Maksimum: Menyertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
ID Kunci Akses Antrean SQS: Kunci akses akun yang berupa string alfanumerik 20 karakter.
Kunci Akses Rahasia Antrean SQS: Kunci akses akun yang berupa string alfanumerik 40 karakter.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Buat feed.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi beberapa feed untuk berbagai jenis log dalam keluarga produk ini, lihat Mengonfigurasi feed menurut produk.
Jenis log AWS CloudTrail yang didukung
Parser AWS CloudTrail mendukung layanan berikut:
- apigateway.amazonaws.com
- appconfig.amazonaws.com
- autoscaling.amazonaws.com
- cloud9.amazonaws.com
- cloudsearch.amazonaws.com
- cloudshell.amazonaws.com
- cloudtrail.amazonaws.com
- config.amazonaws.com
- devicefarm.amazonaws.com
- ds.amazonaws.com
- dynamodb.amazonaws.com
- ec2-instance-connect.amazonaws.com
- ec2.amazonaws.com
- ecr-public.amazonaws.com
- ecr.amazonaws.com
- ecs.amazonaws.com
- eks.amazonaws.com
- elasticache.amazonaws.com
- elasticloadbalancing.amazonaws.com
- firehose.amazonaws.com
- guardduty.amazonaws.com
- health.amazonaws.com
- iam.amazonaws.com
- imagebuilder.amazonaws.com
- kinesis.amazonaws.com
- kinesisanalytics.amazonaws.com
- kinesisvideo.amazonaws.com
- kms.amazonaws.com
- lambda.amazonaws.com
- logs.amazonaws.com
- macie2.amazonaws.com
- monitoring.amazonaws.com
- network-firewall.amazonaws.com
- organizations.amazonaws.com
- quicksight.amazonaws.com
- ram.amazonaws.com
- rds.amazonaws.com
- resource-explorer-2.amazonaws.com
- resource-groups.amazonaws.com
- route53-recovery-readiness.amazonaws.com
- route53.amazonaws.com
- route53domains.amazonaws.com
- route53resolver.amazonaws.com
- s3-outposts.amazonaws.com
- s3.amazonaws.com
- s3express.amazonaws.com
- secretsmanager.amazonaws.com
- securityhub.amazonaws.com
- ses.amazonaws.com
- signin.amazonaws.com
- ssm.amazonaws.com
- sts.amazonaws.com
- waf-regional.amazonaws.com
- waf.amazonaws.com
- wafv2.amazonaws.com
Untuk mengetahui informasi selengkapnya tentang Pemetaan kolom dan Pemetaan UDM, lihat Pemetaan kolom AWS CloudTrail
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.