Exemples résultats Security Hub - Amazon Security Lake

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 (« versions bêta et versions préliminaires »).

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