Credential-less host Discovery

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Credential-less Host Discovery

    Credential-less host discovery in ServiceNow is triggered when a scanned host is detected as alive but inactive, or when all credential-based classification probes fail. This discovery method helps identify and create or update Configuration Items (CIs) for hosts without requiring credentials, enabling visibility into devices that might otherwise be missed during traditional credential-based scans.

    Show full answer Show less

    How Credential-less Host Discovery Works

    • If the Shazzam probe finds a host alive but inactive and credential probes fail, the Horizontal Discovery process initiates the Credentialless Discovery Network Device pattern to gather host information.
    • If no CI exists for the host, Service Mapping launches the HorizontalDiscoveryProbe, which triggers the Credentialless Discovery pattern to create or update the host CI in the Hardware [cmdbcihardware] table.
    • Ensure the system property mid.discovery.credentialless.enable is set to true to enable this pattern; set it to false to disable.

    Nmap Probe and Host Identification

    • The MID Server runs an Nmap command to verify host availability using the IP address and a configurable list of ports.
    • Nmap performs reverse DNS resolution to find the host name; if multiple names exist, the first is used; otherwise, the IP address is used as the host CI name.
    • The Npcap packet capture library identifies the host's operating system family.
    • If the scanned host is on the same subnet as a Windows MID Server, the host’s MAC address is also obtained.
    • Port scanning is controlled via the IP Service [cmdbipservice] table, where ports can be enabled or blocked for credential-less discovery by modifying the Credentialless Discovery [cldiscovery] column.

    Host CI Creation and Classification

    • After discovery, the SetCredentialLessDeviceClassName MID Server script determines the OS family of the host.
    • The host CI is classified based on OS family, using specific server classes derived from the Hardware [cmdbcihardware] base class (e.g., Linux Server [cmdbcilinuxserver]). If OS family is undefined, the base hardware class is used.
    • Supported OS families include AIX, HP-UX, Linux, Solaris, OS X/iOS, Windows, and Undefined, each mapping to the appropriate CI table.
    • When credential issues are resolved and credential-based discovery runs again, the existing host CI created by credential-less discovery is updated using serial number, host name, and system class information from credential-based probes.

    Hardware Identification

    The Discovery - IP Based [com.snc.discovery.ipbased] plugin adds a hardware identifier rule matching host CI names found by Nmap scans. This hardware rule supports both credential-based and credential-less discovery methods to ensure consistent identification of discovered hosts.

    Credential-less host discovery occurs when a scanned host is found to be alive, but not active, or when all configured credential-based classification probes have failed.

    How the host Discovery pattern is launched

    If the Shazzam probe scans a host that is alive but not active, and if credential-based classification probes fail, horizontal Discovery launches the Credentialless Discovery Network Device pattern to gather host information. If the host being scanned does not have a CI defined, Service Mapping launches the HorizontalDiscoveryProbe probe, which in turn launches the Credentialless Discovery Network Device pattern. This pattern attempts to create a new CI if one does not already exist for the scanned host or to update an existing CI in the Hardware [cmdb_ci_hardware] table.
    Important:
    To allow the Credentialless Discovery Network Device pattern to launch, ensure that the mid.discovery.credentialless.enable system property is set to true. To disable, ensure this property is set to false.
    Table 1. ECC Queue entries
    The system creates these entries in the ECC queue during execution of the HorizontalDiscoveryProbe.
    Figure 1. Credential-less Discovery
    ECC Queue entries created during execution of the HorizontalDiscoveryProbe
    Table 2. Log messages
    These log messages are published during execution of the HorizontalDiscoveryProbe.
    Figure 2. Credential-less host identifier
    Log messages during execution of the HorizontalDiscoveryProbe

    The Nmap command

    The Nmap command executed on the MID Server determines if the host is up. Using the IP address and a list of ports passed to Nmap by the pattern, Nmap performs reverse DNS name resolution to identify the host name associated with the IP address. If multiple host names are configured, the first name returned by Nmap is used. If no host name is configured, then the IP address of the remote host is used to create the host CI. The Npcap packet capture library, included with the Nmap installation, identifies the host operating system family. If the scanned host is located on the same subnet as the Windows MID Server host that executes Nmap, the remote host's MAC address is returned.
    Note:
    The list of ports that Nmap is configured to scan during credential-less host Discovery is stored in the IP Service [cmdb_ip_service] table, which is editable. By default, all ports are available for scanning. To block the use of any port for an Nmap scan, set the value in the Credentialless Discovery [cl_discovery] column to false.
    Figure 3. Credential-less port list
    Configurable list of ports for credential-less Discovery

    Creating or updating host CIs

    After successful execution of the Credentialless Discovery Network Device pattern, the SetCredentialLessDeviceClassName MID Server script runs to identify the operating system family of the discovered host. The system class of the host CI is based on the operating system family that is returned by Nmap. If the OS family matches one of the six supported server operating systems, then the system uses a server class derived from the Hardware [cmdb_ci_hardware] base class, such as Linux Server [cmdb_ci_linux_server]. If no match is found, the system uses the base class.
    Note:
    When the issue with the credentials is resolved and Discovery runs again, the instance uses the serial number, host name, and system class provided by credential-based discovery to update the host CI that was created by credential-less Discovery.
    Table 3. Supported OS families
    OS family CI table
    AIX cmdb_ci_aix_server
    HP-UX cmdb_ci_hpux_server
    Linux cmdb_ci_linux_server
    Solaris cmdb_ci_solaris_server
    OS X or iOS cmdb_ci_osx_server
    Windows cmdb_ci_win_server
    Undefined cmdb_ci_hardware

    Hardware identification

    The Discovery - IP Based [com.snc.discovery.ip_based] plugin adds an identifier to the Hardware Rule for the Hardware [cmdb_ci_hardware] base table that matches on the host CI name for Nmap scans. The Hardware Rule is used by both credential-based and credential-less Discovery.
    Figure 4. Credential-less hardware rule
    Hardware rule identifier for Credential-less Discovery