Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Requêtes Security Lake pour AWS version source 1 (OCSF1.0.0-rc.2)
La section suivante fournit des conseils sur l'interrogation de données à partir de Security Lake et inclut des exemples de requêtes prises en charge en mode natif AWS sources. Ces requêtes sont conçues pour récupérer des données dans un Région AWS. Ces exemples utilisent us-east-1 (USA East (Virginie du Nord)). En outre, les exemples de requêtes utilisent un LIMIT 25
paramètre qui renvoie jusqu'à 25 enregistrements. Vous pouvez omettre ce paramètre ou le modifier en fonction de vos préférences. Pour plus d'exemples, consultez le GitHub répertoire Amazon Security Lake OCSF Queries
Table des sources du journal
Lorsque vous interrogez les données de Security Lake, vous devez inclure le nom de la table Lake Formation dans laquelle se trouvent les données.
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) LIMIT25
Les valeurs courantes de la table des sources du journal sont les suivantes :
cloud_trail_mgmt_1_0
– AWS CloudTrail événements de gestionlambda_execution_1_0
— événements CloudTrail de données pour Lambdas3_data_1_0
— événements CloudTrail de données pour S3route53_1_0
— Journaux de requêtes du résolveur Amazon Route 53sh_findings_1_0
– AWS Security Hub findingsvpc_flow_1_0
— Journaux de flux Amazon Virtual Private Cloud (AmazonVPC)
Exemple : tous les résultats du Security Hub présentés dans le tableau sh_findings_1_0
de la région 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) LIMIT25
Région de base de données
Lorsque vous interrogez les données de Security Lake, vous devez inclure le nom de la région de base de données à partir de laquelle vous interrogez les données. Pour obtenir la liste complète des régions de base de données dans lesquelles Security Lake est actuellement disponible, consultez Amazon Security Lake endpoints.
Exemple : liste AWS CloudTrail activité depuis l'adresse IP source
L'exemple suivant répertorie toutes les CloudTrail activités de l'adresse IP source. 192.0.2.1
qui ont été enregistrés après 20230301
(01 mars 2023), dans le tableau cloud_trail_mgmt_1_0
depuis le 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 LIMIT25
Date de partition
En partitionnant vos données, vous pouvez limiter la quantité de données numérisées par chaque requête, améliorant ainsi les performances et réduisant les coûts. Security Lake implémente le partitionnement via eventDay
region
, et accountid
les paramètres. eventDay
les partitions utilisent le formatYYYYMMDD
.
Voici un exemple de requête utilisant la eventDay
partition :
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
Les valeurs communes pour eventDay
sont les suivantes :
- Événements survenus au cours de la dernière année
-
> cast(date_format(current_timestamp - INTERVAL '1' year, '%Y%m%d%H') as varchar)
- Événements survenus au cours du dernier mois
-
> cast(date_format(current_timestamp - INTERVAL '1' month, '%Y%m%d%H') as varchar)
- Événements survenus au cours des 30 derniers jours
-
> cast(date_format(current_timestamp - INTERVAL '30' day, '%Y%m%d%H') as varchar)
- Événements survenus au cours des 12 dernières heures
-
> cast(date_format(current_timestamp - INTERVAL '12' hour, '%Y%m%d%H') as varchar)
- Événements survenus au cours des 5 dernières minutes
-
> cast(date_format(current_timestamp - INTERVAL '5' minute, '%Y%m%d%H') as varchar)
- Événements survenus il y a 7 à 14 jours
-
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)
- Événements survenant à une date précise ou après cette date
-
>= '20230301'
Exemple : liste de toutes les CloudTrail activités depuis l'adresse IP source 192.0.2.1
le 1er mars 2023 ou après cette date dans le tableau 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
Exemple : liste de toutes les CloudTrail activités depuis l'adresse IP source 192.0.2.1
au cours des 30 derniers jours dans le tableau 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
Exemples de requêtes de CloudTrail données
AWS CloudTrail suit l'activité et l'APIutilisation des utilisateurs dans Services AWS. Les abonnés peuvent interroger CloudTrail des données pour connaître les types d'informations suivants :
Voici quelques exemples de requêtes de CloudTrail données :
Tentatives non autorisées contre Services AWS au cours des 7 derniers jours
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
Liste de toutes les CloudTrail activités depuis l'adresse IP source 192.0.2.1
au cours des 7 derniers jours
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
Liste de toutes les IAM activités des 7 derniers jours
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
Instances où l'identifiant a AIDACKCEVSQ6C2EXAMPLE
été utilisé au cours des 7 derniers jours
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
Liste des CloudTrail enregistrements ayant échoué au cours des 7 derniers jours
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
Exemples de requêtes pour les journaux de requêtes du résolveur Route 53
Les journaux de requêtes du résolveur Amazon Route 53 suivent les DNS requêtes effectuées par les ressources de votre AmazonVPC. Les abonnés peuvent consulter les journaux de requêtes du résolveur Route 53 pour connaître les types d'informations suivants :
Voici quelques exemples de requêtes des journaux de requêtes du résolveur Route 53 :
Liste des DNS requêtes CloudTrail des 7 derniers jours
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
Liste des DNS requêtes qui correspondent s3.amazonaws.com
au cours des 7 derniers jours
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
Liste des DNS requêtes qui n'ont pas été résolues au cours des 7 derniers jours
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
Liste des DNS requêtes résolues 192.0.2.1
au cours des 7 derniers jours
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
Exemples de requêtes pour les résultats du Security Hub
Security Hub vous fournit une vue complète de votre état de sécurité dans AWS et vous aide à vérifier que votre environnement est conforme aux normes du secteur de la sécurité et aux meilleures pratiques. Security Hub produit des résultats pour les contrôles de sécurité et reçoit les résultats de services tiers.
Voici quelques exemples de requêtes basées sur les résultats du Security Hub :
Nouveaux résultats présentant une gravité supérieure ou égale à celle observée MEDIUM
au cours des 7 derniers jours
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
Résultats dupliqués au cours des 7 derniers jours
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
Tous les résultats non informatifs des 7 derniers jours
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
Résultats indiquant que la ressource est un compartiment Amazon S3 (aucune restriction de temps)
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
Les résultats obtenus avec un système de notation des vulnérabilités commun (CVSS) obtiennent un score supérieur à 1
(aucune restriction de temps)
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
Résultats correspondant aux vulnérabilités et aux expositions courantes (CVE) CVE-0000-0000
(aucune restriction de temps)
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
Nombre de produits ayant envoyé des résultats depuis Security Hub au cours des 7 derniers jours
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
Nombre de types de ressources dans les résultats des 7 derniers jours
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
Packages vulnérables suite à des découvertes au cours des 7 derniers jours
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
Résultats qui ont changé au cours des 7 derniers jours
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
Exemples de requêtes pour Amazon VPC Flow Logs
Amazon Virtual Private Cloud (AmazonVPC) fournit des informations sur le trafic IP à destination et en provenance des interfaces réseau de votreVPC.
Voici quelques exemples de requêtes d'Amazon VPC Flow Logs :
Trafic en particulier Régions AWS au cours des 7 derniers jours
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
Liste des activités depuis l'adresse IP 192.0.2.1
et le port source 22
au cours des 7 derniers jours
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
Nombre d'adresses IP de destination distinctes au cours des 7 derniers jours
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
Trafic provenant de 198.51.100.0/24 au cours des 7 derniers jours
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
Tout HTTPS le trafic des 7 derniers jours
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
Classer par nombre de paquets pour les connexions destinées au port 443
au cours des 7 derniers jours
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
Tout le trafic entre IP 192.0.2.1
et 192.0.2.2
au cours des 7 derniers jours
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
Tout le trafic entrant au cours des 7 derniers jours
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
Tout le trafic sortant des 7 derniers jours
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
Tout le trafic refusé au cours des 7 derniers jours
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