認証情報なしのアプリケーション ディスカバリーでは、任意の IP アドレスの特定のポートをアクティブにリッスンしているアプリケーションサービスの識別を試みます。

アプリケーションディスカバリーパターン

サービスマッピングは、すべての認証情報ベースのポート分類ステップが失敗した場合に、認証情報なしのディスカバリーアプリケーションパターンを起動します。このパターンでは、Nmap がインストールされている Windows MID サーバー上で Nmap コマンドを実行します。これは、特定のリモートホストの IP アドレスとポートに対してアプリケーション / バージョン検出を実行するように設定されています。Nmap によりスキャンされているポートがオープンである場合は、パターンが CredentialLessApplicationClassNameMapper MID サーバースクリプトインクルードを実行します。これは、Nmap が提供するサービス製品、サービス名、および補足情報を、サポートされている ServiceNow のアプリケーションテーブルにマップします。スクリプトが、返された製品をベースアプリケーション [cmdb_ci_appl] テーブルから派生した適切なテーブルにマップできる場合、スクリプトはこの情報をパターンに渡します。パターンは、最終的に CI を作成または調整するために、一致をディスカバリーの識別子に渡します。Nmap によって返された情報がどの派生テーブルとも一致しない場合、インスタンスはベースアプリケーション [cmdb_ci_appl] テーブルを使用して CI を作成します。
重要: 認証情報なし ディスカバリーアプリケーションパターンを起動できるようにするには、mid.discovery.credentialless.enable システムプロパティが true に設定されていることを確認してください。無効にするには、 このプロパティを False に設定します。

スキャンの例

この情報は、Linux テストシステムで Nmap アプリケーション / バージョン検出ポートスキャンによって返されたもので、Nmap スキャンが返すことができるアプリケーションデータのタイプを示しています。
情報 ポート
ポートステータス open
サービス名 ssh
サービス製品 OpenSSH
その他のサービス情報 プロトコル 2.0

デフォルトアプリケーションマッピング

CredentialLessApplicationClassNameMapper MID サーバースクリプトインクルードは、ディスカバリーとサービスマッピングに使用できる最も一般的なアプリケーションテーブルのサブセットを使用して設定されます。agent_admin ロールを持つユーザーは、このスクリプトインクルードを編集して、認証情報なしのアプリケーションのディスカバリーで派生アプリケーションの CI クラスへのマッピングに使用できる追加の CI テーブルを追加することができます。

この表では、CMDB 識別および調整により定義済みの製品を解決できるテストシステムで、Nmap によって返されたクローズマッチの例を示しています。多くの場合、一致を判断するために、Nmap によって返されたサービス名は必要ありません。一致を判断するには、テーブルに表示されるサービス名が必要です。

Nmap によって返された製品で、定義済みの ディスカバリー製品では解決できないものは、<serviceProduct>:<serviceExtrainfo>:<serviceName> という命名形式を使用します。この文字列のいずれかの値が null の場合、名前から削除されます。
  • serviceProduct:Nmap によって返されたサービス製品情報です。
  • serviceExtrainfo:プロトコル情報などの識別に役立つアプリケーションについて、Nmap が返す追加情報です。
  • serviceName:製品のサービスまたはデーモンのインストール名です。
表 : 1. 解決されたクローズマッチの例
Nmap の応答 スクリプト応答 - 識別子入力
サービス製品 サービス名 サービス追加情報 検出された製品 CI アプリケーションテーブル
Apache Tomcat/Coyote JSP エンジン 1.1 適用外 NULL Tomcat cmdb_ci_app_server_tomcat
Apache httpd 2.2.10 ((Linux/SUSE)) 適用外 NULL Apache Web Server cmdb_ci_apache_web_server
IBM HTTP Server 適用外 Apache からの派生 Apache Web Server cmdb_ci_apache_web_server
IBM DB2 Database Server (QDB2/LINUX) 適用外 NULL DB2 インスタンス cmdb_ci_db_db2_instance
Microsoft Exchange smtpd smtp NULL Exchange Client Access Server cmdb_ci_exchange_cas
Microsoft Exchange 2010 ログコピー msexchange-logcopier NULL Exchange Mailbox cmdb_ci_exchange_mailbox_server
JBoss サービス httpd 適用外 NULL JBoss cmdb_ci_app_server_jboss
Microsoft IIS httpd 6.0 適用外 NULL Microsoft iis Web Server cmdb_ci_microsoft_iis_web_server
Microsoft SQL Server 2005 9.00.4035; SP3 適用外 NULL Microsoft SQL Server cmdb_ci_db_mssql_instance
MongoDB 2.5.1 適用外 NULL MongoDB インスタンス cmdb_ci_db_mongodb_instance
MySQL 5.5.51 適用外 NULL MySQL インスタンス cmdb_ci_db_mysql_instance
nginx 1.4.6 (Ubuntu) 適用外 NULL Nginx Web Server cmdb_ci_nginx_web_server
PostgreSQL DB 適用外 NULL PostgreSQL インスタンス cmdb_ci_db_postgresql_instance
Oracle WebLogic Server 適用外 NULL Weblogic cmdb_ci_app_server_weblogic
IBM WebSphere MQ 6.0 適用外 NULL IBM WebSphere MQ cmdb_ci_appl_ibm_wmq
IBM WebSphere Application Server 6.1 適用外 NULL IBM Websphere cmdb_ci_app_server_websphere
OpenSSH:ssh 適用外 NULL OpenSSH cmdb_ci_appl
Oracle インスタンス 適用外 NULL Oracle データベース cmdb_ci_db_ora_instance
Oracle インスタンス 適用外 NULL Oracle TNS Listener cmdb_ci_db_ora_instance
product-A service-B NULL product-A:service-B cmdb_ci_appl
product-A service-B extrainfo-C product-A:extrainfo-C:service-B cmdb_ci_appl

一意に一致しないアプリケーションの例

この例では、Nmap によって返された情報がどの派生テーブルとも一致しておらず、インスタンスはベースアプリケーション [cmdb_ci_appl] テーブルを使用して CI を作成する必要があります。
スキャン対象のアプリケーション Nmap の応答 スクリプト応答 - 識別子入力
サービス製品 サービス名 サービス追加情報 検出された製品 CI アプリケーションテーブル
ExchangeHub Microsoft Windows RPC msrpc null Microsoft Windows RPC:msrpc cmdb_ci_appl

HAProxy ロードバランサー

IBM HTTP Server (Apache からの派生)

http null

IBM HTTP Server (Apache からの派生):http

cmdb_ci_appl
SharePoint

Oracle データベース

http null

Oracle データベース:http

cmdb_ci_appl
SharePoint

Oracle インスタンス

適用外 null Oracle データベース cmdb_ci_appl

アプリケーション ID

ディスカバリー - IP ベースの [com.snc.discovery.ip_based] プラグインにより、Nmap スキャンの sys_class_name と ci_port に一致するアプリケーション [cmdb_ci_appl] テーブルのアプリケーションルールに識別子が追加されます。
図 : 1. アプリケーションルールの Nmap 識別子
アプリケーションルールの Nmap 識別子