« Inconnues » dans les alertes d'indicateurs d'attaque

Dans certains cas, vous pouvez rencontrer des entrées « unknown » (inconnues) dans les alertes d'indicateurs d'attaque (IoA), comme illustré sur l'image suivante :

Ces entrées sont généralement dues aux scénarios clés suivants :

  1. DNS externe en dehors d'Active Directory (AD)

    Si votre organisation utilise des serveurs DNS en dehors du domaine Active Directory (AD), il est important de noter que le produit ne prend pas en charge les environnements DNS non AD. Autrement dit, lorsque certaines requêtes ou demandes DNS sont acheminées par des serveurs DNS externes qui ne font pas partie d'AD, Tenable Identity Exposure ne peut pas les identifier, ce qui entraîne des entrées « inconnues » dans la liste des alertes IoA.

    De telles « inconnues » sont normales dans ces situations et n'indiquent aucun dysfonctionnement ni aucune erreur au sein de Tenable Identity Exposure. Cela est dû à la nature de l'intégration avec Active Directory, qui nécessite que les enregistrements DNS soient gérés au sein de l'environnement AD pour assurer une visibilité et un suivi complets.

    Solution

    • Pour minimiser ces entrées « inconnues », assurez-vous que votre infrastructure DNS est entièrement intégrée à AD pour les domaines et les ressources indispensables à la surveillance de l'exposition des identités.

    • Si les requêtes DNS doivent sortir d'AD, sachez simplement que ces « inconnues » continueront d'apparaître, car Tenable Identity Exposure ne peut pas les résoudre.

  1. Autorisations insuffisantes pour le compte Tenable Identity Exposure

    Une autre raison de la présence d'entrées « inconnues » dans les alertes IoA pourrait être que le compte utilisé par Tenable Identity Exposure ne dispose pas des autorisations suffisantes pour lire les entrées DNS. Le service Tenable Identity Exposure nécessite des autorisations de lecture pour accéder aux enregistrements DNS dans Active Directory et les analyser correctement.

    Solutions

    Pour résoudre ce problème, assurez-vous que le compte utilisé par Tenable Identity Exposure bénéficie d'un accès en lecture aux entrées DNS nécessaires dans AD. Plus précisément, ce compte doit être autorisé à interroger les serveurs DNS et à accéder aux enregistrements dont il a besoin pour effectuer une analyse d'exposition des identités.

    Si le compte Tenable Identity Exposure ne dispose pas des autorisations de lecture appropriées, vous pouvez les lui accorder en suivant les procédures suivantes.

    Conseil : dans le script, vous devez uniquement modifier le nom du compte utilisé par Tenable Identity Exposure. Les autorisations de lecture sont incluses dans les attributs suivants :
    • distinguishedName

    • dnsRecord (contient l'adresse IP)

    • name

    • ntSecurityDescriptor

    • objectCategory

    • objectClass

    • objectGUID

    Vous disposez des deux options suivantes en utilisant des scripts PowerShell :

    1. Dans Active Directory Manager, définissez les autorisations de lecture sur le conteneur (dnsZone) et propagez-le à tous les enfants dnsNode (solution recommandée le cas échéant) :

      Copier
      Import-Module ActiveDirectory

      $identity = New-Object System.Security.Principal.NTAccount('EXAMPLE\user2') # Service account used by TIE for collect/listening
      $dnsZonePartition = (Get-ADRootDSE).namingContexts | Where-Object { $_ -match "DomainDnsZones" }

      # dnsRecord attribute GUID
      # and Public-Information property set GUID
      $guids = @('e0fa1e69-9b45-11d0-afdd-00c04fd930c9', 'e48d0154-bcf8-11d1-8702-00c04fb96050')

      $dnsZones = Get-ADObject -LDAPFilter "(objectClass=dnsZone)" -SearchBase $dnsZonePartition

      ForEach ($dnsZone in $dnsZones) {
          $acl = Get-Acl -Path "AD:\$dnsZone"

          ForEach ($guid in $guids) {
            $ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
              $identity,
              [System.DirectoryServices.ActiveDirectoryRights]::ReadProperty,
              [System.Security.AccessControl.AccessControlType]::Allow,
              [guid]$guid,
              [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All,
              [guid]'e0fa1e8c-9b45-11d0-afdd-00c04fd930c9' # dnsZone GUID
              )

            $acl.AddAccessRule($ace)
          }

          # ntSecurityDescriptor
          $ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
              $identity,
              [System.DirectoryServices.ActiveDirectoryRights]::ReadControl,
              [System.Security.AccessControl.AccessControlType]::Allow,
              [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All,
              [guid]'e0fa1e8c-9b45-11d0-afdd-00c04fd930c9' # dnsZone GUID
              )

          $acl.AddAccessRule($ace)
          Set-Acl -Path "AD:\$dnsZone" -AclObject $acl
      }
    2. Définissez les autorisations de lecture sur tous les objets dnsNode existants (sur la dnsZone affectant tous les dnsNode enfants) :

      Copier
      Import-Module ActiveDirectory

      $identity = New-Object System.Security.Principal.NTAccount('EXAMPLE\user2') # Service account used by TIE for collect/listening
      $dnsZonePartition = (Get-ADRootDSE).namingContexts | Where-Object { $_ -match "DomainDnsZones" }

      # dnsRecord attribute GUID
      # and Public-Information property set GUID
      $guids = @('e0fa1e69-9b45-11d0-afdd-00c04fd930c9', 'e48d0154-bcf8-11d1-8702-00c04fb96050')

      $dnsNodes = Get-ADObject -LDAPFilter "(objectClass=dnsNode)" -SearchBase $dnsZonePartition

      ForEach ($dnsNode in $dnsNodes) {
          $acl = Get-Acl -Path "AD:\$dnsNode"

          ForEach ($guid in $guids) {
            $ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
              $identity,
              [System.DirectoryServices.ActiveDirectoryRights]::ReadProperty,
              [System.Security.AccessControl.AccessControlType]::Allow,
              [guid]$guid
              )

            $acl.AddAccessRule($ace)
          }

          # ntSecurityDescriptor
          $ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
              $identity,
              [System.DirectoryServices.ActiveDirectoryRights]::ReadControl,
              [System.Security.AccessControl.AccessControlType]::Allow
              )

          $acl.AddAccessRule($ace)
          Set-Acl -Path "AD:\$dnsNode" -AclObject $acl
      }
  2. Partitions DNS prises en charge

    Tenable Identity Exposure n'effectue pas de résolution DNS active. Au lieu de cela, il s'appuie sur des entrées DNS extraites des partitions ForestDnsZones et DomainDnsZones. Si vous utilisez des partitions DNS personnalisées, Tenable Identity Exposure ne les analysera pas et ne stockera pas leurs entrées DNS.