AWS CloudHSMとの統合

Keeper SSO Connectは、オプションでクラウドベースのAmazon HSM(CloudHsmV2)デバイスと統合して、鍵の保護と保管を実現します。

AWS Cavium CloudHsmV2との統合

Keeper SSO Connect HSMの概要

SSO Connectのdataフォルダ内には、ファイルがいくつかあります。このうちの2つのファイルには、サーバーで生成された、保護する必要のある秘密鍵が含まれ、エンドユーザーの自動生成されたマスターパスワードの暗号化と復号化に利用されます。また、暗号化されたデータのローカルキャッシュを含む.sqlファイルもあります。重要なのは、このデータフォルダへのアクセスを制限することです。

Windows以外のマシンの場合、dataフォルダはSSO Connectのインストールフォルダ(通常は、$HOME/sso_connect/data)の下にあります。

Windowsマシンの場合、バージョン14.1以降、dataフォルダは、C:\ProgramData\Keeper SSO Connect\data\にあります。バージョン14.1より前は、C:\Program Files\Keeper Security\SSO Connect\data\にありました。

以下に説明するように、HSM(ハードウェアセキュリティモジュール)を利用することで、セキュリティをもう1層追加できます。HSMが使用可能な場合、SSO Connectのインスタンスごとに暗号鍵が生成され、HSMに安全に保存されます。暗号鍵は、data/フォルダ内の重要なプロパティファイルの暗号化に使用されます。

AWS Cavium CloudHsmV2の手順

HSMの要件

  1. Amazonは現在、HSMの新規導入には、CloudHsmV2のみを許可しており、Keeperはこのバージョンをサポートしています。従来のCloud HSM v1ハードウェアには対応していません。

  2. Amazon HSMソフトウェアは現在、LinuxまたはWindowsでのインストールをサポートしています。

ネットワーク要件

  • TCP/443ポートの開放、Keeper SSO Connect からwww.keepersecurity.comへのステートフルな発信

  • TCP/2223ポートの開放、SSO ConnectマシンからHSMハードウェアへの双方向通信

  • TCP/2225ポートの開放、SSO ConnectマシンからHSMハードウェアへの双方向通信

  • TCP/8080ポートの開放、管理者GUIにアクセスするためのKeeper管理者ワークステーションからKeeper SSO Connectへの着信(オプション)

ネットワークアクセスをテスト

$ telnet www.keepersecurity.com 443
Trying 52.204.60.27
Connected to www.keepersecurity.com.
Escape character is '^]'.

CloudHsmV2ソフトウェアのインストール

以下で説明されているように、Amazon HSMクラスターをプロビジョニングして、SSO ConnectマシンにHSMソフトウェアをインストールします。

https://docs.aws.amazon.com/cloudhsm/latest/userguide/install-and-configure-client-linux.html

または

https://docs.aws.amazon.com/cloudhsm/latest/userguide/install-and-configure-client-win.html

Javaライブラリが必要になります。Linuxの場合は、/opt/cloudhsmにインストールします。

cloudhsm_clientサービスがバックグラウンドで動作していることを確認します。

$ ps aux | grep cloud
   If cloudhsm_client is not running:
       $ sudo service cloudhsm-client start
       $ ps aux | grep cloud
         ... /opt/cloudhsm/bin/cloudhsm_client ...

ソフトウェアのインストールをテスト

$ sudo /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
aws-cloudhsm>listUsers
aws-cloudhsm>loginHSM CU <hsmユーザー名(hsm_user)> <hsmパスワード(hsm_password)>
aws-cloudhsm>listUsers
aws-cloudhsm>getHSMInfo
aws-cloudhsm>quit

通常どおりSSO Connectをインストールします。

_注意:_Amazon HSM Javaソフトウェアは、JavaクラスパスでHsmCredentials.propertiesという名前のファイルを認識するはずです。 ただし、これは何らかの理由でうまくいかない場合があります。代わりに、HSM_USERHSM_PASSWORDHSM_PARTITION環境変数の設定が必要になる場合があります。テストのために、シェル変数の設定も必要になるでしょう。

HSM接続をテストします。

$  java -Djava.library.path=/opt/cloudhsm/lib/ -classpath ~/sso_connect/SSOConnect.jar com.keepersecurity.util.AmazonKeyStoreExampleRunner

HSMの鍵が出力されるはずです。

SSO Connectの設定は、通常通り、コマンドラインまたはhttp://localhost:8080/configの管理者インターフェースを使用して行います。

a.「アドバタイズされたホスト名」を設定します、a.SSL証明書を追加します、a.SAML XMLメタデータファイルを追加します。

管理者インターフェースでは、HSM設定セクションは、設定(Configuration)ページの下部にあります。

a.タイプとして「Amazon CloudHsmV2」を選択します、a.下のボックスにプロパティがいくつか表示されます。変更の必要は無いでしょう。i.ただし、HSMとの通信に使用する証明書が、SSO ConnectのSSLに使用する証明書と同じでない場合は除きます。i.証明書ファイルのパスワード(通常、SSL証明書ファイルに使用されるものと同じパスワード)の入力が必要になる場合があります。a.有効/無効のボックスをクリックします、a._保存(Save)_をクリックします。

これでSSO Connectが再起動し、HSMに接続するはずです。ステータスページにHSMが有効であると表示されれば成功です。めったにありませんが、起動が非常に遅い場合は、ステータスコマンドを再度クリックして、ステータスの更新が必要になる場合があります。

うまくいかなかった場合は、SSO Connectのエラーログをご確認ください。最も一般的なエラーは、HSMのクレデンシャルが見つからないことです。クレデンシャルを環境変数として設定し、アクセスできるようにしてください。

うまくいかなかった場合は、エラーログをご確認ください。最も一般的なエラーは、HSMのクレデンシャルが見つからないことです。クレデンシャルを環境変数として設定し、アクセスできるようにしてください。

トラブルシューティング

設定のトラブルシューティング

  1. SSOconnectがマシンにインストールされていることを確認します。

    • 通常、sso_connectKeeperSSO、またはそれに類似した名前のフォルダがあります。フォルダには多数のjarファイルが含まれます。

  2. HSMデバイスがアクセス可能であることを確認します。

    • SSOconnectには、Amazonのテストライブラリからコピーされたテストプログラムが組み込まれています。

      $  java -Djava.library.path=/opt/cloudhsm/lib/ -classpath ~/sso_connect/SSOConnect.jar com.keepersecurity.util.AmazonKeyStoreExampleRunner

      HSMに保存されている鍵が出力されるはずです。

動作のトラブルシューティング

  1. ログファイルにエラーがないか確認します。SSOconnectのセキュアキーストレージサブシステムは、問題が発生すると、ログにERROR行を出力します。

    $ more logs/ssoconnect.log
  2. エラーは、「セキュアキーストレージが使用できません(Unable to use Secure Key Storage)」といったパターンになります。これは、以下のいずれかの問題を示しています。

      a.Network problem accessing the HSM
         -ポート2223と2225が解放されていることを確認します。
    
      b.data/sks.properties is missing
         -data/sks.propertiesがない場合は、SSOConnectを再設定する必要があります。
    
      c.The encrypted property files are missing
         -data/instance.encpとdata/shared.encpの有無を確認します。
    
      d.The encryption key is missing from the HSM
         -HSMパーティションが消去された可能性があります。 SSOConnectを再設定する必要があります。
    
      e.The server may be out of disk space
         -ディスク領域を一部消去します。
    
      f.The encryption algorithm used is not supported on the HSM
         -アルゴリズムは、AES/GCM/NoPaddingです。 デバイスの販売業者にお問い合わせください。
    
      g.The file data/sso-keystore.jks is missing
         -このプログラムは、sso_keystore.jksファイルからの証明書チェーンがないと、HSMに鍵を保管できません。
           ファイルを検索し、データフォルダにあることをご確認ください。

バックアップ

dataフォルダにはSSO Connect設定ファイルが含まれています。少なくとも、最初の設定の後、および設定を変更するたびにバックアップする必要があります。設定ファイル以外にも、dataにはデータファイルがありますが、こちらは、Keeperサーバーとの同期が外れると自動的に更新されます。そのため、通常の定期バックアップを利用してもよいですが、必須ではありません。すべてのコンフィグレーション設定がインスタンス間で共有されているわけではないため、各SSO Connectインスタンスのdataフォルダを個別にバックアップする必要があります。

Windows以外のマシンの場合、dataフォルダはSSO Connectのインストールフォルダ(通常は、$HOME/sso_connect/data)の下にあります。

Windowsマシンの場合、バージョン14.1以降、dataフォルダは、C:\ProgramData\Keeper SSO Connect\data\にあります。バージョン14.1より前は、C:\Program Files\Keeper Security\SSO Connect\data\にありました。

回復

サーバーの障害

SSO Connectサーバーが停止した場合は、上記の標準的なインストール手順に従って、代替マシンにAmazon HSMとSSO Connectを再インストールする必要があります。

上記のとおり、dataフォルダをバックアップした場合は、データフォルダを復元してから、SSO Connectを起動してください。(SSO Connectを起動したため)dataフォルダがすでに存在する場合は、SSO Connectを停止し、データフォルダ内のファイルをすべて削除し、バックアップしたデータフォルダからファイルをコピーして、SSO Connectを再起動します。SSO Connectが正常に起動するはずです。

dataフォルダをバックアップしていなかった場合、またはバックアップが古い場合は、代替インスタンスを新規でインストールするように設定する必要があります。SSO Connectのインストールガイドに従ってください。

HSMの障害

HSMを使用する場合、HSMは設定ファイルの復号化に使用した暗号鍵をdataフォルダに保存します。HSMへのアクセスは、SSO Connectの起動時に1度、設定が変更されるときにも随時行われます。設定ファイルが暗号化されており、HSMに保存した暗号鍵が失われたか、またはアクセスできない場合は、暗号化されていない設定ファイルを新規作成するために、SSO Connectインスタンスを再度設定する必要があります。dataフォルダの内容を削除し、SSO Connectをもう一度最初から設定します。

HSM/SKSの使用を無効にするには、「SKSを有効にしますか? (Enable SKS?)」という設定の質問に「いいえ(no)」を入力するか、または-disableSKSコマンドラインオプションを使用します。

Last updated