Mengumpulkan log Host AWS EC2

Didukung di:

Dokumen ini menjelaskan cara mengintegrasikan log Host AWS EC2 ke Google Security Operations untuk pemantauan dan analisis. Integrasi ini melibatkan penguraian dan pemetaan log host EC2 ke Model Data Terpadu (UDM), melakukan transformasi data, dan membuat hubungan antara host dan instance EC2. Log ini memberikan informasi berharga tentang instance, properti host, jenis instance, dan metrik performa yang dapat digunakan untuk pemantauan keamanan, audit, dan kepatuhan.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Anda memiliki akses dengan hak istimewa ke AWS.

Mengonfigurasi AWS IAM dan S3

  1. Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket.
  2. Simpan Nama dan Region bucket untuk digunakan nanti.
  3. Buat pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
  4. Pilih Pengguna yang dibuat.
  5. Pilih tab Kredensial keamanan.
  6. Klik Create Access Key di bagian Access Keys.
  7. Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
  8. Klik Next.
  9. Opsional: tambahkan tag deskripsi.
  10. Klik Create access key.
  11. Klik Download file CSV untuk menyimpan Kunci Akses dan Kunci Akses Rahasia untuk digunakan nanti.
  12. Klik Done.
  13. Pilih tab Izin.
  14. Klik Tambahkan izin di bagian Kebijakan izin.
  15. Pilih Tambahkan izin.
  16. Pilih Lampirkan kebijakan secara langsung
  17. Telusuri dan pilih kebijakan AmazonS3FullAccess.
  18. Klik Next.
  19. Klik Tambahkan izin.

Mengonfigurasi CloudTrail untuk AWS KMS

  1. Login ke AWS Management Console.
  2. Di kotak penelusuran, ketik dan pilih CloudTrail dari daftar layanan.
  3. Klik Buat jalur.
  4. Berikan Trail name; misalnya, EC2-Activity-Trail.
  5. Centang kotak Aktifkan untuk semua akun di organisasi saya.
  6. Ketik URI bucket S3 yang dibuat sebelumnya (formatnya harus: s3://your-log-bucket-name/), atau buat bucket S3 baru.
  7. Jika SSE-KMS diaktifkan, berikan nama untuk alias AWS KMS, atau pilih Kunci AWS KMS yang ada.
  8. Anda dapat membiarkan setelan lainnya tetap default.
  9. Klik Next.
  10. Pilih Peristiwa pengelolaan dan Peristiwa data di bagian Jenis Peristiwa untuk merekam aktivitas host EC2.
  11. Klik Next.
  12. Tinjau setelan di Tinjau dan buat.
  13. Klik Buat jalur.
  14. Opsional: jika Anda membuat bucket baru, lanjutkan dengan proses berikut:
    • Buka S3.
    • Identifikasi dan pilih bucket log yang baru dibuat.
    • Pilih folder AWSLogs.
    • Klik Salin URI S3 dan simpan.

Mengonfigurasi feed di Google SecOps untuk menyerap Host AWS EC2

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Feed name, masukkan nama untuk feed; misalnya, AWS EC2 Hosts Logs.
  4. Pilih Amazon S3 sebagai Source type.
  5. Pilih AWS EC2 Hosts sebagai Log type.
  6. Klik Next.
  7. Tentukan nilai untuk parameter input berikut:

    • Region: region tempat bucket Amazon S3 berada.
    • S3 URI: URI bucket.
      • s3://your-log-bucket-name/
        • Ganti your-log-bucket-name dengan nama bucket yang sebenarnya.
    • URI adalah: pilih Direktori atau Direktori yang menyertakan subdirektori.
    • Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.

    • Access Key ID: Kunci akses pengguna dengan akses ke bucket s3.

    • Kunci Akses Rahasia: kunci rahasia Pengguna dengan akses ke bucket s3.

    • Namespace aset: namespace aset.

    • Label penyerapan: label yang akan diterapkan ke peristiwa dari feed ini.

  8. Klik Next.

  9. Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
AllocationTime entity.metadata.creation_timestamp Kolom AllocationTime diuraikan sebagai stempel waktu dan dipetakan ke kolom creation_timestamp. Parser mencoba berbagai format (yyyy-MM-dd HH:mm:ss, RFC 3339, UNIX, ISO8601).
AllowsMultipleInstanceTypes entity.entity.asset.attribute.labels.value Nilai AllowsMultipleInstanceTypes dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke allows_multiple_instance_types.
AutoPlacement entity.entity.asset.attribute.labels.value Nilai AutoPlacement dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke auto_placement.
AvailabilityZone entity.entity.asset.attribute.cloud.availability_zone Kolom AvailabilityZone dipetakan langsung ke kolom availability_zone.
AvailabilityZoneID entity.entity.asset.attribute.labels.value Nilai AvailabilityZoneID dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke availability_zone_id.
AvailableCapacity.AvailableInstanceCapacity.AvailableCapacity entity.entity.asset.attribute.labels.value Nilai AvailableCapacity.AvailableInstanceCapacity.AvailableCapacity (atau AvailableCapacity.Instance.Available setelah diganti namanya) dikonversi menjadi string dan digunakan sebagai nilai label. Kunci ditetapkan ke available_instance_capacity_available_capacity.
AvailableCapacity.AvailableInstanceCapacity.InstanceType entity.entity.asset.attribute.labels.value Nilai AvailableCapacity.AvailableInstanceCapacity.InstanceType (atau AvailableCapacity.Instance.Type setelah diganti namanya) digunakan sebagai nilai label. Kunci ditetapkan ke available_instance_capacity_instance_type.
AvailableCapacity.AvailableInstanceCapacity.TotalCapacity entity.entity.asset.attribute.labels.value Nilai AvailableCapacity.AvailableInstanceCapacity.TotalCapacity (atau AvailableCapacity.Instance.Total setelah diganti namanya) dikonversi menjadi string dan digunakan sebagai nilai label. Kunci ditetapkan ke total_capacity.
AvailableCapacity.AvailableVCpus entity.entity.asset.attribute.labels.value Nilai AvailableCapacity.AvailableVCpus (atau AvailableCapacity.VCPUs setelah diganti namanya) dikonversi menjadi string dan digunakan sebagai nilai label. Kunci ditetapkan ke available_v_cpus.
ClientToken entity.entity.asset.attribute.labels.value Nilai ClientToken dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke client_token.
HostID entity.metadata.product_entity_id Kolom HostID (atau ID setelah diganti namanya) dipetakan langsung ke kolom product_entity_id.
HostID entity.entity.asset.asset_id Kolom HostID (atau ID setelah diganti namanya) dipetakan langsung ke kolom asset_id.
HostMaintenance entity.entity.asset.attribute.labels.value Nilai HostMaintenance (atau Maintenance setelah diganti namanya) dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke host_maintenance.
HostProperties.Cores entity.entity.asset.hardware.cpu_number_cores Nilai HostProperties.Cores dikonversi menjadi bilangan bulat tanpa tanda tangan dan dipetakan ke cpu_number_cores.
HostProperties.InstanceFamily entity.entity.asset.attribute.labels.value Nilai HostProperties.InstanceFamily dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke host_properties_instance_family.
HostProperties.InstanceType entity.entity.asset.attribute.labels.value Nilai HostProperties.InstanceType dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke host_properties_instance_type.
HostProperties.Sockets entity.entity.asset.attribute.labels.value Nilai HostProperties.Sockets dikonversi menjadi string dan digunakan sebagai nilai label. Kunci ditetapkan ke host_properties_sockets.
HostProperties.TotalVCpus entity.entity.asset.attribute.labels.value Nilai HostProperties.TotalVCpus (atau HostProperties.TotalVCPUs setelah diganti namanya) dikonversi menjadi string dan digunakan sebagai nilai label. Kunci ditetapkan ke host_properties_total_v_cpus.
HostRecovery entity.entity.asset.attribute.labels.value Nilai HostRecovery (atau Recovery setelah diganti namanya) dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke host_recovery.
HostReservationID entity.entity.asset.attribute.labels.value Nilai HostReservationID (atau ReservationID setelah diganti namanya) dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke host_reservation_id.
MemberOfServiceLinkedResourceGroup entity.entity.asset.attribute.labels.value Nilai MemberOfServiceLinkedResourceGroup dikonversi menjadi string dan digunakan sebagai nilai label. Kunci ditetapkan ke member_of_service_linked_resource_group.
OwnerID entity.entity.asset.attribute.labels.value Nilai OwnerID dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke owner_id.
ReleaseTime entity.entity.asset.attribute.labels.value Nilai ReleaseTime dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke release_time.
State entity.entity.asset.attribute.labels.value Nilai State dari log mentah digunakan sebagai nilai label. Kunci untuk label ini ditetapkan ke state.
TagSet entity.entity.asset.attribute.labels Array TagSet di-iterasi, dan Key dan Value setiap tag digunakan sebagai kunci dan nilai label. Nilai AMAZON_WEB_SERVICES ditetapkan ke kolom ini oleh parser. collection_time dari log mentah dipetakan ke kolom collected_timestamp. Nilai ASSET ditetapkan ke kolom ini oleh parser. Nilai AWS EC2 HOSTS ditetapkan ke kolom ini oleh parser. Nilai AWS ditetapkan ke kolom ini oleh parser. Hubungan berasal dari kolom Instances dan OutpostArn, tetapi kolom ini sendiri tidak dipetakan langsung ke objek IDM. Logika parser membuat objek hubungan berdasarkan kolom ini dan menggabungkannya ke dalam array relations.
collection_time entity.metadata.collected_timestamp collection_time log digunakan sebagai collected_timestamp peristiwa.

Perubahan

2024-01-31

  • Menambahkan dukungan untuk skema baru.

2023-12-14

  • Parser yang baru dibuat.

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