시큐리티 레이크 쿼리 AWS 소스 버전 2 (OCSF1.1.0) - Amazon Security Lake

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

시큐리티 레이크 쿼리 AWS 소스 버전 2 (OCSF1.1.0)

시큐리티 레이크가 저장하는 데이터를 쿼리할 수 있습니다. AWS Lake Formation 데이터베이스 및 테이블. Security Lake 콘솔에서 타사 구독자를 생성할 수도 있습니다. 또는 API AWS CLI. 타사 구독자는 지정한 소스에서 Lake Formation 데이터를 쿼리할 수도 있습니다.

Lake Formation 데이터 레이크 관리자는 데이터를 쿼리하는 IAM ID에 관련 데이터베이스 및 테이블에 대한 SELECT 권한을 부여해야 합니다. 또한 Security Lake에서 구독자를 생성해야 데이터를 쿼리할 수 있습니다. 쿼리 액세스 권한이 있는 구독자를 만드는 방법에 대한 자세한 내용은 구독자를 위한 쿼리 액세스 관리를 참조하십시오.

다음 섹션에서는 Security Lake에서 데이터를 쿼리하는 방법에 대한 지침을 제공하고 기본적으로 지원되는 몇 가지 쿼리 예제를 포함합니다. AWS 소스. 이러한 쿼리는 특정 데이터를 검색하도록 설계되었습니다. AWS 리전. 이 예에서는 us-east-1 (미국 동부 (버지니아 북부)) 을 사용합니다. 또한 예제 쿼리는 최대 25개의 레코드를 반환하는 LIMIT 25 파라미터를 사용합니다. 이 파라미터를 생략하거나 원하는 대로 조정할 수 있습니다. 더 많은 예를 보려면 Amazon Security Lake OCSF 쿼리 GitHub 디렉터리를 참조하십시오.

로그 소스 테이블

Security Lake 데이터를 쿼리할 때는 데이터가 있는 Lake Formation 테이블의 이름을 포함해야 합니다.

SELECT * FROM "amazon_security_lake_glue_db_DB_Region"."amazon_security_lake_table_DB_Region_SECURITY_LAKE_TABLE" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

로그 소스 테이블의 일반적인 값은 다음과 같습니다.

  • cloud_trail_mgmt_2_0 – AWS CloudTrail 관리 이벤트

  • lambda_execution_2_0— Lambda용 CloudTrail 데이터 이벤트

  • s3_data_2_0— S3용 CloudTrail 데이터 이벤트

  • route53_2_0 – Amazon Route 53 Resolver 쿼리 로그

  • sh_findings_2_0 – AWS Security Hub 결과

  • vpc_flow_2_0— 아마존 가상 사설 클라우드 (아마존VPC) 플로우 로그

  • eks_audit_2_0— 아마존 엘라스틱 쿠버네티스 서비스 (아마존) 감사 로그 EKS

  • waf_2_0 – AWS WAF v2 로그

예: 미국 동부 1 리전의 표 sh_findings_2_0에 있는 모든 Security Hub 조사 결과

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

데이터베이스 리전

Security Lake 데이터를 쿼리할 때는 데이터를 쿼리하려는 데이터베이스 리전의 이름을 포함해야 합니다. 현재 Security Lake를 사용할 수 있는 데이터베이스 리전의 전체 목록은 Amazon Security Lake 엔드포인트를 참조하십시오.

예: 소스 IP의 Amazon Virtual Private Cloud 활동을 나열합니다.

다음 예는 소스 IP의 모든 Amazon VPC 활동을 나열합니다.192.0.2.1 이후에 기록된 내용입니다.20230301 (2023년 3월 1일), 표 내용 vpc_flow_2_0 에서 가져온 us-west-2 DB_Region.

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt > TIMESTAMP '2023-03-01' AND src_endpoint.ip = '192.0.2.1' ORDER BY time_dt desc LIMIT 25

파티션 날짜

데이터를 분할하면 각 쿼리가 스캔하는 데이터의 양을 제한하여 성능을 향상시키고 비용을 절감할 수 있습니다. 파티션은 시큐리티 레이크 2.0과 시큐리티 레이크 1.0에서 약간 다르게 작동합니다. Security Lake는 이제 time_dtregion, 및 를 통해 파티셔닝을 구현합니다. accountid 반면 Security Lake 1.0은, 및 매개변수를 통한 eventDay 파티셔닝을 구현했습니다. region accountid

쿼리를 time_dt 수행하면 S3에서 날짜 파티션이 자동으로 생성되며 Athena의 모든 시간 기반 필드와 마찬가지로 쿼리할 수 있습니다.

다음은 2023년 3월 1일 이후에 time_dt 파티션을 사용하여 로그를 쿼리하는 예제 쿼리입니다.

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt > TIMESTAMP '2023-03-01' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT 25

time_dt에 대한 공통값은 다음과 같습니다.

최근 1년 동안 발생한 이벤트

WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' YEAR

지난 1개월 동안 발생한 이벤트

WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' MONTH

지난 30일 동안 발생한 이벤트

WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '30' DAY

지난 12시간 동안 발생한 이벤트

WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '12' HOUR

지난 5분간 발생한 이벤트

WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '5' MINUTE

7~14일 전에 발생한 이벤트

WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '14' DAY AND CURRENT_TIMESTAMP - INTERVAL '7' DAY

특정 날짜 또는 이후에 발생하는 이벤트

WHERE time_dt >= TIMESTAMP '2023-03-01'

예: 2023년 3월 192.0.2.1 1일 또는 이후 소스 IP의 모든 CloudTrail 활동 목록이 표에 나와 있습니다. 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

예: 테이블에 최근 30일간 소스 192.0.2.1 IP의 모든 CloudTrail 활동이 나열되어 있습니다. 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

시큐리티 레이크 옵저버블 쿼리

옵저버블은 이제 시큐리티 레이크 2.0에서 사용할 수 있는 새로운 기능입니다. 관찰 가능 객체는 이벤트 발생 시 여러 곳에서 발견된 관련 정보를 포함하는 피벗 요소입니다. 옵저버블을 쿼리하면 사용자는 데이터 세트 전반에서 높은 수준의 보안 통찰력을 도출할 수 있습니다.

Observable의 특정 요소를 쿼리하여 데이터 세트를 특정 사용자 이름, 리소스UIDs, 해시 및 기타 유형 정보와 같은 항목으로 제한할 수 있습니다. IPs IOC

다음은 관찰 가능 배열을 사용하여 IP 값 '172.01.02.03'을 포함하는 VPC Flow 및 Route53 테이블의 로그를 쿼리하는 예제 쿼리입니다.

WITH a AS (SELECT time_dt, observable.name, observable.value FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0", UNNEST(observables) AS t(observable) WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND observable.value='172.01.02.03' AND observable.name='src_endpoint.ip'), b as (SELECT time_dt, observable.name, observable.value FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_route53_2_0", UNNEST(observables) AS t(observable) WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND observable.value='172.01.02.03' AND observable.name='src_endpoint.ip') SELECT * FROM a LEFT JOIN b ON a.value=b.value and a.name=b.name LIMIT 25

데이터 쿼리 CloudTrail

AWS CloudTrail 사용자 활동 및 API 사용을 추적합니다. AWS 서비스. 구독자는 CloudTrail 데이터를 쿼리하여 다음 유형의 정보를 학습할 수 있습니다.

다음은 CloudTrail 데이터에 대한 몇 가지 쿼리 예시입니다.

에 대한 무단 시도 AWS 서비스 지난 7일 동안

SELECT time_dt, api.service.name, api.operation, api.response.error, api.response.message, api.response.data, cloud.region, actor.user.uid, 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_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND api.response.error in ( 'Client.UnauthorizedOperation', 'Client.InvalidPermission.NotFound', 'Client.OperationNotPermitted', 'AccessDenied') ORDER BY time desc LIMIT 25

지난 7일간 소스 192.0.2.1 IP의 모든 CloudTrail 활동 목록

SELECT api.request.uid, time_dt, api.service.name, api.operation, cloud.region, actor.user.uid, 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_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND src_endpoint.ip = '192.0.2.1.' ORDER BY time desc LIMIT 25

지난 7일간의 모든 IAM 활동 목록

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_cloud_trail_mgmt_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND api.service.name = 'iam.amazonaws.com' ORDER BY time desc LIMIT 25

지난 7일 동안 자격 증명 AIDACKCEVSQ6C2EXAMPLE이 사용된 인스턴스

SELECT actor.user.uid, actor.user.uid_alt, 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_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND actor.user.credential_uid = 'AIDACKCEVSQ6C2EXAMPLE' LIMIT 25

지난 7일간 실패한 CloudTrail 레코드 목록

SELECT actor.user.uid, actor.user.uid_alt, 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_2_0" WHERE status='failed' and time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP ORDER BY time DESC LIMIT 25

Route 53 리졸버 쿼리 로그에 대한 쿼리

Amazon Route 53 리졸버 쿼리 로그는 아마존 내 리소스에서 수행한 DNS 쿼리를 추적합니다. VPC 구독자는 Route 53 Resolver 쿼리 로그를 쿼리하여 다음 유형의 정보를 학습할 수 있습니다.

다음은 Route 53 리졸버 쿼리 로그에 대한 몇 가지 예제 쿼리입니다.

CloudTrail 지난 7일간의 DNS 쿼리 목록

SELECT time_dt, 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_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP ORDER BY time DESC LIMIT 25

s3.amazonaws.com지난 7일 동안 일치하는 DNS 쿼리 목록

SELECT time_dt, 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_2_0" WHERE query.hostname LIKE 's3.amazonaws.com.' and time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP ORDER BY time DESC LIMIT 25

지난 7일 동안 해결되지 않은 DNS 쿼리 목록

SELECT time_dt, 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_2_0" WHERE cardinality(answers) = 0 and time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

지난 7일 동안 192.0.2.1해결된 DNS 쿼리 목록

SELECT time_dt, 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_2_0", UNNEST(answers) as st(answer) WHERE answer.rdata='192.0.2.1' AND time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

Security Hub 조사 결과 쿼리

Security Hub는 다음과 같은 보안 상태를 포괄적으로 보여줍니다. AWS 또한 보안 업계 표준 및 모범 사례와 비교하여 환경을 점검하는 데 도움이 됩니다. Security Hub는 보안 검사 조사 결과를 생성하고 타사 서비스로부터 조사 결과를 수신합니다.

다음은 Security Hub 조사 결과에 대한 몇 가지 예제 쿼리입니다.

지난 7일간의 심각도가 MEDIUM이상인 새로운 조사 결과

SELECT time_dt, finding_info, severity_id, status FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND severity_id >= 3 AND status = 'New' ORDER BY time DESC LIMIT 25

지난 7일간의 중복된 조사 결과

SELECT finding_info.uid, MAX(time_dt) AS time, ARBITRARY(region) AS region, ARBITRARY(accountid) AS accountid, ARBITRARY(finding_info) AS finding, ARBITRARY(vulnerabilities) AS vulnerabilities FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP GROUP BY finding_info.uid LIMIT 25

지난 7일간의 모든 정보 외 조사 결과

SELECT time_dt, finding_info.title, finding_info, severity FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE severity != 'Informational' and time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

리소스가 Amazon S3 버킷인 경우 조사 결과 (시간 제한 없음)

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

일반적인 취약성 점수 시스템 (CVSS) 점수가 (시간 제한 없음) 보다 1 높은 조사 결과

SELECT DISTINCT finding_info.uid time_dt, metadata, finding_info, vulnerabilities, resource FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0", UNNEST(vulnerabilities) AS t(vulnerability), UNNEST(vulnerability.cve.cvss) AS t(cvs) WHERE cvs.base_score > 1.0 AND vulnerabilities is NOT NULL LIMIT 25

일반적인 취약성 및 노출과 일치하는 결과 (CVE) CVE-0000-0000 (시간 제한 없음)

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

지난 7일 동안 Security Hub에서 조사 결과를 전송한 제품 수

SELECT metadata.product.name, count(*) FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP GROUP BY metadata.product.name ORDER BY metadata.product.name DESC LIMIT 25

지난 7일간의 조사 결과에 포함된 리소스 유형 수

SELECT count(*) AS "Total", resource.type FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP GROUP BY resource.type ORDER BY count(*) DESC LIMIT 25

지난 7일간의 조사 결과에서 나온 취약한 패키지

SELECT vulnerabilities FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND vulnerabilities is NOT NULL LIMIT 25

지난 7일 동안 변경된 조사 결과

SELECT status, finding_info.title, finding_info.created_time_dt, finding_info, finding_info.uid, finding_info.first_seen_time_dt, finding_info.last_seen_time_dt, finding_info.modified_time_dt FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

Amazon VPC 플로우 로그에 대한 쿼리

Amazon Virtual Private Cloud (AmazonVPC) 는 사용자의 네트워크 인터페이스에서 송수신되는 IP 트래픽에 대한 세부 정보를 제공합니다VPC.

Amazon VPC Flow Logs에 대한 몇 가지 예제 쿼리는 다음과 같습니다.

특정 트래픽은 다음과 같습니다. AWS 리전 지난 7일 동안

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND region in ('us-east-1','us-east-2','us-west-2') LIMIT 25

최근 7일간 소스 IP 192.0.2.1 및 소스 포트 22의 활동 목록

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND src_endpoint.ip = '192.0.2.1' AND src_endpoint.port = 22 LIMIT 25

지난 7일간의 고유 대상 IP 주소 수

SELECT COUNT(DISTINCT dst_endpoint.ip) AS "Total" FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP LIMIT 25

지난 7일 동안의 198.51.100.0/24에서 발생한 트래픽

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND split_part(src_endpoint.ip,'.', 1)='198'AND split_part(src_endpoint.ip,'.', 2)='51' LIMIT 25

지난 7일간의 모든 HTTPS 트래픽

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_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND dst_endpoint.port = 443 GROUP BY dst_endpoint.ip, traffic.packets, src_endpoint.ip ORDER BY traffic.packets DESC LIMIT 25

지난 7일 동안 포트 443로 향하는 연결의 패킷 수를 기준으로 정렬합니다.

SELECT traffic.packets, dst_endpoint.ip FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND dst_endpoint.port = 443 GROUP BY traffic.packets, dst_endpoint.ip ORDER BY traffic.packets DESC LIMIT 25

지난 7일간의 IP 192.0.2.1192.0.2.2 간 모든 트래픽

SELECT start_time_dt, end_time_dt, 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_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP 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_dt ASC LIMIT 25

지난 7일간의 모든 인바운드 트래픽

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND connection_info.direction = 'Inbound' LIMIT 25

지난 7일간의 모든 아웃바운드 트래픽

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND connection_info.direction = 'Outbound' LIMIT 25

지난 7일간 거부된 모든 트래픽

SELECT * FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND action = 'Denied' LIMIT 25

Amazon EKS 감사 로그에 대한 쿼리

Amazon EKS 로그는 컨트롤 플레인 활동을 추적합니다. Amazon EKS 컨트롤 플레인에서 계정의 CloudWatch 로그로 직접 감사 및 진단 로그를 제공합니다. 이러한 로그를 통해 클러스터를 쉽게 보호하고 실행할 수 있습니다. 구독자는 EKS 로그를 쿼리하여 다음 유형의 정보를 학습할 수 있습니다.

Amazon EKS 감사 로그에 대한 몇 가지 예제 쿼리는 다음과 같습니다.

지난 7일간의 특정 URL 요청에 대한 요청

SELECT time_dt, actor.user.name, http_request.url.path, activity_name FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_eks_audit_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND activity_name = 'get' and http_request.url.path = '/apis/coordination.k8s.io/v1/' LIMIT 25

지난 7일 동안 '10.0.97.167'에서 요청한 업데이트

SELECT activity_name, time_dt, api.request, http_request.url.path, src_endpoint.ip, resources FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_eks_audit_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND src_endpoint.ip = '10.0.97.167' AND activity_name = 'Update' LIMIT 25

지난 7일 동안의 'kube-controller-manager' 리소스와 관련된 요청 및 응답

SELECT activity_name, time_dt, api.request, api.response, resource.name FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_eks_audit_2_0", UNNEST(resources) AS t(resource) WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND resource.name = 'kube-controller-manager' LIMIT 25

에 대한 쿼리 AWS WAF v2 로그

AWS WAF 최종 사용자가 애플리케이션에 보내는 웹 요청을 모니터링하고 콘텐츠에 대한 액세스를 제어하는 데 사용할 수 있는 웹 애플리케이션 방화벽입니다.

다음은 쿼리에 대한 몇 가지 예시입니다. AWS WAF v2 로그:

지난 7일 동안 특정 소스 IP의 게시물 요청

SELECT time_dt, activity_name, src_endpoint.ip, http_request.url.path, http_request.url.hostname, http_request.http_method, http_request.http_headers FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_waf_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND src_endpoint.ip = '100.123.123.123' AND activity_name = 'Post' LIMIT 25

지난 7일 GROUP 동안 방화벽 유형과 일치하는 요청 (MANAGEDRULE_ _)

SELECT time_dt, activity_name, src_endpoint.ip, http_request.url.path, http_request.url.hostname, http_request.http_method, firewall_rule.uid, firewall_rule.type, firewall_rule.condition, firewall_rule.match_location, firewall_rule.match_details, firewall_rule.rate_limit FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_waf_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND firewall_rule.type = 'MANAGED_RULE_GROUP' LIMIT 25

지난 7일 동안 방화벽 REGEX 규칙의 a와 일치하는 요청

SELECT time_dt, activity_name, src_endpoint.ip, http_request.url.path, http_request.url.hostname, http_request.http_method, firewall_rule.uid, firewall_rule.type, firewall_rule.condition, firewall_rule.match_location, firewall_rule.match_details, firewall_rule.rate_limit FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_waf_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND firewall_rule.condition = 'REGEX' LIMIT 25

에 대한 get 요청이 거부되었습니다. AWS 트리거된 자격 증명 AWS WAF 지난 7일간의 규칙

SELECT time_dt, activity_name, action, src_endpoint.ip, http_request.url.path, http_request.url.hostname, http_request.http_method, firewall_rule.uid, firewall_rule.type FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_waf_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND http_request.url.path = '/.aws/credentials' AND action = 'Denied' LIMIT 25

요청 받기: AWS 자격 증명, 지난 7일 동안의 국가별 그룹화

SELECT count(*) as Total, src_endpoint.location.country AS Country, activity_name, action, src_endpoint.ip, http_request.url.path, http_request.url.hostname, http_request.http_method FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_waf_2_0" WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP AND activity_name = 'Get' AND http_request.url.path = '/.aws/credentials' GROUP BY src_endpoint.location.country, activity_name, action, src_endpoint.ip, http_request.url.path, http_request.url.hostname, http_request.http_method