Mengumpulkan log AWS Elastic MapReduce
Dokumen ini menjelaskan cara menyerap log AWS Elastic MapReduce (EMR) ke Google Security Operations. AWS EMR adalah platform big data cloud-native yang memproses data dalam jumlah besar dengan cepat. Mengintegrasikan log EMR ke Google SecOps memungkinkan Anda menganalisis aktivitas cluster dan mendeteksi potensi ancaman keamanan.
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.
Cara mengonfigurasi AWS EMR untuk meneruskan Log
- Login ke AWS Management Console.
- Di kotak penelusuran, ketik EMR, lalu pilih Amazon EMR dari daftar layanan.
- Klik Grup.
- Cari dan pilih cluster EMR yang ingin Anda aktifkan pencatatannya.
- Klik Edit di halaman Cluster details.
- Di layar Edit Cluster, buka bagian Logging.
- Pilih logging Aktifkan.
- Tentukan bucket S3 tempat log akan disimpan.
- Tentukan S3 URI dalam format
s3://your-bucket-name/
(tindakan ini akan menyimpan semua log EMR di root bucket). - Pilih jenis log berikut:
Step logs
Application logs
YARN logs
System logs
HDFS Logs
(jika Anda menggunakan Hadoop)
- Klik Simpan.
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 EMR
- Klik paket Amazon Cloud Platform.
- Cari jenis log AWS EMR.
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 |
---|---|---|
app_id |
additional.fields[].key |
Nilai "APP" ditetapkan melalui parser |
app_id |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom APP dalam log mentah. |
app_name |
additional.fields[].key |
Nilai "APPNAME" ditetapkan melalui parser |
app_name |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom APPNAME dalam log mentah. |
blockid |
additional.fields[].key |
Nilai "blockid" ditetapkan melalui parser |
blockid |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom blockid dalam log mentah. |
bytes |
network.received_bytes |
Dipetakan langsung dari kolom bytes dalam log mentah, dikonversi menjadi bilangan bulat tidak bertanda. |
cliID |
additional.fields[].key |
Nilai "cliID" ditetapkan melalui parser |
cliID |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom cliID dalam log mentah. |
cmd |
target.process.command_line |
Dipetakan langsung dari kolom cmd dalam log mentah. |
comp_name |
additional.fields[].key |
Nilai "COMP" ditetapkan melalui parser |
comp_name |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom COMP dalam log mentah. |
configuration_version |
additional.fields[].key |
Nilai "configuration_version" ditetapkan melalui parser |
configuration_version |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom configuration_version di log mentah, dikonversi menjadi string. |
containerID |
additional.fields[].key |
Nilai "containerID" ditetapkan melalui parser |
containerID |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom CONTAINERID dalam log mentah. |
description |
security_result.description |
Dipetakan langsung dari kolom description dalam log mentah. |
dfs.FSNamesystem.* |
additional.fields[].key |
Kunci dibuat dengan menggabungkan "dfs.FSNamesystem." dengan kunci dari data JSON. |
dfs.FSNamesystem.* |
additional.fields[].value.string_value |
Nilai dipetakan langsung dari nilai yang sesuai dalam objek JSON dfs.FSNamesystem , yang dikonversi menjadi string. |
duration |
additional.fields[].key |
Nilai "durasi" ditetapkan melalui parser |
duration |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom duration dalam log mentah. |
duration |
network.session_duration.seconds |
Dipetakan langsung dari kolom duration dalam log mentah, dikonversi menjadi bilangan bulat. |
environment |
additional.fields[].key |
Nilai "environment" ditetapkan melalui parser |
environment |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom environment dalam log mentah. Diekstrak dari kolom ip_port menggunakan grok dan manipulasi string. Diekstrak dari kolom ip_port menggunakan grok dan manipulasi string, dikonversi menjadi bilangan bulat. |
event_type |
metadata.event_type |
Ditentukan oleh logika parser berdasarkan keberadaan informasi principal dan target . Dapat berupa NETWORK_CONNECTION , USER_RESOURCE_ACCESS , STATUS_UPDATE , atau GENERIC_EVENT . |
file_path |
target.file.full_path |
Dipetakan langsung dari kolom file_path dalam log mentah. |
host |
principal.hostname |
Dipetakan langsung dari kolom host dalam log mentah. |
host |
target.hostname |
Dipetakan langsung dari kolom host dalam log mentah. |
host_ip |
principal.ip |
Dipetakan langsung dari kolom host_ip dalam log mentah. |
host_port |
principal.port |
Dipetakan langsung dari kolom host_port dalam log mentah, dikonversi menjadi bilangan bulat. |
http_url |
target.url |
Dipetakan langsung dari kolom http_url dalam log mentah. |
index |
additional.fields[].key |
Nilai "index" ditetapkan melalui parser |
index |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom index dalam log mentah. |
kind |
metadata.product_event_type |
Dipetakan langsung dari kolom kind dalam log mentah. Nilai "AWS_EMR" ditetapkan melalui parser Nilai "AWS EMR" ditetapkan melalui parser Nilai "AMAZON" ditetapkan melalui parser |
offset |
additional.fields[].key |
Nilai "offset" ditetapkan melalui parser |
offset |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom offset dalam log mentah. |
op |
metadata.product_event_type |
Dipetakan langsung dari kolom op atau OPERATION dalam log mentah. |
proto |
network.application_protocol |
Diekstrak dari kolom http_url menggunakan grok, dikonversi menjadi huruf besar. |
puppet_version |
additional.fields[].key |
Nilai "puppet_version" ditetapkan melalui parser |
puppet_version |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom puppet_version dalam log mentah. |
queue_name |
additional.fields[].key |
Nilai "queue_name" ditetapkan melalui parser |
queue_name |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom queue_name dalam log mentah. |
report_format |
additional.fields[].key |
Nilai "report_format" ditetapkan melalui parser |
report_format |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom report_format di log mentah, dikonversi menjadi string. |
resource |
additional.fields[].key |
Nilai "resource" ditetapkan melalui parser |
resource |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom resource dalam log mentah. |
result |
security_result.action_details |
Dipetakan langsung dari kolom RESULT dalam log mentah. |
security_id |
additional.fields[].key |
Nilai "security_id" ditetapkan melalui parser |
security_id |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom security_id dalam log mentah. |
severity |
security_result.severity |
Dipetakan dari kolom severity dalam log mentah. INFO dipetakan ke INFORMATIONAL , WARN dipetakan ke MEDIUM . |
srvID |
additional.fields[].key |
Nilai "srvID" ditetapkan melalui parser |
srvID |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom srvID dalam log mentah. |
status |
additional.fields[].key |
Nilai "status" ditetapkan melalui parser |
status |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom status dalam log mentah. |
summary |
security_result.summary |
Dipetakan langsung dari kolom summary dalam log mentah. |
target_app |
target.application |
Dipetakan langsung dari kolom TARGET dalam log mentah. |
target_ip |
target.ip |
Dipetakan langsung dari kolom target_ip atau IP dalam log mentah. |
target_port |
target.port |
Dipetakan langsung dari kolom target_port dalam log mentah, dikonversi menjadi bilangan bulat. |
timestamp |
metadata.event_timestamp |
Dipetakan langsung dari kolom timestamp dalam log mentah, diuraikan sebagai stempel waktu ISO8601. |
timestamp |
event.timestamp |
Dipetakan langsung dari kolom timestamp dalam log mentah, diuraikan sebagai stempel waktu ISO8601. |
trade_date |
additional.fields[].key |
Nilai "trade_date" ditetapkan melalui parser |
trade_date |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom trade_date dalam log mentah. |
transaction_uuid |
additional.fields[].key |
Nilai "transaction_uuid" ditetapkan melalui parser |
transaction_uuid |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom transaction_uuid dalam log mentah. |
type |
additional.fields[].key |
Nilai "type" ditetapkan melalui parser |
type |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom type dalam log mentah. |
user |
target.user.userid |
Dipetakan langsung dari kolom USER atau ugi dalam log mentah. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.