Mengumpulkan log AWS CloudTrail

Versi Parser: 30.0

Didukung di:

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 standar 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 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 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 akan mengonfigurasi log AWS CloudTrail untuk ditulis ke bucket S3.

  1. Di konsol AWS, telusuri CloudTrail.
  2. Klik Create trail.
  3. Berikan Nama jalur.
  4. Pilih Create new S3 bucket. Anda juga dapat memilih untuk menggunakan bucket S3 yang ada.
  5. Berikan nama untuk AWS KMS alias, atau pilih AWS KMS Key yang ada.
  6. Anda dapat membiarkan setelan lainnya sesuai default, lalu klik Next.
  7. Pilih Event type, tambahkan Data events sesuai kebutuhan, lalu klik Next.
  8. Tinjau setelan di Review and create, lalu klik Create trail.
  9. Di konsol AWS, telusuri Amazon S3 Buckets.
  10. Klik bucket log yang baru dibuat, lalu pilih folder AWSLogs. Kemudian, klik Copy S3 URI dan simpan untuk digunakan di langkah-langkah berikut.

Menyiapkan Antrean SQS Standar dan SNS

Jika Anda menggunakan antrean SQS, antrean tersebut harus berupa antrean Standard, bukan antrean FIFO.

  1. Aktifkan AWS CloudTrail dan konfigurasikan untuk mengirimkan log ke bucket S3 menggunakan jejak baru atau yang sudah ada.
  2. Buka konsol AWS SNS dan buat topik Standard baru. Beri nama, misalnya, CloudTrail-Notification-Topic.
  3. 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"}
             }
          }
       ]
    }
    
  4. Buka SNS topic → Subscriptions → Create subscription, tetapkan Protocol ke SQS, dan Endpoint ke ARN antrean SQS.

  5. 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 Anda.

    Contoh pola peristiwa:

    {
       "source": ["aws.s3"],
       "detail-type": ["AWS API Call via CloudTrail"],
       "detail": {
          "eventName": ["PutObject"],
          "requestParameters": {
             "bucketName": [`CloudTrail-Notification-Topic`]
          }
       }
    }
    
  6. 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.

  1. Di konsol AWS, telusuri IAM.
  2. Klik Users, lalu di layar berikutnya, klik Create Users.
  3. Berikan nama untuk pengguna, misalnya, chronicle-feed-user, dan pilih Provide user access to the AWS Management Console.
  4. Pilih Attach existing policies directly dan pilih AmazonS3ReadOnlyAccess atau AmazonS3FullAccess, sesuai kebutuhan. AmazonS3FullAccess akan digunakan jika Google SecOps harus mengosongkan bucket S3 setelah membaca log, untuk mengoptimalkan biaya penyimpanan AWS S3.
  5. Sebagai alternatif yang direkomendasikan untuk langkah sebelumnya, Anda dapat lebih membatasi akses hanya ke bucket S3 yang ditentukan dengan membuat kebijakan kustom. Klik Create policy dan ikuti dokumentasi AWS untuk membuat kebijakan kustom.
  6. Saat menerapkan kebijakan, pastikan Anda telah menyertakan sqs:DeleteMessage. Google SecOps tidak dapat menghapus pesan jika izin sqs:DeleteMessage tidak dilampirkan ke antrean SQS. Semua pesan diakumulasikan di sisi AWS, yang menyebabkan penundaan karena Google SecOps berulang kali mencoba mentransfer file yang sama.
  7. Klik Next:Tags.
  8. Tambahkan tag jika diperlukan, lalu klik Next:Review.
  9. Tinjau konfigurasi, lalu klik Create user.
  10. Setelah pengguna dibuat, buka tab Kredensial Keamanan, lalu klik Buat Kunci Akses.
  11. Pilih CLI, lalu klik Next:Tags.
  12. Tambahkan tag jika diperlukan, lalu klik Create Access Key: Review.
  13. Salin Access Key ID dan Secret Access Key pengguna yang dibuat, untuk digunakan pada langkah berikutnya.

    Untuk menemukan SubjectID, ikuti langkah-langkah berikut:

    1. Mulai proses konfigurasi feed AWS CloudTrail dalam Google SecOps.
    2. Buka bucket Amazon S3 yang Anda tentukan dan tinjau log AWS CloudTrail Anda untuk menemukan entri yang terkait dengan upaya penyiapan feed.
    3. Buka entri log yang relevan dan cari bagian userIdentity dalam data JSON mentah.
    4. Di dalam bagian tersebut, temukan kolom principalId atau userName. Nilai numerik yang tercantum di sini adalah SubjectID unik Anda.
    5. Salin SubjectID ini dan tambahkan ke kebijakan kepercayaan peran AWS IAM Anda untuk memberikan izin akses yang diperlukan.

Mengonfigurasi izin kunci KMS

Kunci KMS diperlukan untuk mendekripsi log CloudTrail, yang dienkripsi di sisi server. AWS KMS menyediakan enkripsi dan keamanan yang ditingkatkan untuk data sensitif yang disimpan di Amazon S3.

  1. Di konsol AWS, telusuri Key Management Service (KMS).
  2. Klik Create Key:Next.
  3. Tambahkan Alias untuk kunci. Jika perlu, tambahkan Description dan Tags. Klik Next: Review.
  4. Setelah meninjau konfigurasi, klik Next.
  5. Pilih Key Users yang akan memiliki akses ke kunci ini, lalu klik Finish.

Menyiapkan feed

Ada dua titik entri yang berbeda untuk menyiapkan feed di platform Google SecOps:

  • Settings > Data Management > Feeds > Add New Feed (Di platform khusus SIEM, Settings > Feeds > Add New Feed)
  • Content Hub > Paket Konten > Mulai

Cara menyiapkan feed AWS CloudTrail

  1. Klik paket Amazon Cloud Platform.
  2. Di jenis log AWS CloudTrail, tentukan nilai berikut:
  3. Tentukan nilai untuk kolom berikut:

    • Source Type: Amazon SQS V2
    • Queue Name: Nama antrean SQS yang akan dibaca
    • S3 URI: URI bucket.
      • s3://your-log-bucket-name/
        • Ganti your-log-bucket-name dengan nama sebenarnya bucket S3 Anda.
    • 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.

    • SQS Queue Secret Access Key: Kunci akses akun yang merupakan string alfanumerik 40 karakter.

    Opsi lanjutan

    • Nama Feed: Nilai yang diisi otomatis yang mengidentifikasi feed.
    • Namespace Aset: Namespace yang terkait dengan feed.
    • Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
  4. Klik Buat feed.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi beberapa feed untuk berbagai jenis log dalam kelompok 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

Log Perubahan

Melihat Log Perubahan untuk parser ini

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.