Mengumpulkan log AWS Elastic MapReduce
Versi Parser: 1.0
Dokumen ini menjelaskan cara menyerap log AWS Elastic MapReduce (EMR) ke Google Security Operations. AWS EMR adalah platform big data berbasis cloud 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 Name dan Region bucket untuk digunakan nanti.
- Buat pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih User 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 Done.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan Izin.
- Pilih Add permissions.
- Pilih Attach policies directly.
- Telusuri 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 dan pilih Amazon EMR dari daftar layanan.
- Klik Clusters.
- Temukan dan pilih EMR cluster yang ingin Anda aktifkan logging-nya.
- Klik Edit di halaman Cluster details.
- Di layar Edit Cluster, buka bagian Logging.
- Pilih Enable logging.
- Tentukan bucket S3 tempat log akan disimpan.
- Tentukan S3 URI dalam format
s3://your-bucket-name/(ini akan menyimpan semua log EMR di root bucket). - Pilih jenis log berikut:
Step logsApplication logsYARN logsSystem logsHDFS Logs(jika Anda menggunakan Hadoop)
- Klik Simpan.
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 EMR
- Klik paket Amazon Cloud Platform.
- Temukan jenis log AWS EMR.
Tentukan nilai di 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-namedengan nama sebenarnya 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.
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.
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.
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 di log mentah. |
app_name |
additional.fields[].key |
Nilai "APPNAME" ditetapkan melalui parser |
app_name |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom APPNAME di log mentah. |
blockid |
additional.fields[].key |
Nilai "blockid" ditetapkan melalui parser |
blockid |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom blockid di log mentah. |
bytes |
network.received_bytes |
Dipetakan langsung dari kolom bytes di log mentah, dikonversi menjadi bilangan bulat tanpa tanda. |
cliID |
additional.fields[].key |
Nilai "cliID" ditetapkan melalui parser |
cliID |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom cliID di log mentah. |
cmd |
target.process.command_line |
Dipetakan langsung dari kolom cmd di log mentah. |
comp_name |
additional.fields[].key |
Nilai "COMP" ditetapkan melalui parser |
comp_name |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom COMP di 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 di log mentah. |
description |
security_result.description |
Dipetakan langsung dari kolom description di 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 "duration" ditetapkan melalui parser |
duration |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom duration di log mentah. |
duration |
network.session_duration.seconds |
Dipetakan langsung dari kolom duration di 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 di 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 di log mentah. |
host |
principal.hostname |
Dipetakan langsung dari kolom host di log mentah. |
host |
target.hostname |
Dipetakan langsung dari kolom host di log mentah. |
host_ip |
principal.ip |
Dipetakan langsung dari kolom host_ip di log mentah. |
host_port |
principal.port |
Dipetakan langsung dari kolom host_port di log mentah, dikonversi menjadi bilangan bulat. |
http_url |
target.url |
Dipetakan langsung dari kolom http_url di log mentah. |
index |
additional.fields[].key |
Nilai "index" ditetapkan melalui parser |
index |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom index di log mentah. |
kind |
metadata.product_event_type |
Dipetakan langsung dari kolom kind di 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 di log mentah. |
op |
metadata.product_event_type |
Dipetakan langsung dari kolom op atau OPERATION di 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 di 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 di 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 di log mentah. |
result |
security_result.action_details |
Dipetakan langsung dari kolom RESULT di 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 di log mentah. |
severity |
security_result.severity |
Dipetakan dari kolom severity di 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 di log mentah. |
status |
additional.fields[].key |
Nilai "status" ditetapkan melalui parser |
status |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom status di log mentah. |
summary |
security_result.summary |
Dipetakan langsung dari kolom summary di log mentah. |
target_app |
target.application |
Dipetakan langsung dari kolom TARGET di log mentah. |
target_ip |
target.ip |
Dipetakan langsung dari kolom target_ip atau IP di log mentah. |
target_port |
target.port |
Dipetakan langsung dari kolom target_port di log mentah, dikonversi menjadi bilangan bulat. |
timestamp |
metadata.event_timestamp |
Dipetakan langsung dari kolom timestamp di log mentah, diuraikan sebagai stempel waktu ISO8601. |
timestamp |
event.timestamp |
Dipetakan langsung dari kolom timestamp di 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 di 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 di log mentah. |
type |
additional.fields[].key |
Nilai "type" ditetapkan melalui parser |
type |
additional.fields[].value.string_value |
Dipetakan langsung dari kolom type di log mentah. |
user |
target.user.userid |
Dipetakan langsung dari kolom USER atau ugi di log mentah. |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.