証明書インベントリと管理
証明書インベントリと管理 アプリケーションを使用すると、すべての TLS 証明書を検出し、そのインベントリを確認し、積極的に管理することができます。IPv6 は 証明書インベントリと管理 でサポートされています。
ストアでアプリを要求する
ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。
メリット
- すべての TLS 証明書のインベントリを確認します。
- 差し迫った期限切れを知らせます。
- フローに従って証明書タスクを作成し、期限切れの証明書を更新します。
- 既に期限切れの証明書のインシデントを作成します。
- 証明書の重要性に優先順位を付けます。
- 証明書を積極的に管理するのに役立ちます。
- 大量の証明書を手作業で追跡する手間が減ります。
- 期限切れ、または期限切れ間近の証明書が原因で発生する、費用のかかる機能停止を防止します。
要件
ITOM ヴィジビリティ の [com.snc.itom.vis.license] プラグイン、ディスカバリー の [com.snc.discovery] プラグイン、スコープ対象アプリ (CMDB) の構成管理 [com.snc.cmdb.scoped] プラグインがインストールされアクティブ化されており、Washington DC 以降へアップグレードしていることを確認してください。その後、ServiceNow Storeから 証明書インベントリと管理 アプリケーションをダウンロードできます。アップグレード時に、ITOM Visibility [com.snc.itom.vis.license] および ディスカバリー [com.snc.discovery] プラグインがインストールされている場合、証明書インベントリと管理 [com.sn_disco_certmgmt] プラグインが自動的にインストールされます。
- Entrust:証明書検出 URL:https://api.entrust.net/enterprise/
- Entrust ルート証明書ダウンロード URL:https://web.entrust.com/root-certificates -
- DigiCert:https://www.digicert.com/services/
- Sectigo:https://cert-manager.com/api/ssl/
- GoDaddy:https://api.godaddy.com/
証明書インベントリと管理 の仕組み
証明書インベントリと管理 を使用すると、ディスカバリー は既存の CI ベースの Discovery スケジュールを使用して、特定のポートで証明書を自動的にスキャンできるようになります。さらに、個々の URL をスキャンするための新しい ディスカバリー スケジュールを作成することもできます。
証明書インベントリと管理 バージョン 1.1.7 では、認証局 (CA) をスキャンし、ファイルから証明書をインポートすることもできます。
Washington DC リリースでは、バージョン 1.2.0 の 証明書インベントリと管理 をダウンロードできます。HTTP(s) エンドポイント [cmdb_ci_endpoint_http] テーブルで使用されている証明書を検出して、SSL 証明書のリストを一括インポートできます。有効期限間近または期限切れの証明書に関するイベントとアラートを作成して、有効期限間近および期限切れの証明書に関する通知を Slack で受け取ることができます。

プロセスの最初の部分は、証明書がどこから検出されたかによって異なります。
- ポート経由の ディスカバリーポートプローブ [tls_ssl_certs] は、14 のデフォルトの事前承認済みポートを自動的にスキャンします。
- SSL の一般的なポート:443、8443、9443、636 (ldaps)、993 (imaps)、995 (popssl)、989、990
- StartTLS ポート:25 (smtp)、110、143、389、21、587 (smtp)
Shazzam の CI 検出プロセスの一環として、MID Server はスキャナーを実行して IP ポート番号から証明書チェーン情報を取得します。これは、さまざまな証明書属性と、証明書階層などのその他のデータをキャプチャします。MID Server は、証明書情報を含む XML ペイロードに証明書を変換し、XML ペイロードをインスタンスと共有します。インスタンスの Shazzam センサーは、ECC キューエントリーをピックアップし、検出された証明書 [sn_disco_certmgmt_certificate_history] テーブルに新しいレコードを追加します。
次のフィールドは XML ペイロードからプルされ、検出された証明書の Shazzam TLS ポートプローブから Java コードで検証されます。- 証明書 ID
- revocation_status
- 件名
- issuer
- sans/
- is_self_signed
- is_ca
- valid_from
- valid_to
- signature_algorithm
- fingerprint_algorithm
- key_size
- serial_number
- version
- URL 経由の ディスカバリー
証明書 URL [sn_disco_certmgmt_cert_url] テーブルには、証明書検出のターゲットになる URL のリストが含まれています。また各レコードには、所定の URL 定義にどの証明書が関連付けられているかを確認するために、一意の証明書 [cmdb_ci_certificate] テーブルに対するオプションの参照があります。Discovery スケジュールから必要なパラメーターが結合され、Discovery ステータスが作成され初期化されます。[CertificateDiscoveryFromURLScan] プローブはバッチ内の各 URL の証明書チェーンを検出し、各証明書の証明書チェーンを含む XML ペイロードを出力します。また、検出された証明書 [sn_disco_certmgmt_certificate_history] テーブルに新しいレコードを追加します。
- インポート証明書経由の ディスカバリー (証明書インベントリと管理 バージョン 1.1.7) インポート証明書は、以下を使用するパターンインポート SSL 証明書を使用して検出されます。
- 証明書がホストされているホスト名 / IP
- 証明書が存在するフォルダ
- TLS_keepOriginalCertificate:TLS_keepOriginalCertificate パラメーターが true に設定されている場合、ペイロードサイズが増加してメモリー不足の問題が発生する可能性があります。
- Mid_temp_folder:ファイルが一時的にコピーされる MID サーバー 上のフォルダ
注:Auto-select MID Server オプションは Windows および Linux mid の組み合わせではサポートされていません。オリジナルの証明書ファイルを保存するために MID サーバー を使用している場合は、ホスト名 / IP を空または localhost に設定し、ディスカバリー のスケジュールに対して特定の MID サーバー を選択する必要があります。 - CA 局経由の ディスカバリー (証明書インベントリと管理 バージョン 1.1.7)
証明書インベントリと管理 の資格情報が GoDaddy、DigiCert、Entrust、または Sectigo 認証局でセットアップされて ディスカバリー のスケジュールが実行されると、特定の CA パターンによって REST API が GoDaddy、DigiCert、Entrust、または Sectigo を呼び出し、証明書の情報が収集されます。その後、証明書のリストが取得され、[cmdb_ci_certificate]、[certificate_domain]、[sys_attachment] テーブルに保存されます。
ca_api_url と ca_api_version はオプションのパラメーターです。これらのパラメーターがパターンパラメーター内で空のままになっている場合は、デフォルト値が使用されます。デフォルト値は次のようになります。- DigiCert:証明書管理 (ca_api_version = v2、ca_api_url = https://www.digicert.com/services/)
- Entrust:証明書管理 (ca_api_version = v2、ca_api_url = https://api.entrust.net/enterprise/)
- GoDaddy:証明書管理 (ca_api_version = v1、ca_api_url = https://api.godaddy.com/)
- Sectigo:証明書管理 (ca_api_version = v1、ca_api_url = https://cert-manager.com/api/ssl/)
GoDaddy、DigiCert、Entrust、Sectigo パターンの引数は次のとおりです。Sectigo と Entrust の CA は、バージョン 1.2.0 以降からスキャンできます。
- Start_offset:CA 局からの証明書を読み込むためのオフセット位置。デフォルト値は 0 です。
- Limit:start_offset から読み取られる証明書の数。デフォルト値は 1500 です。
- CredentialAlias:CA の資格情報に添付されている資格情報エイリアスまたはタグの名前。サーバーなしの実行パターン構成には、これを追加する必要があります。
- TLS_keepOriginalCertificate パラメーターが true に設定されている場合、証明書ファイルは証明書 CI に添付されます。これによりペイロードサイズが増加し、メモリー不足の問題が発生する可能性があります。
- IncludeCertStatus:デフォルト以外の検出対象の証明書の進捗状況も提示するパラメーター。
Sectigo の場合、デフォルトで検出される進捗状況は次のとおりです。
- 発行済み
- 期限切れ
DigiCert と GoDaddy の場合、デフォルトで検出される進捗状況は次のとおりです。
- 発行済み
- 期限切れ
- 取り消し済み
- キャンセル
Entrust の場合、デフォルトで検出される進捗状況は次のとおりです。
- 有効
- 期限切れ
- 取り消し済み
注:一意の証明書 [cmdb_ci_certificate] テーブルの [ステータス] フィールドには、API によって返される生の状態ではなく、証明書のライフサイクルのステータスが表示されます。API によって返されたステータスが発行済み、有効、期限切れ、またはキャンセルの場合、そのステータスは発行済みとして一意の証明書 [cmdb_ci_certificate] テーブルに格納されます。 - これ以降のプロセスは同じです。
認証局とルートによって署名された TLS 証明書チェーンに基づいて、一意の証明書 [cmdb_ci_certificate] およびインストール済み証明書 [sn_disco_certmgmt_cmdb_installed_certificate] テーブルが入力されます。証明書が検出されると、期限切れを迎える証明書や期限切れになった証明書がないか、スケジュールされたジョブによって一意の証明書 [cmdb_ci_certificate] テーブルが自動的にチェックされます。その後、証明書タスクとインシデントが作成され、アサインされます。
手動で新しい証明書を要求し、証明書を更新することができます。詳細については、「証明書要求の手動フロー」を参照してください。
バージョン 1.3.8 では、新しい証明書、更新、または証明書の取り消しの要求を自動化する機能が追加されています。次のフォームを参照してください。 TLS 証明書の自動証明書管理
システムパフォーマンスを最適化するために、テーブルクリーナーは、次の 2 つのテーブルから指定された日数が経過すると、古い証明書レコードを自動的に削除します。- 検出された証明書 [sn_disco_certmgmt_certificate_history] テーブル:30 日を超えている
- インストール済み証明書 [sn_disco_certmgmt_cmdb_installed_certificate] テーブル:90 日を超えている