SSHプラグイン

コマンダーを使用したSSH鍵のローテーション

Keeperシークレットマネージャーの新しいパスワードローテーション機能がリリースされました。パスワードローテーションのどのような事例でもこの新機能の使用を推奨します。詳細については以下をご参照ください。

Keeperコマンダー用のSSHプラグインを使用すると、1つまたは複数のターゲットシステムに対して、SSH鍵の生成およびローテーションが可能になり、ローカルユーザーやリモートユーザーのUnix/Linuxパスワードのローテーションもできます。

前提条件

SSH鍵のローテーション

OpenSSLとOpenSSHのインストール

このプラグインを使用するには、OpenSSLOpenSSHのパッケージが、Keeperコマンダーを実行するコンピュータにインストールされている必要があります。

インストールを確認するには、ターミナルアプリケーションを開き、「openssl」コマンドと「ssh」コマンドがインストールされ、システムのPATH環境変数でアクセスできることを確認します。

SSHパスワードのローテーション

プラグイン名: ssh

ローテーション用のレコードを準備

ローテーションは、従来のレコードにもタイプ指定されたレコードにも対応しています。 タイプ指定されたレコードを使用する場合は、「ログイン」タイプのフィールドが必要です。 ローテーションの種類に応じて、その他のフィールドを追加することもできます。 以下の手順をご参照ください。

標準の「SSH鍵」レコードタイプがSSHローテーションに適しています。

従来のレコードとタイプ指定のあるレコードの詳細については、トラブルシューティングをご参照ください。

ログイン名を設定

Keeperのレコードの「ログイン」フィールドにターゲットシステムのログイン名を入力します。

ホスト名とポートを設定

タイプ指定されていないレコードを使用する場合は、ホストとポートをカスタムフィールドに設定できます。以下をご参照ください。

ヒント:ローテーションのプラグインが指定されていない場合、コマンダーはポート番号で使用するローテーションを推測します。 ポート22はSSHローテーションを使用します

その他のローテーション設定

ローテーションパラメータをカスタマイズできる値は以下のとおりです。 これらのオプションをテキストフィールドとしてレコードに追加し、表に示すように、パラメータに相当するラベルを設定します。

ラベル
コメント

cmdr:plugin

sshkey

ssh

cmdr:host

(任意) ターゲットサーバーのホスト名またはIPアドレス。レコードフィールドとして入力しない場合は、カスタムフィールドとして追加できます

cmdr:rules

「大文字の数, 小文字の数, 数字の数, 記号の数」

(たとえば、4,6,3,8)

(任意) パスワード生成ルール

SSH鍵をローテーションする場合、ターゲットサーバーの公開鍵のローテーションを自動化するには、ターゲットホストの.ssh/authorized_keysの公開鍵を手動で1回更新する必要があります。

これを初回に設定すると、それ以降のローテーションはコマンダーによって自動的に更新されます。

ローテーション

SSH鍵のローテーション

初期設定と実行

このプラグインを初めて設定する場合は、以下の手順に従ってください。

1. Keeperのレコードを入力

Keeperのレコードのタイトル、ログイン、ホスト名またはIP、ポートの各フィールドに入力します。

2. rotateコマンドを実行して公開鍵を格納

このレコードに対して、Keeperシェルでrotateコマンドを実行します。コマンダーは公開鍵と秘密鍵を生成し、それらをレコードに格納します。公開鍵をコピーまたは保存し、ターゲットホストの.ssh/authorized_keysファイルに保存します。この手順は、最初に手動で行うか、またはssh-copy-idコマンドを使用してください。

ターゲットシステムのauthorized_keysファイルのパーミッションを設定してください。chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys

3. 鍵のローテーションを実行

Keeperシェルでrotateコマンドを実行して、完全なローテーションを実行します。ローテーションに成功すると、ターゲットホストは新たに生成された公開鍵で更新され、Keeperのレコードは秘密鍵と公開鍵のペアで更新されます。

rotate "SSH Credentials" --plugin sshkey

このプラグインは、ターゲットシステムがSSHサービスのデフォルト設定 (ユーザーのホームディレクトリの.sshディレクトリにあるauthorized_keysファイル) を使用することを前提としています。

rotateコマンドの詳細については、こちらをご参照ください

SSHパスワードのローテーション

SSHのパスワードをローテーションするには、コマンダーでrotateコマンドを使用します。 コマンドにレコードタイトルもしくはUIDを渡します (複数のレコードを1度にローテーションさせるには、正規表現で--matchを使用します)。

rotate "SSH Credentials" --plugin ssh

プラグインは、こちらに示すようにコマンドに指定することも、レコードのフィールドに追加することもできます (上記のオプションを参照)。 指定しない場合、コマンダーはポートフィールドを使用して、使用するプラグインを識別します。 この場合、ポート22はsshプラグインが使用されることを意味します。 レコードにプラグインタイプを追加すると、プラグインの異なる複数のレコードを1度にローテーションできます。

最終更新