Mengumpulkan log AWS CloudTrail
Dokumen ini menjelaskan cara mengumpulkan log AWS CloudTrail dengan menyiapkan feed Google Security Operations dan cara kolom log dipetakan ke kolom Unified Data Model (UDM) Google SecOps.
Untuk mengetahui informasi selengkapnya, lihat Penyerapan data ke Google SecOps.
Deployment umum terdiri dari AWS CloudTrail dan feed Google SecOps yang dikonfigurasi untuk mengirim log ke Google SecOps. Deployment Anda mungkin berbeda dengan 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 memiliki 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 untuk ditulis ke bucket S3.
- Di konsol AWS, telusuri CloudTrail.
- Klik Create trail.
- Berikan Trail name.
- Pilih Create new S3 bucket. Anda juga dapat memilih untuk menggunakan bucket S3 yang sudah ada.
- Berikan nama untuk AWS KMS alias, atau pilih AWS KMS Key yang sudah ada.
- Anda dapat membiarkan setelan lainnya sebagai default, lalu klik Next.
- Pilih Event type, tambahkan Data events sesuai kebutuhan, lalu klik Next.
- Tinjau setelan di Review and create, lalu klik Create trail.
- Di konsol AWS, telusuri Amazon S3 Buckets.
- Klik bucket log yang baru dibuat, lalu pilih folder AWSLogs. Kemudian, klik Copy S3 URI dan simpan untuk digunakan pada langkah-langkah berikut.
Menyiapkan Antrean SQS Standar dan SNS
Jika Anda menggunakan antrean SQS, antrean tersebut harus berupa antrean Standar, bukan antrean FIFO.
- Aktifkan AWS CloudTrail dan konfigurasikan untuk mengirim 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 Memulai 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, setel Protocol ke SQS, dan Endpoint ke ARN antrean SQS.
CloudTrail tidak secara native mengirim log baru ke SNS. Untuk mengaktifkan notifikasi, Anda dapat menggunakan CloudTrail Event Selector for Management Events, atau menggunakan CloudTrail integration with CloudWatch Logs, lalu membuat CloudWatch Event Rule 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 untuk memublikasikan ke SNS, dan pastikan SNS diizinkan untuk mengirim pesan ke SQS.
Mengonfigurasi pengguna AWS IAM
Konfigurasikan pengguna AWS IAM yang akan digunakan Google SecOps untuk mengakses antrean SQS (jika digunakan) dan bucket S3.
- Di konsol AWS, telusuri IAM.
- Klik Users, lalu di layar berikutnya, klik Create Users.
- Berikan nama untuk pengguna, misalnya, chronicle-feed-user, dan pilih Provide user access to the AWS Management Console.
- Pilih Attach existing policies directly dan 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 lebih membatasi akses hanya ke bucket S3 tertentu dengan membuat kebijakan kustom. Klik Create policy dan ikuti dokumentasi AWS untuk membuat kebijakan kustom.
- Saat menerapkan kebijakan, pastikan Anda telah menyertakan
sqs:DeleteMessage. Google SecOps tidak dapat menghapus pesan jika izinsqs:DeleteMessagetidak dilampirkan ke antrean SQS. Semua pesan terakumulasi di sisi AWS, yang menyebabkan penundaan karena Google SecOps berulang kali mencoba mentransfer file yang sama. - Klik Next:Tags.
- Tambahkan tag jika diperlukan, lalu klik Next:Review.
- Tinjau konfigurasi, lalu klik Create user.
- Setelah pengguna dibuat, buka tab Security Credentials, lalu klik Create Access Key.
- Pilih CLI , lalu klik Next:Tags.
- Tambahkan tag jika diperlukan, lalu klik Create Access Key: Review.
Salin Access Key ID dan Secret Access Key pengguna yang dibuat, untuk digunakan pada langkah berikutnya.
Untuk menemukan
SubjectID, ikuti langkah-langkah berikut:- Mulai proses konfigurasi feed AWS CloudTrail dalam Google SecOps.
- Buka bucket Amazon S3 yang ditentukan dan tinjau log AWS CloudTrail untuk menemukan entri yang terkait dengan upaya penyiapan feed.
- Buka entri log yang relevan dan cari bagian
userIdentitydalam data JSON mentah. - Di dalam bagian tersebut, temukan kolom
principalIdatauuserName. Nilai numerik yang tercantum di sini adalah SubjectID unik Anda. - Salin SubjectID ini dan tambahkan ke kebijakan kepercayaan peran AWS IAM untuk memberikan izin akses yang diperlukan.
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 Create Key:Next.
- Tambahkan Alias untuk kunci. Secara opsional, tambahkan Description dan Tags jika diperlukan. Klik Next: Review.
- Setelah meninjau konfigurasi, klik Next.
- Pilih Key Users yang harus memiliki akses ke kunci ini, lalu klik Finish.
Menyiapkan feed
Ada dua titik entri yang berbeda untuk menyiapkan feed di platform Google SecOps:
- SIEM Settings > Feeds > Add New
- Content Hub > Content Packs > Get Started
Cara menyiapkan feed AWS CloudTrail
- Klik paket Amazon Cloud Platform.
- Di jenis log AWS CloudTrail, tentukan nilai berikut:
Tentukan nilai untuk kolom berikut:
- Source Type: Amazon SQS V2
- Nama Antrean: Nama antrean SQS yang akan dibaca
- S3 URI: URI bucket.
s3://your-log-bucket-name/- Ganti
your-log-bucket-namedengan nama sebenarnya dari bucket S3 Anda.
- Ganti
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai dengan preferensi penyerapan Anda.
Usia File Maksimum: Sertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
SQS Queue Access Key ID: Kunci akses akun yang merupakan string alfanumerik 20 karakter.
Kunci Akses Rahasia Antrean SQS: Kunci akses akun yang merupakan string alfanumerik 40 karakter.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi sebelumnya yang mengidentifikasi feed.
- Asset Namespace: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Create 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
Format log AWS CloudTrail yang didukung
Parser AWS CloudTrail mendukung log dalam format JSON.
Contoh log AWS CloudTrail yang didukung
JSON:
{ "Records": [{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAXELJRGZMPHEYTK4Q4:redlock", "arn": "arn:aws:sts::111111111111:assumed-role/PrismaCloudReadOnlyRole/redlock", "accountId": "111111111111", "accessKeyId": "ASIAXELJRGZMNUCV3DC4", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAXELJRGZMPHEYTK4Q4", "arn": "arn:aws:iam::111111111111:role/PrismaCloudReadOnlyRole", "accountId": "111111111111", "userName": "PrismaCloudReadOnlyRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T03:20:01Z", "mfaAuthenticated": "false" } } }, "eventTime": "2021-07-01T03:35:42Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "eu-west-1", "sourceIPAddress": "198.51.100.0", "userAgent": "aws-sdk-java/1.11.1025Linux/4.14.232-176.381.amzn2.x86_64OpenJDK_64-Bit_Server_VM/11.0.10+9java/11.0.10groovy/2.5.12vendor/AdoptOpenJDKcfg/retry-mode/legacy", "requestParameters": { "keyId": "11a011a1-1010-11a1-a0aa-c4e1a9367642" }, "responseElements": null, "requestID": "11a011a1-1010-11a1-a0aa-604ac86fc50e", "eventID": "11a011a1-1010-11a1-a0aa-17ef2bdeb889", "readOnly": true, "resources": [{ "accountId": "111111111111", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:111111111111:key/11a011a1-1010-11a1-a0aa-c4e1a9367642" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111111111111", "eventCategory": "Management" }] }
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.