Pertanyaan Danau Keamanan untuk AWS versi sumber 1 (OCSF1.0.0-rc.2) - Danau Keamanan Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pertanyaan Danau Keamanan untuk AWS versi sumber 1 (OCSF1.0.0-rc.2)

Bagian berikut memberikan panduan tentang kueri data dari Security Lake dan menyertakan beberapa contoh kueri untuk didukung secara asli AWS sumber. Kueri ini dirancang untuk mengambil data secara spesifik Wilayah AWS. Contoh-contoh ini menggunakan us-east-1 (US East (Virginia N.)). Selain itu, contoh query menggunakan LIMIT 25 parameter, yang mengembalikan hingga 25 record. Anda dapat menghilangkan parameter ini atau menyesuaikannya berdasarkan preferensi Anda. Untuk contoh lainnya, lihat GitHub direktori Amazon Security Lake OCSF Queries.

Tabel sumber log

Saat Anda menanyakan data Security Lake, Anda harus menyertakan nama tabel Lake Formation tempat data berada.

SELECT * FROM amazon_security_lake_glue_db_DB_Region.amazon_security_lake_table_DB_Region_SECURITY_LAKE_TABLE WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Nilai umum untuk tabel sumber log meliputi yang berikut:

  • cloud_trail_mgmt_1_0 – AWS CloudTrail acara manajemen

  • lambda_execution_1_0— peristiwa CloudTrail data untuk Lambda

  • s3_data_1_0— peristiwa CloudTrail data untuk S3

  • route53_1_0- Log kueri penyelesai Amazon Route 53

  • sh_findings_1_0 – AWS Security Hub temuan

  • vpc_flow_1_0— Log Aliran Amazon Virtual Private Cloud (AmazonVPC)

Contoh: Semua temuan Security Hub dalam tabel sh_findings_1_0 dari Wilayah us-east-1

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Database Wilayah

Saat Anda menanyakan data Security Lake, Anda harus menyertakan nama Wilayah database tempat Anda menanyakan data. Untuk daftar lengkap Wilayah basis data tempat Danau Keamanan saat ini tersedia, lihat titik akhir Amazon Security Lake.

Contoh: Daftar AWS CloudTrail Aktivitas dari sumber IP

Contoh berikut mencantumkan semua CloudTrail aktivitas dari IP sumber 192.0.2.1 yang direkam setelah 20230301 (01 Maret 2023), dalam tabel cloud_trail_mgmt_1_0 dari us-east-1 DB_Region.

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay > '20230301' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT 25

Tanggal partisi

Dengan mempartisi data Anda, Anda dapat membatasi jumlah data yang dipindai oleh setiap kueri, sehingga meningkatkan kinerja dan mengurangi biaya. Security Lake mengimplementasikan partisi melaluieventDay,region, dan parameter. accountid eventDaypartisi menggunakan formatYYYYMMDD.

Ini adalah contoh query menggunakan eventDay partisi:

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay > '20230301' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc

Nilai umum untuk eventDay meliputi yang berikut:

Peristiwa yang terjadi dalam 1 tahun terakhir

> cast(date_format(current_timestamp - INTERVAL '1' year, '%Y%m%d%H') as varchar)

Peristiwa yang terjadi dalam 1 bulan terakhir

> cast(date_format(current_timestamp - INTERVAL '1' month, '%Y%m%d%H') as varchar)

Peristiwa yang terjadi dalam 30 hari terakhir

> cast(date_format(current_timestamp - INTERVAL '30' day, '%Y%m%d%H') as varchar)

Peristiwa yang terjadi dalam 12 jam terakhir

> cast(date_format(current_timestamp - INTERVAL '12' hour, '%Y%m%d%H') as varchar)

Peristiwa yang terjadi dalam 5 menit terakhir

> cast(date_format(current_timestamp - INTERVAL '5' minute, '%Y%m%d%H') as varchar)

Peristiwa yang terjadi antara 7-14 hari yang lalu

BETWEEN cast(date_format(current_timestamp - INTERVAL '14' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar)

Peristiwa yang terjadi pada atau setelah tanggal tertentu

>= '20230301'

Contoh: Daftar semua CloudTrail aktivitas dari IP sumber 192.0.2.1 pada atau setelah 1 Maret 2023 dalam tabel cloud_trail_mgmt_1_0

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay >= '20230301' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT 25

Contoh: Daftar semua CloudTrail aktivitas dari sumber IP 192.0.2.1 dalam 30 hari terakhir dalam tabel cloud_trail_mgmt_1_0

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay > cast(date_format(current_timestamp - INTERVAL '30' day, '%Y%m%d%H') as varchar) AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT 25

Contoh kueri untuk data CloudTrail

AWS CloudTrail melacak aktivitas dan API penggunaan pengguna di Layanan AWS. Pelanggan dapat meminta CloudTrail data untuk mempelajari jenis informasi berikut:

Berikut adalah beberapa contoh kueri CloudTrail data:

Upaya yang tidak sah terhadap Layanan AWS dalam 7 hari terakhir

SELECT time, api.service.name, api.operation, api.response.error, api.response.message, unmapped['responseElements'], cloud.region, actor.user.uuid, src_endpoint.ip, http_request.user_agent FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND api.response.error in ( 'Client.UnauthorizedOperation', 'Client.InvalidPermission.NotFound', 'Client.OperationNotPermitted', 'AccessDenied') ORDER BY time desc LIMIT 25

Daftar semua CloudTrail aktivitas dari sumber IP 192.0.2.1 dalam 7 hari terakhir

SELECT api.request.uid, time, api.service.name, api.operation, cloud.region, actor.user.uuid, src_endpoint.ip, http_request.user_agent FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND src_endpoint.ip = '127.0.0.1.' ORDER BY time desc LIMIT 25

Daftar semua IAM aktivitas dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND api.service.name = 'iam.amazonaws.com' ORDER BY time desc LIMIT 25

Contoh di mana AIDACKCEVSQ6C2EXAMPLE kredensi digunakan dalam 7 hari terakhir

SELECT actor.user.uid, actor.user.uuid, actor.user.account_uid, cloud.region FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND actor.user.credential_uid = 'AIDACKCEVSQ6C2EXAMPLE' LIMIT 25

Daftar CloudTrail catatan gagal dalam 7 hari terakhir

SELECT actor.user.uid, actor.user.uuid, actor.user.account_uid, cloud.region FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE status='failed' and eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) ORDER BY time DESC LIMIT 25

Contoh kueri untuk log kueri resolver Route 53

Log kueri penyelesai Amazon Route 53 melacak DNS kueri yang dibuat oleh sumber daya di Amazon Anda. VPC Pelanggan dapat menanyakan log kueri resolver Route 53 untuk mempelajari jenis informasi berikut:

Berikut adalah beberapa contoh kueri log kueri resolver Route 53:

Daftar DNS pertanyaan dari CloudTrail dalam 7 hari terakhir

SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_route53_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) ORDER BY time DESC LIMIT 25

Daftar DNS kueri yang cocok s3.amazonaws.com dalam 7 hari terakhir

SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode, answers FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_route53_1_0 WHERE query.hostname LIKE 's3.amazonaws.com.' and eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) ORDER BY time DESC LIMIT 25

Daftar DNS kueri yang tidak diselesaikan dalam 7 hari terakhir

SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode, answers FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_route53_1_0 WHERE cardinality(answers) = 0 and eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Daftar DNS pertanyaan yang diselesaikan 192.0.2.1 dalam 7 hari terakhir

SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode, answer.rdata FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_route53_1_0 CROSS JOIN UNNEST(answers) as st(answer) WHERE answer.rdata='192.0.2.1' and eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Contoh kueri untuk temuan Security Hub

Security Hub memberi Anda pandangan komprehensif tentang status keamanan Anda di AWS dan membantu Anda memeriksa lingkungan Anda terhadap standar industri keamanan dan praktik terbaik. Security Hub menghasilkan temuan untuk pemeriksaan keamanan dan menerima temuan dari layanan pihak ketiga.

Berikut adalah beberapa contoh kueri temuan Security Hub:

Temuan baru dengan tingkat keparahan lebih besar dari atau sama dengan MEDIUM dalam 7 hari terakhir

SELECT time, finding, severity FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0_findings WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND severity_id >= 3 AND state_id = 1 ORDER BY time DESC LIMIT 25

Temuan duplikat dalam 7 hari terakhir

SELECT finding.uid, MAX(time) AS time, ARBITRARY(region) AS region, ARBITRARY(accountid) AS accountid, ARBITRARY(finding) AS finding, ARBITRARY(vulnerabilities) AS vulnerabilities FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) GROUP BY finding.uid LIMIT 25

Semua temuan non-informasi dalam 7 hari terakhir

SELECT time, finding.title, finding, severity FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE severity != 'Informational' and eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Temuan di mana sumber dayanya adalah ember Amazon S3 (tanpa batasan waktu)

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE any_match(resources, element -> element.type = 'amzn-s3-demo-bucket') LIMIT 25

Temuan dengan Common Vulnerability Scoring System (CVSS) skor lebih besar dari 1 (tidak ada batasan waktu)

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE any_match(vulnerabilities, element -> element.cve.cvss.base_score > 1.0) LIMIT 25

Temuan yang cocok dengan Kerentanan Umum dan Eksposur (CVE) CVE-0000-0000 (tidak ada batasan waktu)

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE any_match(vulnerabilities, element -> element.cve.uid = 'CVE-0000-0000') LIMIT 25

Jumlah produk yang mengirimkan temuan dari Security Hub dalam 7 hari terakhir

SELECT metadata.product.feature.name, count(*) FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) GROUP BY metadata.product.feature.name ORDER BY metadata.product.feature.name DESC LIMIT 25

Hitungan jenis sumber daya dalam temuan dalam 7 hari terakhir

SELECT count(*), resource.type FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 CROSS JOIN UNNEST(resources) as st(resource) WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) GROUP BY resource.type LIMIT 25

Paket rentan dari temuan dalam 7 hari terakhir

SELECT vulnerability FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0, UNNEST(vulnerabilities) as t(vulnerability) WHERE vulnerabilities is not null LIMIT 25

Temuan yang telah berubah dalam 7 hari terakhir

SELECT finding.uid, finding.created_time, finding.first_seen_time, finding.last_seen_time, finding.modified_time, finding.title, state FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Contoh kueri untuk Amazon VPC Flow Logs

Amazon Virtual Private Cloud (AmazonVPC) memberikan rincian tentang lalu lintas IP yang pergi ke dan dari antarmuka jaringan di AndaVPC.

Berikut adalah beberapa contoh kueri Amazon VPC Flow Logs:

Lalu lintas secara spesifik Wilayah AWS dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND region in ('us-east-1','us-east-2','us-west-2') LIMIT 25

Daftar aktivitas dari sumber IP 192.0.2.1 dan port sumber 22 dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND src_endpoint.ip = '192.0.2.1' AND src_endpoint.port = 22 LIMIT 25

Jumlah alamat IP tujuan yang berbeda dalam 7 hari terakhir

SELECT COUNT(DISTINCT dst_endpoint.ip) FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT 25

Lalu lintas berasal dari 198.51.100.0/24 dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND split_part(src_endpoint.ip,'.', 1)='198'AND split_part(src_endpoint.ip,'.', 2)='51' LIMIT 25

Semua HTTPS lalu lintas dalam 7 hari terakhir

SELECT dst_endpoint.ip as dst, src_endpoint.ip as src, traffic.packets FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND dst_endpoint.port = 443 GROUP BY dst_endpoint.ip, traffic.packets, src_endpoint.ip ORDER BY traffic.packets DESC LIMIT 25

Pesan berdasarkan jumlah paket untuk koneksi yang ditujukan ke port 443 dalam 7 hari terakhir

SELECT traffic.packets, dst_endpoint.ip FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND dst_endpoint.port = 443 GROUP BY traffic.packets, dst_endpoint.ip ORDER BY traffic.packets DESC LIMIT 25

Semua lalu lintas antara IP 192.0.2.1 dan 192.0.2.2 dalam 7 hari terakhir

SELECT start_time, end_time, src_endpoint.interface_uid, connection_info.direction, src_endpoint.ip, dst_endpoint.ip, src_endpoint.port, dst_endpoint.port, traffic.packets, traffic.bytes FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND( src_endpoint.ip = '192.0.2.1' AND dst_endpoint.ip = '192.0.2.2') OR ( src_endpoint.ip = '192.0.2.2' AND dst_endpoint.ip = '192.0.2.1') ORDER BY start_time ASC LIMIT 25

Semua lalu lintas masuk dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND connection_info.direction = 'ingress' LIMIT 25

Semua lalu lintas keluar dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND connection_info.direction = 'egress' LIMIT 25

Semua lalu lintas ditolak dalam 7 hari terakhir

SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_vpc_flow_1_0 WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) AND type_uid = 400105 LIMIT 25