• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Structure de données de sécurité (référence NRQL)

Security RX stocke les données de vulnérabilité et de mauvaise configuration dans la base de données (NRDB) de New Relic, ce qui les rend interrogeables à l'aide NRQL. Ce guide de référence explique les types d'entités, les attributs et la structure des données que vous pouvez utiliser pour créer des requêtes, des dashboards et des alertes personnalisés.

types d'entités et d'événements

Security RX utilise les types d'entités et d'événements suivants pour stocker les données de sécurité :

Entité SecurityFinding (recommandé)

SECURITY_FINDING est un type d'entité spécialisé qui sert de conteneur générique pour tous les problèmes de sécurité détectés par Security RX. Voici la méthode recommandée pour interroger les données de sécurité dans New Relic.

Important : SecurityFinding est une requête en tant que type d'entité, et non en tant qu'événement traditionnel :

FROM Entity
SELECT * WHERE type = 'SECURITY_FINDING'

Type de découverte

L'attribut findingType est le champ clé permettant de distinguer la source de données :

  • findingType = 'VULNERABILITY': Indique une vulnérabilité détectée par des sources telles que des agents APM, des agents d'infrastructure ou des scanners tiers (Snyk, Trivy, FOSSA).
  • findingType = 'MISCONFIGURATION': Indique une constatation de gestion de la posture de sécurité du cloud (CSPM) provenant de Security RX Cloud (par exemple, d'AWS Security Hub, GuardDuty ou Config).

Les autres valeurs de findingType incluent : LIBRARY_VULNERABILITY, INFRASTRUCTURE_VULNERABILITY, APPLICATION_VULNERABILITY, SYSTEM_VULNERABILITY, SECURITY_EVENT, et OTHER.

Champs d'entité principaux

Attribut

Type

Description

Exemple

id

Chaîne

Identifiant unique au monde pour ce SecurityFinding (CVE spécifique au câble et entité impactée)

"ABC123..."

type

Chaîne

Type d'entité - toujours « SECURITY_FINDING »

"SECURITY_FINDING"

name

Chaîne

Titre des vulnérabilités ou de la mauvaise configuration

"CVE-2024-12345 : Injection SQL dans bibliothèque-name"

scope.id

Chaîne

Identifiant du compte où ce problème a été détecté

"1234567"

scope.type

Chaîne

Type de portée - généralement « ACCOUNT »

"ACCOUNT"

metadata.createdAt

horodatage

Lors de la création de cette entité

Horodatage Unix

metadata.updatedAt

horodatage

Dernière mise à jour de cette entité

Horodatage Unix

tags

Array

Liste des étiquettes applicables à l'entité (généralement vide pour SecurityFinding)

[]

Champs de classification

Attribut

Type

Description

Exemple

vulnerabilityIdentifier

Chaîne

Identifiant permettant d'agréger les SecurityFindings (généralement l'identifiant CVE)

"CVE-2024-12345"

findingType

Chaîne

Type de découverte de niveau supérieur

"VULNERABILITY", "MISCONFIGURATION"

findingSubType

Chaîne

Sous-type (langage pour les vulnérabilités APM, INFRA_OS_VULNERABILITY ou INFRA_PACKAGE_VULNERABILITY pour l'infrastructure)

"java", "INFRA_PACKAGE_VULNERABILITY"

source

Chaîne

Source de la découverte

« New Relic », « Snyk », « AWS Security Hub »

Champs d'état et de gravité

Attribut

Type

Description

Valeurs

severity

Chaîne

Gravité signalée du constat

"CRITICAL", "HIGH", "MEDIUM", "LOW", "UNKNOWN", "INFO"

status

Chaîne

État actuel de la découverte

"AFFECTED", "IGNORED", "NO_LONGER_DETECTED", "UNKNOWN"

remediation.remediationExists

Booléen

Existe-t-il une solution de remédiation ?

true, false

remediation.upgradeAction

Chaîne

Mise à niveau suggérée par Security RX

"Mise à jour vers la version 2.17.1"

remediation.remediationDetails

Chaîne

Bref texte de correction tiré de la source

"Mettre à jour la bibliothèque vers la version corrigée"

remediation.url

Chaîne

URL de la documentation provenant de la source

"

https://example.com/security-advisory

"

champs de référence CVE

Pour les résultats de vulnérabilités, l'objet cve contient des informations CVE détaillées :

Attribut

Type

Description

cve.id

Chaîne

Identifiant CVE

cve.description

Chaîne

Description du CVE

cve.cvssScore

Nombre

score CVSS

cve.cvssVector

Chaîne

Chaîne vectorielle CVSS

cve.epssScore

Nombre

Score de probabilité d'exploitation EPSS

cve.epssPercentile

Nombre

classement percentile EPSS

cve.exploitKnown

Booléen

Existe-t-il une faille connue ?

cve.disclosureUrl

Chaîne

URL où le CVE a été divulgué

cve.disclosedAt

horodatage

Lorsque le CVE a été divulgué

Champs de configuration incorrecte (Résultats du cloud)

En cas de résultats de configuration incorrecte, l'objet misconfiguration contient des informations spécifiques au cloud :

Attribut

Type

Description

misconfiguration.cloudProvider

Chaîne

Fournisseur de cloud

misconfiguration.issueTitle

Chaîne

Titre de la mauvaise configuration

misconfiguration.misconfigurationType

Chaîne

Type de résultat brut provenant de la source

misconfiguration.normalizedResourceType

Chaîne

Type de ressource simplifié (par exemple, « S3 », « EC2 », « RDS »)

Champs d'entité concernés

L'objet impactedEntity identifie l'entité New Relic concernée :

Attribut

Type

Description

impactedEntity.id

Chaîne

GUID de l'entité

impactedEntity.name

Chaîne

Nom de l'entité

impactedEntity.type

Chaîne

Type d'entité (APM-APPLICATION, INFRA-HOST, etc.)

impactedEntity.scope.id

Chaîne

ID de compte

impactedEntity.scope.type

Chaîne

Type de portée

Champs d'horodatage

Attribut

Type

Description

firstDetected

horodatage

Lorsque cette découverte a été initialement détectée

findingUpdatedAt

horodatage

Date de la dernière mise à jour de cette découverte

lastSeen

horodatage

La découverte était active pour la dernière fois lorsque la situation s'est améliorée.

Interface utilisateur et champs internes

Attribut

Type

Description

vulnerabilityUILinks.detailsUrl

Chaîne

Lien vers la page de détails dans l'interface utilisateur de Security RX

vulnerabilityUILinks.tabUrl

Chaîne

Lien vers la vue entité dans l'interface utilisateur Security RX

internalState.status

Chaîne

Champ d'état interne

internalState.active

Booléen

Indicateur actif interne (utilisé dans les requêtes cloud)

entityLookupValue

Chaîne

Champ interne (sera masqué en production)

issueInstanceKey

Chaîne

Champ interne (sera masqué en production)

additionalInfo

éventail d'objets

Métadonnées supplémentaires avec paires valeur clé (utilisées pour les identifiants de compte cloud, etc.)

Conseil

Les champs marqués comme « internes » sont actuellement visibles dans NRDB, mais pourraient être masqués lors du lancement final. Le champ internalState.active est couramment utilisé dans les requêtes de mauvaise configuration cloud pour filtrer les résultats actifs.

exemples de requêtes pour les vulnérabilités

Nombre de vulnérabilités critiques actives par entité :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND status = 'AFFECTED'
AND severity = 'CRITICAL'
FACET impactedEntity.name

Trouver l'entité affectée par une CVE spécifique :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND status = 'AFFECTED'
AND cve.id = 'CVE-2024-23944'
FACET impactedEntity.name

Identifiez les CVE associées à des campagnes de ransomware actives :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND cve.exploitKnown IS true
FACET impactedEntity.name, cve.id

Identifier les vulnérabilités susceptibles d'être exploitées (score EPSS élevé) :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND cve.epssPercentile > '0.95'
FACET cve.id

Trouvez les sources de vos recherches :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
FACET source

entité à seuil de vulnérabilités élevées :

SELECT impactedEntity
FROM (
SELECT count(*) AS vulnerableCount
FROM Entity
WHERE type = 'SECURITY_FINDING'
AND severity IN ('CRITICAL', 'HIGH')
FACET impactedEntity.name AS impactedEntity, severity
)
WHERE (severity = 'HIGH' AND vulnerableCount > 10)
OR (severity = 'CRITICAL' AND vulnerableCount > 5)

Exemples de requêtes pour les mauvaises configurations cloud

Nombre de configurations erronées uniques par statut :

FROM Entity
SELECT uniqueCount(misconfiguration.issueTitle)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
FACET status

Les 10 types de mauvaises configurations les plus courants :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
FACET misconfiguration.issueTitle
LIMIT 10

Trouvez les comptes AWS les plus risqués :

FROM Entity
SELECT uniqueCount(misconfiguration.issueTitle)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
AND severity IN ('CRITICAL', 'HIGH')
FACET aparse(additionalInfo, '%"key":"cloudProviderAccountId","values":["*"]%') AS 'AWS Account ID'
LIMIT 10

Nombre d'erreurs de configuration par type de ressource :

FROM Entity
SELECT uniqueCount(misconfiguration.issueTitle)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
FACET misconfiguration.normalizedResourceType

Trouver des ressources essentielles et accessibles au public :

FROM Entity
SELECT name, impactedEntity.name, misconfiguration.misconfigurationType
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
AND severity = 'CRITICAL'
AND misconfiguration.misconfigurationType LIKE 'Effects/Data Exposure'
SINCE 1 day ago

NrAiIncident (héritage)

Type d'événement hérité qui stocke les résultats de vulnérabilités et leur statut actuel. Ce type d'événement est toujours pris en charge pour assurer la compatibilité ascendante, mais nous recommandons d'utiliser SecurityFinding pour les nouvelles requêtes.

Utilisation principale : requêtes vulnérabilités affectant votre entité

Attribut clé :

Attribut

Type

Description

Exemple

title

Chaîne

titres des vulnérabilités

"CVE-2024-12345 : Injection SQL dans bibliothèque-name"

priority

Chaîne

calculer le rang de priorité

"CRITICAL", "HIGH", "MEDIUM", "LOW"

state

Chaîne

État actuel des vulnérabilités

"OPEN", "CLOSED"

acknowledged

Booléen

La question de savoir si les vulnérabilités ont été examinées a-t-elle été examinée ?

true, false

conditionName

Chaîne

Source/condition de détection

"Security RX - Détection des vulnérabilités"

entity.guid

Chaîne

Entité GUID affectée par des vulnérabilités

"ABC123..."

entity.name

Chaîne

Nom de l'entité

"my-application"

entityType

Chaîne

Type d'entité affectée

"APPLICATION", "HOST"

Exemple de requête :

FROM NrAiIncident
SELECT count(*)
WHERE conditionName LIKE '%Security RX%'
FACET priority, state

Vulnérabilités (événement personnalisé)

Stocke des métadonnées détaillées sur les vulnérabilités, notamment les informations CVE, les scores de gravité et les recommandations de correction.

Utilisation principale : Analyse approfondie des détails et métadonnées des vulnérabilités

Attribut clé :

Attribut

Type

Description

Exemple

cveId

Chaîne

Identifiant CVE

"CVE-2024-12345"

severity

Chaîne

gravité basée sur le CVSS

"CRITICAL", "HIGH", "MEDIUM", "LOW"

cvssScore

Nombre

score numérique CVSS

9.8

epssScore

Nombre

Probabilité d'exploitation de l'EPSS

0,95

epssPercentile

Nombre

classement percentile EPSS

98,5

activeRansomware

Booléen

Utilisé dans des campagnes de ransomware connues

true, false

affectedPackage

Chaîne

Nom de la bibliothèque/package vulnérable

"log4j-core"

affectedVersion

Chaîne

Version du package vulnérable

"2.14.0"

fixedVersion

Chaîne

Version corrigée

"2.17.1"

entityGuid

Chaîne

GUID de l'entité concernée

"ABC123..."

source

Chaîne

Source de détection

"APM_AGENT", "SNYK", "AWS_SECURITY_HUB"

Exemple de requête :

FROM Vulnerability
SELECT count(*)
WHERE severity = 'CRITICAL'
AND activeRansomware = true
FACET affectedPackage

NrAiIncidentTimeline

Suit les changements de statut et les événements du cycle de vie pour les vulnérabilités.

Utilisation principale : Auditer l’historique de l’état des vulnérabilités et suivre l’avancement des corrections

Attribut clé :

Attribut

Type

Description

Exemple

incidentId

Chaîne

ID incident/vulnérabilités associé

"INC-123"

timestamp

horodatage

Lorsque le statut a changé

Horodatage Unix

event

Chaîne

Type de changement

"STATUS_CHANGED", "DETECTED", "RESOLVED"

previousState

Chaîne

État avant changement

"AFFECTED"

newState

Chaîne

État après changement

"IGNORED"

changedBy

Chaîne

L'utilisateur qui a effectué la modification

"user@example.com"

reason

Chaîne

Motif du changement de statut

"faux positif - n'utilise pas le chemin de code vulnérable"

Exemple de requête :

FROM NrAiIncidentTimeline
SELECT timestamp, event, previousState, newState, changedBy
WHERE event = 'STATUS_CHANGED'
SINCE 7 days ago

Attribut commun à tous les types d'événements

Ces attributs apparaissent dans plusieurs types d'événements :

Identification de l'entité

Attribut

Description

entity.guid

Identifiant unique de l'entité concernée

entity.name

Nom de l'entité lisible par l'humain

entity.type

Type d'entité (APPLICATION, HOST, SERVICE)

accountId

Identifiant de compte New Relic

horodatage

Attribut

Description

timestamp

Lorsque l'événement s'est produit

detectedAt

Lorsque les vulnérabilités ont été détectées pour la première fois

updatedAt

Dernière mise à jour horodatage

resolvedAt

Lorsque les vulnérabilités ont été marquées comme résolues

Suivi de la source

Attribut

Description

source

Source de données (APM_AGENT, INFRASTRUCTURE, SNYK, etc.)

sourceId

ID unique du système source

integrationName

intégration qui a fourni des données

relations de données

Comprendre les relations entre les types de données :

Approche moderne (recommandée)

SecurityFinding Entity (type = 'SECURITY_FINDING')
↓ contains
├─ findingType (VULNERABILITY or MISCONFIGURATION)
├─ cve (CVE details for vulnerabilities)
├─ misconfiguration (Cloud security details)
└─ impactedEntity (Affected New Relic entity)

approche traditionnelle (rétrocompatibilité)

Entity (Application/Host)
↓ has many
NrAiIncident (Active vulnerabilities)
↓ references
Vulnerability (CVE details)
↓ has many
NrAiIncidentTimeline (Status history)

Modèles de requêtes

Conseil

Recommandation : Utilisez la requête d'entité SecurityFinding (présentée dans la section SecurityFinding ci-dessus) pour les nouvelles implémentations. Les modèles ci-dessous utilisent des types d'événements legacy et sont fournis uniquement à des fins de compatibilité ascendante.

Modèles de requêtes modernes

Pour les modèles de requêtes modernes utilisant l'entité SecurityFinding, voir les sections d'exemples de requêtes ci-dessus.

Modèles de requêtes hérités

Ces modèles utilisent les types d'événements legacy :

Rejoindre les données d'entité avec des vulnérabilités (héritées)

FROM NrAiIncident
SELECT entity.name, count(*) as 'Vulnerability Count'
WHERE conditionName LIKE '%Security RX%'
AND state = 'OPEN'
FACET entity.name
SINCE 1 day ago

Équivalent moderne :

FROM Entity
SELECT impactedEntity.name, count(*) as 'Vulnerability Count'
WHERE type = 'SECURITY_FINDING'
AND status = 'AFFECTED'
FACET impactedEntity.name
SINCE 1 day ago

Calcul des fenêtres d'exposition (héritées)

FROM Vulnerability
SELECT entity.name,
cveId,
(max(timestamp) - min(timestamp)) / 86400 as 'Days Exposed'
WHERE severity IN ('CRITICAL', 'HIGH')
FACET entity.name, cveId
SINCE 30 days ago

Équivalent moderne :

FROM Entity
SELECT impactedEntity.name,
cve.id,
(max(findingUpdatedAt) - min(firstDetected)) / 86400 as 'Days Exposed'
WHERE type = 'SECURITY_FINDING'
AND severity IN ('CRITICAL', 'HIGH')
FACET impactedEntity.name, cve.id
SINCE 30 days ago

Vitesse de correction des problèmes (héritée)

FROM NrAiIncidentTimeline
SELECT count(*) as 'Vulnerabilities Resolved'
WHERE event = 'STATUS_CHANGED'
AND newState = 'CLOSED'
FACET weekOf(timestamp)
SINCE 90 days ago

Important

Pour suivre les changements d'état avec l'entité SecurityFinding, monitorez les changements dans le champ status au fil du temps ou utilisez les alertes New Relic pour recevoir une notification lorsque des changements d'état se produisent.

Types et formats d'attributs

Valeurs de gravité

CRITICAL - CVSS 9.0-10.0
HIGH - CVSS 7.0-8.9
MEDIUM - CVSS 4.0-6.9
LOW - CVSS 0.1-3.9
INFO - CVSS 0.0

Valeurs d'état

OPEN - Vulnerability currently active
CLOSED - Vulnerability resolved or fixed
AFFECTED - Entity is confirmed affected
IGNORED - Marked as not applicable
NO_LONGER_DETECTED - No longer seen in scans

Valeurs sources

APM_AGENT - Detected by New Relic APM agent
INFRASTRUCTURE - Detected by Infrastructure agent
SNYK - Imported from Snyk
AWS_SECURITY_HUB - Imported from AWS Security Hub
DEPENDABOT - Imported from GitHub Dependabot
FOSSA - Imported from FOSSA
TRIVY - Imported from Trivy
SECURITY_DATA_API - Sent via API

Conseils pour les requêtes

Filtrer par gravité (approche moderne)

Les résultats sont classés par ordre de priorité en fonction de leur gravité :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND severity IN ('CRITICAL', 'HIGH')
AND status = 'AFFECTED'
FACET impactedEntity.name

Filtrer par type de recherche

Distinguer les vulnérabilités des erreurs de configuration :

-- Vulnerabilities only
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'VULNERABILITY'
FACET impactedEntity.type
-- Misconfigurations only
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
FACET misconfiguration.normalizedResourceType

Filtrer par type d'entité

Distinguer les vulnérabilités de l'application de celles de l'infrastructure :

-- Application vulnerabilities
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND impactedEntity.type LIKE '%APPLICATION%'
FACET impactedEntity.name
-- Infrastructure vulnerabilities
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND impactedEntity.type LIKE '%HOST%'
FACET impactedEntity.name

Filtrer par source de détection

Résultats de requête issus d'une intégration spécifique :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND source = 'Snyk'
FACET severity

Filtrage temporel

Trouver les résultats récemment détectés :

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND firstDetected > ago(7 days)
FACET cve.id, severity

Création de dashboards personnalisés

Utilisez l'entité SecurityFinding pour créer des dashboards de sécurité complets :

  1. Dashboard exécutif - Indicateurs de sécurité de haut niveau pour tous les types de constatations

    FROM Entity
    SELECT count(*)
    WHERE type = 'SECURITY_FINDING'
    AND status = 'AFFECTED'
    FACET severity, findingType
  2. Tendances des vulnérabilités - Suivre la détection des vulnérabilités au fil du temps

    FROM Entity
    SELECT count(*)
    WHERE type = 'SECURITY_FINDING'
    AND findingType = 'VULNERABILITY'
    FACET weekOf(firstDetected)
    SINCE 90 days ago
  3. Posture de sécurité du cloud - monitoring des erreurs de configuration cloud

    FROM Entity
    SELECT uniqueCount(misconfiguration.issueTitle)
    WHERE type = 'SECURITY_FINDING'
    AND findingType = 'MISCONFIGURATION'
    FACET misconfiguration.cloudProvider, severity
  4. Posture de sécurité de l'entité - Vues de sécurité par entité

    FROM Entity
    SELECT count(*) AS 'Findings'
    WHERE type = 'SECURITY_FINDING'
    AND status = 'AFFECTED'
    FACET impactedEntity.name, severity

Pour plus d'exemples de requêtes, consultez Exemples de requêtes de données de sécurité.

Approches dashboards héritées

Pour assurer la compatibilité ascendante, vous pouvez toujours utiliser les legacy types d'événements (NrAiIncident, Vulnerability, NrAiIncidentTimeline), mais nous recommandons de migrer vers l'entité SecurityFinding pour les nouveaux dashboards.

Quelle est la prochaine étape ?

Exemples de requêtes

Requête NRQL prête à l'emploi pour les scénarios de sécurité courants

Configurer des alertes

Créer des alertes basées sur NRQL pour les vulnérabilités

Gérer l'état des vulnérabilités

Modifier l'état des vulnérabilités et suivre les mesures correctives

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.