OpenLM ACC 署名証明書を展開する
ServiceNow Agent Client Collector (ACC) エージェントは、プラグインの署名を検証してからでないとプラグインを実行しません。ACC は、Windows、macOS、Linux のいずれでも、このチェック (verify-plugin-signature) を既定で有効にしています。エージェントが OpenLM ACC Plugin のチェックを実行できるように、OpenLM の署名証明書を一度だけ展開します。各 MID (Management, Instrumentation, and Discovery) Server に証明書を配置し、各エージェントホストでその証明書を信頼します。3 つのオペレーティングシステムの OpenLM のチェックは、すべて同じ証明書で署名されています。
証明書は、マシンを OpenLM の監視に登録する前に展開してください。エージェントは、OpenLM のチェックを最初にダウンロードするときに署名を確認します。
はじめる前に
次のものが必要です。
- OpenLM の証明書ファイル:
sign.zipとsign.crt、および macOS と Linux のホスト用のtrust-acc-signing-cert.sh。 - ACC エージェントが接続する各 MID Server へのファイルアクセス。
- 各エージェントホストの管理者権限: Windows ではローカルの Administrator、macOS と Linux では root (
sudo)。 - 証明書の同期を開始するための ServiceNow ロール
agent_client_collector_admin。 - macOS と Linux のホストの
openssl。trust-acc-signing-cert.shスクリプトが使用します。macOS には標準で含まれています。
証明書を確認する
どのホストでも証明書を信頼する前に、証明書の詳細が次の値と一致することを確認します。
| 証明書の詳細 | 値 |
|---|---|
| Subject | CN=sign, OU=ACC, O=OpenLM (自己署名) |
| SHA-1 フィンガープリント | B7:63:37:0D:A2:8F:23:1C:C0:ED:17:EF:1B:3F:D8:CE:F1:7E:2E:82 |
| SHA-256 フィンガープリント | 64:0B:44:91:8D:C9:26:70:36:9B:04:40:E1:FC:FA:27:57:F0:7D:1E:CA:16:B2:49:92:D8:23:C7:01:62:BC:1F |
| 有効期限 | 2027 年 8 月 18 日 |
受け取ったファイルの SHA-1 フィンガープリントを読み取るには、sign.crt があるフォルダーで次のいずれかのコマンドを実行します。
- Windows
- Linux and macOS
(Get-PfxCertificate -FilePath .\sign.crt).Thumbprint
出力にはコロンが含まれません: B763370DA28F231CC0ED17EF1B3FD8CEF17E2E82。
openssl x509 -in sign.crt -noout -fingerprint -sha1
フィンガープリントが一致しない場合は、そのファイルを信頼しないでください。OpenLM に新しいコピーを依頼します。
各 MID Server に証明書を配置する
エージェントは、接続先の MID Server から証明書を取得します。該当するすべての MID Server で、次の手順を実行します。
-
MID Server のインストールディレクトリを確認します。
Windows では Services を開き、MID Server サービスを開いて Path to executable を確認します。Linux では、MID Server をインストールしたディレクトリです。
-
そのディレクトリの
agent\static\cert\フォルダー (Linux の MID Server ではagent/static/cert/) にsign.zipをコピーします。ファイルは
.zipのままにしておきます。MID Server は、zip 形式でない証明書を無視します。必要に応じて、certのサブフォルダーに配置してもかまいません。 -
ServiceNow で MID Server レコードを開き、Related Links で Trigger ACC certificate sync を選択します。
同期を実行すると、証明書がすぐにエージェントに送られます。実行しない場合、エージェントが証明書を受け取るまで最大で約 24 時間かかります。
各エージェントホストで証明書を信頼する
各エージェントホストでも、オペレーティングシステムのトラストストアで証明書を信頼する必要があります。Windows では Trusted Root、Linux では CA トラストストア、macOS では System キーチェーンです。
- Windows
- Linux
- macOS
-
PowerShell を管理者として開きます。
-
証明書を Trusted Root ストアにインポートします。
Import-Certificate -FilePath "<path-to>\sign.crt" -CertStoreLocation Cert:\LocalMachine\Root -
証明書がストアにあることを確認します。
Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Subject -like "*CN=sign*" }
1 台ずつではなく、グループポリシーや Intune などを使って、すべてのエージェントマシンの Trusted Root ストアに sign.crt を一括で展開します。
-
sign.crtとtrust-acc-signing-cert.shをホストにコピーします。 -
root としてスクリプトを実行します。
sudo bash trust-acc-signing-cert.sh --cert sign.crt --fingerprint B7:63:37:0D:A2:8F:23:1C:C0:ED:17:EF:1B:3F:D8:CE:F1:7E:2E:82 --restart-agent
スクリプトは、ファイルを信頼する前に証明書のフィンガープリントを確認し、一致しないファイルは拒否します (終了コード 2)。その後、証明書をシステムのトラストストアに追加し、ACC エージェントのサービス (acc) を再起動します。スクリプトは、Debian と Ubuntu、Red Hat Enterprise Linux (RHEL) 系のディストリビューション (Fedora、CentOS、Rocky Linux、AlmaLinux)、SUSE に対応しています。
手動で証明書を信頼する場合は、ディストリビューションに応じたコマンドを実行します。
-
Debian または Ubuntu:
sudo cp sign.crt /usr/local/share/ca-certificates/openlm-acc-signing.crt && sudo update-ca-certificates && sudo systemctl restart acc -
RHEL 系のディストリビューション:
sudo cp sign.crt /etc/pki/ca-trust/source/anchors/openlm-acc-signing.crt && sudo update-ca-trust extract && sudo systemctl restart acc -
SUSE:
sudo cp sign.crt /etc/pki/trust/anchors/openlm-acc-signing.crt && sudo update-ca-certificates && sudo systemctl restart acc
Debian または Ubuntu で確認するには、信頼されたコピーのフィンガープリントを表示し、想定される値と比較します。
openssl x509 -in /etc/ssl/certs/openlm-acc-signing.pem -noout -fingerprint -sha1
1 台ずつではなく、構成管理ツールを使って sign.crt を展開します。
-
sign.crtとtrust-acc-signing-cert.shを Mac にコピーします。 -
ターミナルで、管理者としてスクリプトを実行します。
sudo bash trust-acc-signing-cert.sh --cert sign.crt --fingerprint B7:63:37:0D:A2:8F:23:1C:C0:ED:17:EF:1B:3F:D8:CE:F1:7E:2E:82 --restart-agent
スクリプトは、ファイルを信頼する前に証明書のフィンガープリントを確認し、一致しないファイルは拒否します (終了コード 2)。その後、証明書を System キーチェーンに追加し、ACC エージェントを再起動します。
手動で証明書を信頼する場合:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain sign.crt && sudo launchctl kickstart -k system/com.sn.acc
確認するには、次のコマンドを実行します。証明書が信頼されている場合はフィンガープリントが表示され、信頼されていない場合は何も表示されません。
security find-certificate -a -c sign -Z /Library/Keychains/System.keychain | grep B763370DA28F231CC0ED17EF1B3FD8CEF17E2E82
1 台ずつではなく、モバイルデバイス管理 (MDM) ツールを使って sign.crt を展開します。
動作を確認する
エージェントが OpenLM のチェックを信頼していることを確認するには、次の手順を実行します。
-
エージェントが証明書を取得するまで 1 分ほど待つか、ホストで ACC エージェントを再起動します。
オペレーティングシステム 再起動コマンド Windows Restart-Service AgentNowLinux sudo systemctl restart accmacOS sudo launchctl kickstart -k system/com.sn.acc -
少なくとも 1 台のマシンを OpenLM の監視に登録します。監視するマシンを選択するを参照してください。
-
そのマシンで ACC のログを開きます。
オペレーティングシステム ACC のログ Windows C:\ProgramData\ServiceNow\agent-client-collector\log\acc.logLinux /var/log/servicenow/agent-client-collector/acc.logmacOS /Library/Application Support/servicenow/agent-client-collector/log/acc.log -
OpenLM のチェックが実行されていることを確認します。Windows では
Running check, name: policy: Dynamic_process_monitor_policy、macOS と Linux ではpolicy: Dynamic_process_monitor_policy_mac_linuxを探します。 -
ログに
couldn't verify assetエラーがないこと、およびプラグインの Monitored Devices でマシンが Healthy になっていることを確認します。
エージェントのバージョンによって、Successfully verified plugin with signature and public key も記録される場合と、失敗だけが記録される場合があります。成功の行がなくてもエラーではありません。
トラブルシューティング
| ログメッセージまたは症状 | 原因と対処 |
|---|---|
couldn't verify asset または couldn't get signature file full path | 証明書がまだ MID Server にありません。証明書の同期も含めて、各 MID Server に証明書を配置するをもう一度実行します。 |
x509: certificate signed by unknown authority | ホストが証明書を信頼していません。そのホストで証明書を信頼してから、エージェントを再起動します。 |
| MID Server が証明書を無視する。 | ファイルは .zip である必要があります。sign.crt をもう一度 zip 形式に圧縮し、その .zip ファイルを cert フォルダーにコピーします。 |
trust-acc-signing-cert.sh で FINGERPRINT MISMATCH が表示される (終了コード 2) | ファイルが OpenLM の証明書ではないか、破損しています。OpenLM から新しいコピーを入手してください。そのファイルを手動で信頼しないでください。 |
No ACC agent service found または No ACC agent LaunchDaemon (com.sn.acc) found | スクリプトは証明書を信頼しましたが、エージェントを再起動できませんでした。動作を確認するのコマンドで自分で再起動します。 |
Unsupported distribution - no known trust anchor directory found | スクリプトがお使いの Linux ディストリビューションを認識できません。ディストリビューション独自のツールで sign.crt をシステムのトラストストアに追加してから、エージェントを再起動します。 |
証明書を削除する
OpenLM ACC Plugin を削除した後などに OpenLM の証明書の信頼をやめるには、次の手順を実行します。
-
各エージェントホストから証明書を削除します。
Windows では、管理者として PowerShell で次を実行します。
Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Thumbprint -eq "B763370DA28F231CC0ED17EF1B3FD8CEF17E2E82" } | Remove-ItemmacOS と Linux では、root として次を実行します。
sudo bash trust-acc-signing-cert.sh --remove --fingerprint B7:63:37:0D:A2:8F:23:1C:C0:ED:17:EF:1B:3F:D8:CE:F1:7E:2E:82 -
各 MID Server の
agent\static\cert\フォルダー (Linux の MID Server ではagent/static/cert/) からsign.zipを削除します。
ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。