Mengumpulkan log AWS Control Tower
Dokumen ini menjelaskan cara menyerap log AWS Control Tower ke Google Security Operations. AWS Control Tower memungkinkan pemantauan tata kelola, kepatuhan, dan keamanan di beberapa akun AWS. Integrasi ini memungkinkan Anda menganalisis log dari AWS Control Tower untuk mendapatkan visibilitas dan postur keamanan yang lebih baik.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS
Mengonfigurasi bucket Amazon S3
- Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket
- Simpan Nama dan Region bucket untuk digunakan nanti.
- Buat pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih Pengguna yang dibuat.
- Pilih tab Kredensial keamanan.
- Klik Create Access Key di bagian Access Keys.
- Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
- Klik Berikutnya.
- Opsional: tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download CSV file untuk menyimpan Access Key dan Secret Access Key untuk digunakan nanti.
- Klik Selesai.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan izin.
- Pilih Tambahkan izin.
- Pilih Lampirkan kebijakan secara langsung.
- Cari dan pilih kebijakan AmazonS3FullAccess dan CloudWatchLogsFullAccess.
- Klik Berikutnya.
- Klik Add permissions.
Mengonfigurasi CloudTrail di AWS Control Tower
- Login ke AWS Management Console.
- Buka AWS Control Tower.
- Di kotak penelusuran, ketik CloudTrail, lalu pilih dari daftar layanan.
Klik Buat Jejak untuk membuat jejak baru.
Tentukan Setelan Jejak:
- Nama jejak: Berikan nama yang bermakna untuk jejak (misalnya, ControlTowerTrail).
- Terapkan jejak ke semua region: Pastikan Anda memilih Ya untuk Terapkan jejak ke semua region.
- Peristiwa pengelolaan: Pastikan peristiwa Baca/Tulis disetel ke Semua.
- Opsional: Peristiwa data: Aktifkan peristiwa data S3 dan peristiwa data Lambda untuk merekam aktivitas data mendetail.
- Opsional: Validasi file log: Aktifkan opsi ini untuk memastikan bahwa file log tidak dirusak setelah disimpan.
Di pemilih Peristiwa, pilih untuk mencatat Peristiwa pengelolaan dan Peristiwa data.
Cara mengonfigurasi CloudTrail
- Buka Konsol AWS IAM.
- Klik Peran.
- Cari peran yang digunakan CloudTrail
AWSServiceRoleForCloudTrail
(peran dibuat secara otomatis saat Anda menyiapkan CloudTrail). - Di tab Izin untuk peran, klik Lampirkan kebijakan.
- Telusuri
CloudTrailS3DeliveryPolicy
. - Centang kotak di samping kebijakan
CloudTrailS3DeliveryPolicy
. - Klik Lampirkan kebijakan.
- Buka Konsol CloudTrail AWS.
- Di bagian Storage location, pilih S3 sebagai tujuan untuk file log.
- Pilih bucket S3 yang Anda buat sebelumnya.
- Klik Izinkan saat diminta untuk memberikan izin kepada CloudTrail untuk menulis log ke bucket pilihan Anda.
- Tinjau setelan Anda, lalu klik Buat (atau Simpan perubahan jika Anda mengedit jejak yang ada).
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 Control Tower
- Klik paket Amazon Cloud Platform.
- Temukan jenis log AWS Control Tower.
Tentukan nilai di 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 beberapa 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.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
awsAccountId | target.user.group_identifiers | ID akun AWS yang terkait dengan peristiwa. |
digestPublicKeyFingerprint | target.file.sha1 | Sidik jari kunci publik yang digunakan untuk menandatangani ringkasan. |
digestPublicKeyFingerprint | target.resource.attribute.labels.value | Sidik jari kunci publik yang digunakan untuk menandatangani ringkasan. |
digestS3Bucket | target.resource.name | Nama bucket S3 tempat ringkasan disimpan. |
digestS3Object | target.file.full_path | Jalur ke objek ringkasan dalam bucket S3. |
digestSignatureAlgorithm | network.tls.cipher | Algoritma yang digunakan untuk menandatangani ringkasan. |
digestSignatureAlgorithm | target.resource.attribute.labels.value | Algoritma yang digunakan untuk menandatangani ringkasan. |
digestStartTime | metadata.event_timestamp | Waktu mulai periode ringkasan. Digunakan sebagai waktu acara jika eventTime tidak tersedia. |
eventCategory | security_result.category_details | Kategori peristiwa. |
eventID | metadata.product_log_id | ID unik acara. |
eventName | metadata.product_event_type | Nama acara. |
eventName | security_result.summary | Nama peristiwa, yang digunakan untuk membuat ringkasan hasil keamanan. |
eventSource | target.application | Sumber peristiwa. |
eventTime | metadata.event_timestamp | Waktu terjadinya peristiwa. |
eventType | additional.fields.value.string_value | Jenis peristiwa. |
logFiles.hashValue | about.file.sha256 | Hash SHA-256 file log. |
logFiles.s3Bucket | about.resource.name | Nama bucket S3 tempat file log disimpan. |
logFiles.s3Object | about.file.full_path | Jalur ke objek file log di bucket S3. |
previousDigestHashValue | target.file.sha256 | Hash SHA-256 ringkasan sebelumnya. |
recipientAccountId | target.resource.attribute.labels.value | ID akun AWS penerima peristiwa. |
Records.awsRegion | principal.location.name | Region AWS tempat peristiwa terjadi. |
Records.errorCode | security_result.rule_id | Kode error, jika ada, yang terkait dengan permintaan. |
Records.errorMessage | security_result.description | Pesan error, jika ada, yang terkait dengan permintaan. |
Records.eventCategory | security_result.category_details | Kategori peristiwa. |
Records.eventID | metadata.product_log_id | ID unik acara. |
Records.eventName | metadata.product_event_type | Nama acara. |
Records.eventName | security_result.summary | Nama peristiwa, yang digunakan untuk membuat ringkasan hasil keamanan. |
Records.eventSource | target.application | Sumber peristiwa. |
Records.eventTime | metadata.event_timestamp | Waktu terjadinya peristiwa. |
Records.eventType | additional.fields.value.string_value | Jenis peristiwa. |
Records.requestID | target.resource.attribute.labels.value | ID permintaan. |
Records.requestParameters.groupName | target.group.group_display_name | Nama grup, jika ada, yang terkait dengan permintaan. |
Records.requestParameters.userName | src.user.userid | Nama pengguna, jika ada, yang terkait dengan permintaan. |
Records.requestParameters.userName | src.user.user_display_name | Nama pengguna, jika ada, yang terkait dengan permintaan. |
Records.responseElements.ConsoleLogin | security_action | Hasil upaya login konsol. |
Records.responseElements.ConsoleLogin | security_result.summary | Hasil upaya login konsol, yang digunakan untuk membuat ringkasan hasil keamanan. |
Records.sourceIPAddress | principal.hostname | Alamat IP utama. Digunakan sebagai nama host jika bukan IP yang valid. |
Records.sourceIPAddress | principal.ip | Alamat IP utama. |
Records.tlsDetails.cipherSuite | network.tls.cipher | Cipher suite yang digunakan untuk koneksi TLS. |
Records.tlsDetails.tlsVersion | network.tls.version | Versi TLS yang digunakan untuk koneksi. |
Records.userAgent | network.http.user_agent | Agen pengguna permintaan. |
Records.userIdentity.accessKeyId | additional.fields.value.string_value | ID kunci akses yang digunakan untuk permintaan. |
Records.userIdentity.accountId | principal.user.group_identifiers | ID akun AWS pengguna. |
Records.userIdentity.arn | principal.user.attribute.labels.value | ARN pengguna. |
Records.userIdentity.arn | target.user.userid | ARN pengguna. Digunakan sebagai userid jika userName tidak tersedia. |
Records.userIdentity.principalId | principal.user.product_object_id | ID utama pengguna. |
Records.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.value | Apakah MFA digunakan untuk permintaan tersebut. |
Records.userIdentity.sessionContext.sessionIssuer.userName | principal.user.userid | Nama pengguna yang mengeluarkan sesi. |
Records.userIdentity.type | principal.resource.type | Jenis identitas yang digunakan untuk permintaan. |
Records.userIdentity.userName | target.user.userid | Nama pengguna pengguna. |
- | extensions.auth.mechanism | Disetel ke "REMOTE". |
- | metadata.event_type | Tetapkan ke "STATUS_UPDATE", "USER_RESOURCE_ACCESS", "USER_LOGIN", atau "GENERIC_EVENT" berdasarkan eventName. |
- | metadata.log_type | Tetapkan ke "AWS_CONTROL_TOWER". |
- | metadata.product_name | Setel ke "AWS Control Tower". |
- | metadata.vendor_name | Tetapkan ke "AWS". |
- | principal.asset.attribute.cloud.environment | Tetapkan ke "AMAZON_WEB_SERVICES". |
- | security_result.action | Tetapkan ke "ALLOW" atau "BLOCK" berdasarkan errorCode. |
- | security_result.severity | Tetapkan ke "INFORMATIONAL". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.