Linuxユーザー

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

概要

本ページでは、Keeperローテーションを使用してローカルネットワーク内のLinuxユーザーアカウントをローテーションする方法を取り扱います。パスワード認証とSSHキー認証の両方に対応しており、さまざまな環境に柔軟に対応できます。ローカルネットワークにおけるローテーションの概要については、こちらのページをご参照ください。

要件

以下がすでに実行されていることを前提としています。

  • ロールに対してKeeperシークレットマネージャーが有効になっていること。

  • Keeperローテーションがご利用のロールに対して有効になっていること。

  • Keeperシークレットマネージャーアプリケーションが作成済みであること。

  • Keeperローテーションゲートウェイがすでにインストールされており、SSHを使用してLinuxマシンと通信できること。

1. PAMマシンレコードを設定

Keeperローテーションでは、管理者認証情報を使用して、ローカル環境内の他のアカウントの認証情報がローテーションされます。これらの管理者認証情報には、他のアカウントの認証情報を正常に変更するための十分な権限が求められます。

本ページでは、管理者認証情報をPAMマシンレコードに格納します。

以下は、PAMマシンレコードの必須フィールドとなります。

フィールド
説明

タイトル

レコードの名前 (例: Local Linux Admin)

ホスト名またはIPアドレス

ゲートウェイ (内部) または「localhost」がアクセスするマシンのホスト名またはIP

ポート

22 (SSHの場合)

管理者認証情報

ローテーションを実行する管理者アカウントのユーザー名とパスワード (またはSSHキー) を含む、リンク済みのPAMユーザーレコード。

管理者の認証情報を含むリンクされたPAMユーザーレコードは、Keeperゲートウェイからアクセス可能な共有フォルダ内に配置する必要があります。

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コマンドを実行できるように設定してください。

最終更新