„Unbekannte“ in IoA-Warnungen

In einigen Fällen können in den IoA-Warnungen (Indicators of Attack) Einträge mit dem Titel „Unbekannt“ angezeigt werden, wie in der folgenden Abbildung dargestellt:

Diese Einträge werden in der Regel durch die folgenden Schlüsselszenarien verursacht:

  1. Externes DNS außerhalb von Active Directory (AD)

    Wenn Ihre Organisation DNS-Server außerhalb der Active Directory (AD)-Domäne verwendet, beachten Sie, dass das Produkt keine DNS-Umgebungen unterstützt, die nicht zu AD gehören. Dies bedeutet Folgendes: Wenn bestimmte DNS-Abfragen oder -Anfragen über externe DNS-Server geleitet werden, die nicht Teil von AD sind, kann Tenable Identity Exposure sie nicht identifizieren, was zu Einträgen mit dem Titel „Unbekannt“ in der Liste der IoA-Warnungen führt.

    Derartige „Unbekannte“ sind in diesen Fällen zu erwarten und kein Hinweis auf eine Fehlfunktion oder einen Fehler in Tenable Identity Exposure. Dies liegt an der Art der Integration mit Active Directory – DNS-Einträge müssen innerhalb der AD-Umgebung verwaltet werden, um vollständige Transparenz und Nachverfolgung zu ermöglichen.

    Lösung

    • Um die Anzahl dieser „Unbekannten“ zu minimieren, stellen Sie sicher, dass Ihre DNS-Infrastruktur für Domänen und Ressourcen, die für die Überwachung von Identity Exposure kritisch sind, vollständig in AD integriert ist.

    • Wenn DNS-Abfragen die AD-Domäne verlassen müssen, beachten Sie, dass diese „Unbekannten“ weiterhin angezeigt werden, da Tenable Identity Exposure sie nicht auflösen kann.

  1. Unzureichende Berechtigungen für Tenable Identity Exposure-Konto

    Ein weiterer Grund für „Unbekannte“ in den IoA-Warnungen könnte sein, dass das von Tenable Identity Exposure verwendete Konto nicht über die erforderlichen Berechtigungen zum Lesen von DNS-Einträgen verfügt. Der Tenable Identity Exposure-Dienst erfordert Leseberechtigungen, um ordnungsgemäß auf DNS-Einträge in Active Directory zuzugreifen und diese zu analysieren.

    Lösungen

    Um dieses Problem zu beheben, stellen Sie sicher, dass das von Tenable Identity Exposure verwendete Konto Lesezugriff auf die erforderlichen DNS-Einträge in AD hat. Insbesondere muss dieses Konto über die Berechtigung verfügen, DNS-Server abzufragen und auf die Datensätze zuzugreifen, die es für die Durchführung von Identity Exposure-Analysen benötigt.

    Wenn das Tenable Identity Exposure-Konto nicht über die entsprechenden Leseberechtigungen verfügt, können Sie diese mit den folgenden Verfahren erteilen.

    Tipp: Im Skript müssen Sie lediglich den Namen des von Tenable Identity Exposure verwendeten Kontos ändern. Leseberechtigungen sind in den folgenden Attributen enthalten:
    • distinguishedName

    • dnsRecord (enthält die IP)

    • name

    • ntSecurityDescriptor

    • objectCategory

    • objectClass

    • objectGUID

    Bei Verwendung von PowerShell-Skripten haben Sie zwei Optionen:

    1. Legen Sie in Ihrem Active Directory-Manager die Leseberechtigungen für den Container (dnsZone) fest und propagieren Sie sie an alle untergeordneten dnsNode-Objekte (empfohlene Lösung, falls zutreffend):

      Kopieren
      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. Legen Sie die Leseberechtigungen für alle vorhandenen dnsNode-Objekte fest (für die dnsZone, die alle untergeordneten dnsNode-Objekte betrifft):

      Kopieren
      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. Unterstützte DNS-Partitionen

    Tenable Identity Exposure führt keine aktive DNS-Auflösung durch. Stattdessen stützt es sich auf DNS-Einträge, die aus den Partitionen ForestDnsZones und DomainDnsZones extrahiert werden. Wenn Sie benutzerdefinierte DNS-Partitionen verwenden, crawlt Tenable Identity Exposure diese nicht und speichert auch ihre DNS-Einträge nicht.