자격 증명 없는 애플리케이션 검색은 지정된 IP 주소의 특정 포트에서 활성 상태로 수신 대기 중인 애플리케이션 서비스를 식별하려고 시도합니다.
애플리케이션 검색 패턴
서비스 매핑은 모든 자격 증명 기반 포트 분류 단계가 실패할 때 자격 증명 없는 검색 애플리케이션 패턴을 시작합니다. 이 패턴은 Nmap이 설치되었고 특정 원격 호스트 IP 주소 및 포트에 대해 애플리케이션/버전 감지를 수행하도록 구성된 Windows MID 서버에서 Nmap 명령을 실행합니다. Nmap이 스캔 중인 포트가 열려 있으면 패턴은 Nmap에서 제공된 서비스 제품, 서비스 이름 및 모든 추가 정보를 지원되는 ServiceNow 애플리케이션 테이블에 매핑하는 CredentialLessApplicationClassNameMapper MID 서버 스크립트 포함을 실행합니다. 스크립트가 반환된 제품을 기본 애플리케이션 [cmdb_ci_appl] 테이블에서 파생된 적절한 테이블에 매핑할 수 있으면 스크립트는 이 정보를 패턴으로 전달합니다. 이 패턴은 최종적으로 CI가 생성되거나 조정될 수 있도록 일치를 검색 식별자로 전달합니다. Nmap으로 반환된 정보가 파생된 테이블과 일치하지 않으면 인스턴스가 기본 애플리케이션 [cmdb_ci_appl] 테이블을 사용하여 CI를 만듭니다.
중요사항:
자격 증명 없는 검색 애플리케이션 패턴이 시작되도록 허용하려면 시스템 속성이 mid.discovery.credentialless.enable true로 설정되어 있어야 합니다. 사용하지 않으려면 이 속성을 false로 설정해야 합니다.
스캔 예
이 정보는 Linux 테스트 시스템에서 Nmap 애플리케이션/버전 감지 포트 스캔에 의해 반환되었으며 Nmap 스캔이 반환할 수 있는 애플리케이션 데이터 유형을 설명합니다.
정보
포트
포트 상태
오픈
서비스 이름
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
톰캣
cmdb_ci_app_server_tomcat
Apache httpd 2.2.10 ((Linux/SUSE))
해당 사항 없음
NULL
Apache 웹 서버
cmdb_ci_apache_web_server
IBM HTTP 서버
해당 사항 없음
Apache에서 파생됨
Apache 웹 서버
cmdb_ci_apache_web_server
IBM DB2 데이터베이스 서버(QDB2/LINUX)
해당 사항 없음
NULL
DB2 인스턴스
cmdb_ci_db_db2_instance
Microsoft Exchange smtpd
SMTP
NULL
Exchange 클라이언트 액세스 서버
cmdb_ci_exchange_cas
Microsoft Exchange 2010 로그 복사기
msexchange-logcopier
NULL
Exchange 사서함
cmdb_ci_exchange_mailbox_server
JBoss 서비스 httpd
해당 사항 없음
NULL
JBoss
cmdb_ci_app_server_jboss
Microsoft IIS httpd 6.0
해당 사항 없음
NULL
Microsoft IIS 웹 서버
cmdb_ci_microsoft_iis_web_server
마이크로소프트 SQL 서버 2005 9.00.4035; SP3
해당 사항 없음
NULL
Microsoft SQL 서버
cmdb_ci_db_mssql_instance
몽고DB 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(우분투)
해당 사항 없음
NULL
Nginx 웹 서버
cmdb_ci_nginx_web_server
PostgreSQL DB
해당 사항 없음
NULL
PostgreSQL 인스턴스
cmdb_ci_db_postgresql_instance
Oracle WebLogic 서버
해당 사항 없음
NULL
웹로직
cmdb_ci_app_server_weblogic
IBM WebSphere MQ 6.0
해당 사항 없음
NULL
IBM WebSphere MQ
cmdb_ci_appl_ibm_wmq
IBM WebSphere 애플리케이션 서버 6.1
해당 사항 없음
NULL
IBM Websphere
cmdb_ci_app_server_websphere
OpenSSH: ssh
해당 사항 없음
NULL
OpenSSH
cmdb_ci_appl
Oracle 인스턴스
해당 사항 없음
NULL
Oracle Database
cmdb_ci_db_ora_instance
Oracle 인스턴스
해당 사항 없음
NULL
Oracle TNS 수신기
cmdb_ci_db_ora_instance
제품-A
서비스-B
NULL
제품-A:서비스-B
cmdb_ci_appl
제품-A
서비스-B
추가 정보-C
product-A:extrainfo-C:service-B
cmdb_ci_appl
고유하게 일치하지 않는 애플리케이션 예
이 예에서 Nmap으로 반환된 정보는 파생된 테이블과 일치하지 않으며 인스턴스는 기본 애플리케이션 [cmdb_ci_appl] 테이블을 사용하여 CI를 만들어야 합니다.
검사한 애플리케이션
Nmap 응답
스크립트 응답 - 식별자 입력
서비스 제품
서비스 이름
서비스 추가 정보
검색된 제품
CI 애플리케이션 테이블
Exchange 허브
Microsoft Windows RPC
MSRPC
null
Microsoft Windows RPC:msrpc
cmdb_ci_appl
HAProxy 부하 분산 장치
IBM HTTP 서버(Apache에서 파생)
http
null
IBM HTTP 서버(Apache에서 파생):http
cmdb_ci_appl
SharePoint
Oracle Database
http
null
Oracle 데이터베이스:http
cmdb_ci_appl
SharePoint
Oracle 인스턴스
해당 사항 없음
null
Oracle Database
cmdb_ci_appl
애플리케이션 ID
검색 - IP Based [com.snc.discovery.ip_based] 플러그인은 Nmap 스캔에 대한 sys_class_name 및 cl_port에서 일치하는 애플리케이션 [cmdb_ci_appl] 테이블에 대해 애플리케이션 규칙에 식별자를 추가합니다.그림 1. 애플리케이션 규칙의 Nmap 식별자