Amazon Security Lake est en version préliminaire. Votre utilisation de la version préliminaire d'Amazon Security Lake est soumise à la section 2 des conditions deAWS service
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.
Exemples résultats Security Hub
Vous pouvez interroger les données que Security Lake stocke dans desAWS Lake Formation bases de données et des tables. Les abonnés tiers peuvent également interroger les données de Lake Formation à partir des sources que vous spécifiez lors de la création de l'abonné dans la console, l'API ouAWS CLI.
Les exemples suivants présentent certains des types de données que vous pouvez interroger à partir deAWS sources prises en charge en mode natif. Pour plus d'exemples, consultez le GitHub répertoire des requêtes OCSF d'Amazon Security Lake
L'administrateur du lac de données de Lake Formation doit accorderSELECT
des autorisations sur les bases de données et les tables pertinentes au rôle IAM qui interroge les données. Un abonné doit également être créé dans Security Lake avant de pouvoir interroger des données. Pour plus d'informations, veuillez consulter Gestion de l'accès aux requêtes pour les abonnés de Security Lake.
Exemples de requêtes de CloudTrail données
AWS CloudTrailsuit l'activité des utilisateurs et l'utilisation des API dansServices AWS. Les abonnés peuvent interroger CloudTrail des données pour obtenir les types d'informations suivants :
Voici quelques exemples de requêtes de CloudTrail données :
Tentatives non autorisées contreServices AWS
SELECT time, api.service.name, api.operation, api.response.error, api.response.message, unmapped['responseElements'], cloud.region, identity.user.uuid, src_endpoint.ip, http_request.user_agent FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND api.response.error in ( 'Client.UnauthorizedOperation', 'Client.InvalidPermission.NotFound', 'Client.OperationNotPermitted', 'AccessDenied') ORDER BY time desc LIMIT 25
Répertorier toutes les activités au cours d'une période spécifique à partir d'une seule source
SELECT ref_event_uid, time, api.service.name, api.operation, cloud.region, identity.user.uuid, src_endpoint.ip, http_request.user_agent FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND src_endpoint.ip = '${src_endpoint}' ORDER BY time desc LIMIT 25
Répertorier toutes les activités IAM sur des comptes spécifiques pendant une période spécifique
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND api.service.name = 'iam.amazonaws.com' ORDER BY time desc LIMIT 25
Instances dans lesquelles un certain identifiant a été utilisé
SELECT identity.user.uid, identity.user.uuid, identity.user.account_uid, cloud.region FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND identity.user.credential_uid = '${credentials}'"
Exemples de requête Route 53 Resolver
Les journaux de requêtes du résolveur Amazon Route 53 suivent les requêtes DNS effectuées par les ressources de votre Amazon VPC. Les abonnés peuvent consulter les journaux de requêtes du résolveur Route 53 pour obtenir les types d'informations suivants :
Voici quelques exemples de requête Route 53 Resolver
Une liste de requêtes DNS et d'informations sources pour une période spécifique
SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' ORDER BY time DESC
Une liste de requêtes DNS qui correspondent à une certaine expression régulière
SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode, answers FROM ${athena_db}.${athena_table} WHERE query.hostname LIKE '${query_hostname}' ORDER BY time DESC
Liste des requêtes DNS qui n'ont pas été résolues
SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode, answers FROM ${athena_db}.${athena_table} WHERE cardinality(answers) = 0
Liste des requêtes DNS résolues à une adresse IP donnée
SELECT time, src_endpoint.instance_uid, src_endpoint.ip, src_endpoint.port, query.hostname, rcode, answer.rdata FROM ${athena_db}.${athena_table} CROSS JOIN UNNEST(answers) as st(answer) WHERE answer.rdata='${response_ip}'
Exemples résultats Security Hub
Le service Security Hub fournit une vue complète de votre état de sécurité dansAWS et vous permet de vérifier votre environnement par rapport aux normes et aux bonnes pratiques du secteur de la sécurité. Security Hub produit des résultats pour les contrôles de sécurité et reçoit des résultats provenant de services tiers.
Voici quelques exemples de requêtes portant sur les résultats de Security Hub :
Tous les résultats dont la gravité est supérieure ou égale à « MOYENNE » et « NOUVELLE »
SELECT time, finding, severity FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND severity_id >= 3 AND state_id = 1 ORDER BY time DESC
Tous les résultats non informatifs
SELECT time, finding.title, finding, severity FROM ${athena_db}.${athena_table} WHERE severity != 'INFORMATIONAL'
Toutes les conclusions où les ressources sont des compartiments Amazon S3
SELECT * - FROM ${athena_db}.${athena_table} WHERE any_match(resources, element -> element.type = 'AwsS3Bucket')
Toutes résultats Security Hub
SELECT * FROM ${athena_db}.${athena_table} WHERE any_match(vulnerabilities, element -> element.cve.cvss.base_score > 1.0)
Toutes résultats Security Hub
SELECT * FROM ${athena_db}.${athena_table} WHERE any_match(vulnerabilities, element -> element.cve.uid = '${cve}')
Le nombre de produits qui envoient des résultats
SELECT metadata.product.feature.name, count(*) FROM ${athena_db}.${athena_table} GROUP BY metadata.product.feature.name ORDER BY metadata.product.feature.name DESC
Le nombre de types de ressources dans mes résultats
SELECT count(*), resource.type FROM "${athena_db}.${athena_table}, UNNEST(resources) as t(resource) GROUP BY resource.type
Packages vulnérables d'après mes découvertes
SELECT json_extract(json_array_get(json_extract(unmapped['Vulnerabilities'], '$'), 0), '$.VulnerablePackages') FROM ${athena_db}.${athena_table} WHERE unmapped['Vulnerabilities'] is not null
Des résultats qui ont évolué au fil du temps
SELECT finding.uid, finding.created_time, finding.first_seen_time, finding.last_seen_time, finding.modified_time, finding.title, state FROM ${athena_db}.${athena_table}
Exemples de flux Amazon VPC
Amazon Virtual Private Cloud fournit des informations sur le trafic IP entrant et sortant sur les interfaces réseau dans votre VPC
Voici quelques exemples de requêtes d'Amazon VPC Flow Logs :
Trafic en particulierRégions AWS
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND region in ('us-east-1','us-east-2','us-west-2') LIMIT 10
Trafic provenant d'une adresse IP et d'un port spécifiques
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND src_endpoint.ip = '${ip}' AND src_endpoint.port = ${port} LIMIT 5
Nombre d'adresses IP de destination distinctes
SELECT COUNT(DISTINCT dst_endpoint.ip) FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' LIMIT 10
Trafic en provenance du 198.51.100.0/24
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND split_part(src_endpoint.ip,'.', 1)='198' AND split_part(src_endpoint.ip,'.', 2)='51' LIMIT 5
Tout le trafic HTTPS
SELECT dst_endpoint.ip as dst, src_endpoint.ip as src, traffic.packets FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND dst_endpoint.port = 443 GROUP BY dst_endpoint.ip, traffic.packets, src_endpoint.ip ORDER BY traffic.packets DESC LIMIT 10
Ordre par nombre de paquets pour les connexions destinées à 443
SELECT traffic.packets, dst_endpoint.ip FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND dst_endpoint.port = 443 GROUP BY traffic.packets, dst_endpoint.ip ORDER BY traffic.packets DESC LIMIT 10
Tout le trafic entre deux points de terminaison
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 ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND( src_endpoint.ip = '${endpoint1}' AND dst_endpoint.ip = '${endpoint2}') OR ( src_endpoint.ip = '${endpoint2}' AND dst_endpoint.ip = '${endpoint1}') ORDER BY start_time ASC LIMIT 10
Tout le trafic entrant
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND connection_info.direction = 'ingress' LIMIT 5
Tout le trafic sortant
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND connection_info.direction = 'egress' LIMIT 5
Tout le trafic rejeté
SELECT * FROM ${athena_db}.${athena_table} WHERE eventHour BETWEEN '${query_start_time}' and '${query_end_time}' AND type_uid = 500206 LIMIT 5