Linuxユーザー
ローカルネットワークでのLinuxユーザーアカウントのローテーション

概要
本ページでは、Keeperローテーションを使用してローカルネットワーク内のLinuxユーザーアカウントをローテーションする方法を取り扱います。パスワード認証とSSHキー認証の両方に対応しており、さまざまな環境に柔軟に対応できます。ローカルネットワークにおけるローテーションの概要については、こちらのページをご参照ください。
要件
以下がすでに実行されていることを前提としています。
ロールに対してKeeperシークレットマネージャーが有効になっていること。
Keeperローテーションがご利用のロールに対して有効になっていること。
Keeperシークレットマネージャーアプリケーションが作成済みであること。
1. PAMマシンレコードを設定
Keeperローテーションでは、管理者認証情報を使用して、ローカル環境内の他のアカウントの認証情報がローテーションされます。これらの管理者認証情報には、他のアカウントの認証情報を正常に変更するための十分な権限が求められます。
本ページでは、管理者認証情報をPAMマシンレコードに格納します。
以下は、PAMマシンレコードの必須フィールドとなります。
タイトル
レコードの名前 (例: Local Linux Admin)
ホスト名またはIPアドレス
ゲートウェイ (内部) または「localhost」がアクセスするマシンのホスト名またはIP
ポート
22 (SSHの場合)
管理者認証情報
ローテーションを実行する管理者アカウントのユーザー名とパスワード (またはSSHキー) を含む、リンク済みのPAMユーザーレコード。
2. PAM構成をセットアップ
注: 環境に対して既にPAM構成を設定済みの場合は、この手順を省略できます。
新しいPAM構成を作成する場合は、Keeperボルトにログインし、左側のメニューから [シークレットマネージャー]、[PAM構成] タブの順に選択して、[新規構成] をクリックします。 以下は、PAM構成レコードの必須フィールドとなります。
タイトル
構成名 (例: Linux LAN Configuration
)
環境
Local Network
を選択
ゲートウェイ
Keeperシークレットマネージャーのアプリケーションで設定されており、WindowsデバイスへのSSHアクセス権を持つゲートウェイを選択します。
アプリケーションフォルダ
PAM構成を保存する共有フォルダを選択してください。マシンのリソースではなく、PAMユーザーのレコードが保存されている共有フォルダに配置することを推奨します。
3. 1つまたは複数のPAMユーザーレコードを設定
Keeperローテーションにより、PAMマシンレコードの認証情報を使用して、ローカル環境のPAMユーザーレコードをローテーションします。PAMユーザーの認証情報は、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。
以下は、PAMユーザーレコードの必須フィールドとなります。
レコードタイプ
PAMユーザー
タイトル
Keeperのレコードタイトル
ログイン
ローテーションするアカウントのユーザー名 (大文字と小文字の区別あり)。例: msmith
パスワード
アカウントパスワードはオプションです。空白の場合はローテーションで設定されます。
プライベートPEM鍵
SSH秘密鍵 ※パスワードではなくPEM鍵をローテーションする場合にのみ必要です。
4. レコードのローテーションを設定 - Linuxユーザー
手順3のPAMユーザーレコードを選択し、編集して [パスワードローテーション設定] を開きます。
適切なスケジュールとパスワードの複雑さを選択します。
[ローテーション設定] では、以前に設定したPAM構成を使用する必要があります。
[リソースクレデンシャル] フィールドで、手順1で設定されたPAMデータベース認証情報を選択する必要があります。
保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールに基づいてローテーションできるようになります。
PAMユーザーのレコードに対するedit
権限を持つユーザーならだれでも、そのレコードのローテーションを設定できます。
SSHキーのローテーションに関する注意事項
対象のマシンまたはユーザーでPEM秘密鍵認証情報をローテーションする際、マシンのauthorized_keysファイルを新しい公開鍵に変更します。ローテーションの初回には、システムにアクセスできなくなることのないように、古い公開鍵がそのまま残されます。ファイルに追加された2番目の公開鍵には、以下のように以後のローテーションの識別子として機能する旨コメントが付加されます。
[ec2-user@host .ssh]$ cat authorized_keys
ssh-rsa AAAAB3NzaC1...11xZrfOxYXG6RV84mCZ3uldesEyV/ghLxAb7Fcz awsdemo
ssh-rsa AAAAB3NzaC...un+frl9Q== keeper-security-ec2user
デフォルトでは、.ssh/authorized_keys
ファイルから他のキーは削除されません。これは、一部プロバイダが仮想マシンを制御するために自分のキーを配置するためです (Google Cloud Providerなど)。
最初のローテーションが成功すると、オプションでauthorized_keys
ファイル内の古い公開鍵エントリを削除できます。それ以降のローテーションでは、「keeper-security-xxx」というコメントが含まれている行が更新されます。
ローテーションは、以前の.ssh/authorized_keys
のバックアップも.ssh
ディレクトリ内に作成します。
プライベートキーのローテーションでは、新しいプライベートキーは現在のプライベートキーと同じアルゴリズムおよびキーサイズ (ビット) になります。たとえば、現在のプライベートキーがecdsa-sha2-nistp256
の場合、新しいプライベートキーもecdsa-sha2-nistp256
になります。これを上書きするには、カスタムテキストフィールド (ラベル: Private Key Type) を追加し、以下の対応しているアルゴリズムのいずれかに値を設定します。
ssh-rsa
- 4096ビットecdsa-sha2-nistp256
- ECDSA、256ビットecdsa-sha2-nistp384
- ECDSA、384ビットecdsa-sha2-nistp521
- ECDSA、521ビットssh-ed25519
このカスタムフィールドは、現在のプライベートキーのアルゴリズムが検出できない場合にも使用できます。
プライベートキーのローテーションを防ぐには、PAMユーザーのレコードにPrivate Key Rotate
というラベルのカスタムテキストフィールドを追加します。フィールドの値がTRUEの場合、またはフィールドが存在しない場合は、プライベートキーが存在すればローテーションされます。値がFALSEの場合、プライベートキーはローテーションされません。
Linuxユーザーのローテーションでは、パスワードで暗号化されたPEMファイルは現在サポートされていません。
管理者認証情報 – SSHキーのみのアカウントについて
マシンリソースの管理者認証情報として、パスワードを持たず秘密鍵 (PEM形式) のみを使用するPAMユーザーを構成する場合、このアカウントがパスワードローテーションなど、すべての管理操作を実行します。
この構成では、該当の管理者アカウントがパスワードの入力なしにsudo操作を実行できる必要があります。
もしsudoコマンドの実行時にパスワードの入力が求められる設定になっていると、そのリソース上の非管理者アカウントに対するローテーションは失敗します (管理者アカウントがパスワードを持たないためです)。
ローテーションを正常に行うには、PEMキーのみを使用する管理者アカウントが、パスワードなしでsudoコマンドを実行できるように設定してください。
最終更新