For the complete documentation index, see llms.txt. This page is also available as Markdown.

SSL/TLSとカスタムCA証明書

Keeperコマンダーは、KeeperクラウドAPIとHTTPSで通信します。デフォルトでは、信頼済みCAバンドル (同梱のcertifiストア、または構成時のOS CAストア) を使ってサーバー証明書を検証します。

ネットワークで企業ルートCAによるTLS検査 (SSLインターセプト) が行われている場合、そのCAを信頼するよう構成しないと、証明書検証エラーで接続に失敗することがあります。

このページでは、コマンダーCLIおよびサービスモードでのSSL/TLS証明書検証の構成方法を取り扱います。


カスタムCAバンドルを使用する場合

以下のようなエラーが表示される場合は、カスタムCAバンドルを構成します。

requests.exceptions.SSLError: HTTPSConnectionPool(host='keepersecurity.com', port=443): Max retries exceeded with url: /api/rest/authentication/get_device_token (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))

または

certificate verify failed: self-signed certificate in certificate chain

よくあるシナリオは以下のとおりです。

シナリオ
推奨アプローチ

企業のTLS検査 (Zscaler、Palo Altoなど)

Keeperエンドポイントを検査対象外 (許可リスト) にするか、企業ルートCAを含むCAバンドルを指定する

OSのCAストアが未整備または古い

KEEPER_SSL_CERT_FILE=system を設定するか、OSのCAパッケージをインストールする

システム証明書なしでコマンダーをインストールした場合

KEEPER_SSL_CERT_FILE にPEMファイルのパスまたは certifi を設定する

デバッグ用プロキシを使うローカル開発

プロキシCAを含むPEMファイルを使うか、テスト専用として none を使う

セキュリティポリシーで許可される場合は、ITチームと連携し、KeeperエンドポイントをTLS検査の許可リストに追加してください (keepersecurity.comkeepersecurity.eukeepersecurity.com.aukeepersecurity.cakeepersecurity.jp、または必要に応じて govcloud.keepersecurity.us)。これらのホストへの外向きHTTPSを許可リストに追加すれば、カスタムCAバンドルが不要になる場合があります。


クイックスタート

手順1: 企業ルートCAを入手する

TLS検査に使用されているルートCA証明書を、ITまたはセキュリティチームから入手してください。通常は .pem または .crt ファイルです。

手順2: CAバンドルを作成する

公開ルートCAと企業ルートCAを連結した、単一のPEMファイルを作成します。

macOS / Linuxの例:

Windowsでは、certifiバンドルと企業CAを1つの .pem ファイルに連結します。C:\ProgramData\Keeper\keeper-cacert.pem など、変更しにくい場所に保存してください。

pencil-line

コマンダーのインストールディレクトリ内にある同梱の cacert.pem は編集しないでください。アップグレード時に上書きされます。独自のバンドルを参照するには KEEPER_SSL_CERT_FILE を使用してください。

手順3: 環境変数を設定する

Windows (永続):

setx 実行後は、新しいコマンドプロンプトまたはPowerShellウィンドウを開いてください。

macOS / Linux (~/.zshrc~/.bashrc、またはサービスユニットファイルに追加):

手順4: 構成を確認する

新しいターミナルを開き、変数が設定されていることを確認します。

コマンダーを起動してログインします。

CERTIFICATE_VERIFY_FAILED エラーなしでログインが完了するはずです。詳細なログを有効にするには、keeper shell --debug を使用します。


構成リファレンス

解決の優先順位

SSL検証の設定は、以下の順序で解決されます。最初に一致したルールが適用されます。

順序
設定
効果

1

VERIFY_SSL=FALSE 環境変数

この変数を参照する設定 (PAMトンネルのWebSocket接続を含む) でSSL検証を無効化

2

config.json 内の "certificate_check": false

その構成ファイルを使うREST/API呼び出しのHTTP証明書検証を無効化

3

KEEPER_SSL_CERT_FILE 環境変数

HTTP通信に使うCAバンドルを指定

4

デフォルト

certifi同梱ストアを使用。または KEEPER_SSL_CERT_FILE=system の場合はOSのCAバンドルを使用

KEEPER_SSL_CERT_FILE の値

動作

(未設定)

certifi同梱のCAストアを使用 (デフォルト)

.pem ファイルへの絶対パス

指定したPEMファイルを使用。ファイルが存在しない場合は警告を出力し、certifiにフォールバック

certifi

同梱のcertifi CAストアを使用

system

OSのCAバンドルを使用 (macOSおよびLinux)。Windowsではcertifiにフォールバック

none または false

HTTP証明書検証を無効化。本番環境では非推奨

KEEPER_SSL_CERT_FILE はプロセスごとに1回読み取られます。この変数を変更したら、コマンダーを再起動してください。

config.json オプション

構成ファイル (--config または --config-file) を使う場合、HTTP SSL検証は certificate_check プロパティで制御します。

効果

true

HTTP SSL検証を有効化 (デフォルト)。KEEPER_SSL_CERT_FILE またはデフォルトのCAストアを使用

false

その構成ファイルについてHTTP SSL検証を無効化

その他の構成オプションについて詳しくは、構成ファイルをご参照ください。

VERIFY_SSL 環境変数

VERIFY_SSL=FALSE は互換性のために残されているレガシー設定です。この変数を参照するコンポーネント (PAMトンネルのWebSocket接続を含む) では、SSL検証が無効になります。

HTTP通信では、検証を無効にするのではなく、適切なCAバンドルを指定した KEEPER_SSL_CERT_FILE を使用してください。


これらの設定が対象とするトラフィック

HTTP/HTTPSトラフィック

以下のコマンダー操作には、KEEPER_SSL_CERT_FILEcertificate_check、および上記の解決優先順位が適用されます。

  • ログインおよび認証

  • ボルト同期およびREST API呼び出し

  • レコードの添付ファイル

  • エンタープライズおよびコンプライアンスレポート

  • KeeperPAMクラウドAPI操作 (検出、GraphSync、ローテーション、PAM SaaSプラグインのダウンロード、ルーターHTTP呼び出し)

  • コマンダーのHTTPを使うサードパーティインポート (例: LastPassインポート)

  • KeeperクラウドAPIへのサービスモードREST APIの外向き呼び出し

PAMトンネルのWebSocket接続

PAMトンネルのWebSocket接続 (SSH/RDPトンネルのシグナリング) には VERIFY_SSL 環境変数を使います。KEEPER_SSL_CERT_FILE は使いません。

症状
想定される原因

ログインとボルト同期は成功するが、pam tunnel がSSLエラーで失敗する

WebSocket通信向けに VERIFY_SSL を構成する。またはトンネルエンドポイントへのアクセスについてITチームに相談する

証明書エラーでログインに失敗する

HTTP通信向けに KEEPER_SSL_CERT_FILE を構成する

トンネルセットアップ時のHTTP手順 (例: バインドURLのリクエスト) にはHTTP SSL設定が適用され、KEEPER_SSL_CERT_FILE も対象になります。


HTTPプロキシとTLS検査

HTTPプロキシ構成とTLS検査は別々の設定です。

対象
構成

HTTPプロキシのルーティング

proxy コマンド、config.json"proxy"、または --proxy フラグ

TLS検査の信頼

KEEPER_SSL_CERT_FILE

制限されたネットワークでは、両方の設定が必要になる場合があります。プロキシでのログインをご参照ください。


プラットフォーム固有の注意

Windows

  • 永続的な環境変数には setx を使用してください。スケジュールされたタスクおよびWindowsサービスは、対話型シェルで設定した変数を継承しません。

  • Windowsタスクスケジューラでは、タスクの環境またはシステム環境変数として KEEPER_SSL_CERT_FILE を設定してください。

  • PEMファイルは、コマンダーを実行するアカウントが読み取れる場所に保存してください。

macOS

  • KEEPER_SSL_CERT_FILE=system を使う場合、一般的なHomebrewおよびシステムのCAパスが確認されます。

  • シェルプロファイルを更新したら、新しいターミナルを開いてください。

Linux

  • KEEPER_SSL_CERT_FILE=system を使う場合は、ca-certificates パッケージをインストールしてください。

  • 一般的なシステムバンドルのパスには、/etc/ssl/certs/ca-certificates.crt および /etc/pki/tls/certs/ca-bundle.crt などがあります。


バッチ実行とスケジュール実行

バッチモードまたはスケジュールされたタスクからコマンダーを実行する場合は、起動前に環境で KEEPER_SSL_CERT_FILE を設定してください。スケジュールされたタスクおよびWindowsサービスは、対話型シェルセッションの変数を継承しません。

例:

このコマンドを実行するのと同じ環境で、KEEPER_SSL_CERT_FILE が設定されていることを確認してください。タスクスケジューラのセットアップについて詳しくは、Windowsタスクによる自動化をご参照ください。


サービスモード

コマンダーサービスモードは、コマンダーREST APIをサービスとして実行します。KeeperクラウドAPIへの外向き呼び出しには、KEEPER_SSL_CERT_FILE を含むCLIと同じHTTP SSL設定が使われます。

ホストまたはVPCからの外向き通信がTLS検査を経由する場合は、コンテナまたはインスタンスの起動前に、サービスモードの実行環境でCAバンドルを構成してください。

Docker

CAバンドルをコンテナにマウントし、docker-compose.ymlenvironment セクションで KEEPER_SSL_CERT_FILE を設定します。

/host/path/keeper-cacert.pem を、Dockerホスト上のCAバンドルのパスに置き換えてください。

service-docker-setupdocker-compose.yml を生成する場合は、docker compose up を実行する前に、生成されたファイルへ KEEPER_SSL_CERT_FILE エントリとボリュームマウントを追加してください。

サービスモードのセットアップについて詳しくは、Dockerによるデプロイをご参照ください。

AWS Marketplace

AWS Marketplace AMI からコマンダーサービスモードをデプロイする場合は、インスタンス上でコマンダーを実行するアカウントまたはサービスの環境に KEEPER_SSL_CERT_FILE を設定してください。CAバンドルのPEMファイルをインスタンスにコピーし (例: /etc/ssl/certs/ 配下)、そのパスを変数に指定します。

インスタンスからの外向き通信がTLS検査を経由する場合、変数は実行中のコマンダーサービスと同じ環境に設定する必要があります。対話型SSHセッションだけへの設定では不十分です。

KEEPER_SSL_CERT_FILE を変更したら、コマンダーサービスを再起動してください。


以下の設定はそれぞれ目的が異なり、KEEPER_SSL_CERT_FILE と置き換えて使うことはできません。

トピック
ドキュメント

コマンダーのHTTPプロキシ

RDPターゲットの証明書検証

PAMトンネルレコード設定 (ignore server certificate)

Keeperゲートウェイの外向きプロキシ

プロキシ構成

Keeperコネクションマネージャーのサーバー証明書

Keeperコネクションマネージャーのドキュメント


トラブルシューティング

問題
対処

環境変数設定後も CERTIFICATE_VERIFY_FAILED が発生する

新しいターミナルを開く。変数が設定されていることを確認する。PEMファイルに公開ルートと企業ルートCAの両方が含まれていることを確認する

PEMパスが存在しないという警告

絶対パスを使用し、ファイル権限を確認する

ログインは成功するが、PAM検出がSSLエラーで失敗する

PAMトンネルのWebSocket接続を確認する

スケジュールされたタスクは失敗するが、対話型シェルでは動作する

タスクまたはシステム環境に KEEPER_SSL_CERT_FILE を設定する

サービスモードのヘルスチェックは成功するが、Keeper API呼び出しが失敗する

SSHセッションだけでなく、コンテナまたはインスタンスの環境に KEEPER_SSL_CERT_FILE を設定する

詳しくは、トラブルシューティングをご参照ください。またはcommander@keepersecurity.comまでご連絡ください。


最終更新