16 SSHキーの管理 - 設定と構成
Oracle Key Vaultを使用すると、セキュア・シェル(SSH)の秘密キーと公開キーを一元的に管理して、SSHサーバーへのアクセスを制御できます。
- SSH管理者の設定
セキュア・シェル(SSH)管理者はOracle Key Vaultユーザーであり、Oracle Key VaultでSSHユーザーのSSHサーバーへのアクセスを一元的に管理できます。 - Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御
SSHユーザーがアクセスできるSSHサーバーを一元管理できます。 - Oracle Key VaultによるSSHユーザー・キーの管理
Oracle Key Vaultでセキュア・シェル(SSH)ユーザーのSSHキーを一元的に管理すると、キーの管理とガバナンスを実施できます。 - Oracle Key VaultとSSHの統合
ユーザーは、SSHユーザーのキーとSSHサーバーへのアクセスの両方をOracle Key Vaultで管理できます。この設定は、SSHユーザーのキーとそれらのキーを使用したSSHサーバー・アクセスを列挙する機能を提供するだけでなく、SSHユーザーのキーを透過的にローテーションできることから理想的なものになります。SSHユーザーの秘密キーには、抽出不可のマークを付けることもできます。これは、秘密キーがOracle Key Vaultデプロイメントの境界を超えることがないことを意味します。 - 既存のSSHデプロイメントのOracle Key Vaultへの移行
管理者は、SSHユーザー・キー管理用とSSHサーバーのアクセス制御を管理するための両方(または、どちらか)のSSHデプロイメントを移行できます。 - OpenSSH SSHD構成のガイドライン
Oracle Key Vaultを使用してSSHユーザー・キーを安全に管理、またはSSHサーバーへのアクセスを制御する場合、SSH接続を確立する時間は複数の要因によって異なります。 - レポート
Oracle Key Vaultには、セキュア・シェル(SSH)ユーザー・キーとSSHサーバー・アクセス制御構成の確認に加えて、SSHユーザー・アクティビティの追跡にも使用できる複数のレポートが用意されています。
16.1 SSH管理者の設定
セキュア・シェル(SSH)管理者はOracle Key Vaultユーザーであり、Oracle Key VaultでSSHユーザーのSSHサーバーへのアクセスを一元的に管理できます。
SSH管理者は、Oracle Key VaultからSSHサーバーへのアクセスを制御するために必要な、SSHサーバー・ウォレットとSSHサーバー・エンドポイントを管理します。SSH管理者はSSHユーザー・キーを管理する場合としない場合があります。
- Oracle Key Vaultユーザーを作成します。
- そのユーザーにエンドポイントの作成権限を付与します。このユーザーは、自分が作成したエンドポイントを管理できます。
- そのユーザーにエンドポイントの管理権限を付与します。これは、別のユーザーが作成したエンドポイントに対して必要になる場合があります。
この項では、SSH管理者を設定するために必要なステップについて詳しく説明します。
通常のOracle Key Vaultユーザーの作成
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
- 「Users」タブを選択して、左側のナビゲーション・バーの「Manage Users」を選択します。
既存のユーザーのリストが表示された「Manage Users」ページが表示されます。
- 「Manage Users」ページで、「Create」をクリックします。
「Create User」ページが表示されます。
- 「Create User」ページで、必須フィールドに詳細を指定します。詳細は、「Oracle Key Vaultユーザー・アカウントの作成」を参照してください。
- 「Save」をクリックします。
- マルチマスター・クラスタでは、ユーザーは最初にPENDING状態で作成されます。新しいユーザーのクラスタ・ネーミング競合の解決が完了すると、そのユーザーはACTIVE状態に遷移します。
エンドポイント作成権限の付与
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
エンドポイント作成権限を持つユーザーが、その権限を別のユーザーに付与することはできません。
- 「Users」タブを選択して、左側のナビゲーション・バーの「Manage Users」を選択します。
ユーザーのリストが表示された「Manage Users」ページが表示されます。
- 「Create Endpoint」権限を付与するユーザーを選択します。
- 「User Details」の下で、「Create Endpoint」チェック・ボックスを選択します。
- 「Save」をクリックします。
ノート:
エンドポイント作成権限があるローカルOracle Key Vaultユーザーがエンドポイントを作成すると、Oracle Key Vaultによって、そのエンドポイントに対するエンドポイント管理権限がそのローカル・ユーザーに付与されます。
エンドポイント管理権限の付与
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
エンドポイント管理権限を持つユーザーが、その権限を別のユーザーに付与することはできません。
- 「Users」タブを選択して、左側のナビゲーション・バーの「Manage Users」を選択します。
ユーザーのリストが表示された「Manage Users」ページが表示されます。
- エンドポイント管理権限を付与するユーザーを選択します。
- 「Access on Endpoints」領域で、「Add」をクリックします。
- 「Add Endpoint Access to User」ページの「Select Endpoint」で、ユーザーにエンドポイント管理権限を付与するエンドポイントを選択します。
- 「Save」をクリックします。
前述のステップを繰り返し、SSH管理者が管理する必要があるその他のすべてのエンドポイントに対してエンドポイントの管理権限を付与します。
親トピック: SSHキーの管理 - 設定と構成
16.2 Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御
SSHユーザーがアクセスできるSSHサーバーを一元管理できます。
- Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御について
セキュア・シェル(SSH)管理者は、組織内の1つ以上のSSHサーバーを管理します。Oracle Key Vaultでは、SSHサーバーのSSHユーザー・アクセスを一元的に管理できます。 - Oracle Key Vaultサーバーでの設定
SSH管理ユーザーは、Oracle Key VaultでSSHサーバー・エンドポイントとSSHサーバー・ウォレットを構成するために、次に示すステップを実行します。 - SSHサーバーでの設定
次のステップを実行して、SSHサーバー・エンドポイントをデプロイして構成し、SSHサーバーのOpenSSH構成を変更します。 - Oracle Key VaultからのSSHサーバー・アクセスの管理
Oracle Key VaultとSSHサーバーの構成ステップが完了した時点で、SSH公開キー認証を使用してSSHサーバーに接続できるユーザーを制御できるようになっています。
親トピック: SSHキーの管理 - 設定と構成
16.2.1 Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御について
セキュア・シェル(SSH)管理者は、組織内の1つ以上のSSHサーバーを管理します。Oracle Key Vaultでは、SSHサーバーのSSHユーザー・アクセスを一元的に管理できます。
Oracle Key Vaultで一元的にアクセスを管理するためのSSHサーバーを準備するには、SSHユーザーにログインを許可する予定のSSHサーバー・ホスト・ユーザーを特定する必要があります。authorized_keys
ファイルの使用を許可しないようにOpenSSHデーモン構成を変更して、Oracle Key Vaultの外部でアクセス権が付与されないようにすることをお薦めします。
SSHサーバーのSSHアクセスを一元的に管理するには、次のステップを実行する必要があります:
16.2.2 Oracle Key Vaultサーバーでの設定
SSH管理ユーザーは、Oracle Key VaultでSSHサーバー・エンドポイントとSSHサーバー・ウォレットを構成するために、次に示すステップを実行します。
SSHサーバー・エンドポイントは、SSHサーバー・ホストで設定する必要があります。OpenSSHデーモン構成は、SSHクライアントによって提供されたキーがホスト・ユーザーの認可キーのうちのいずれかであるかどうかを検証する、SSHサーバー・エンドポイント・スクリプトを使用するように変更されます。
- Oracle Key Vault管理コンソールに、SSH管理ユーザーとしてログインします。SSH管理ユーザーには、エンドポイントの作成権限が必要です。
- 「Endpoints」タブを選択して、左側のナビゲーション・バーで「Endpoints」を選択します。Oracle Key Vaultのすべてのエンドポイントがリストされた、「Endpoints」ページが表示されます。
- 「Endpoints」ページで、「Add」をクリックします。
- 「Register Endpoint」ページが表示されます。
- 「Type」ドロップダウン・リストから、エンドポイントのタイプとして「SSH Server」を選択します。
- エンドポイント・タイプを「SSH Server」として選択すると、別のフィールド「SSH Server Hostname」が表示されます。このエンドポイントがデプロイされるSSHサーバーのホスト名またはIPアドレスを追加します。
- 「Register Endpoint」ページで必須フィールドの詳細を指定します。「Oracle Key Vaultシステム管理者またはエンドポイント作成ユーザーとしてのエンドポイントの追加」を参照してくださいこれらは、SSHサーバー・エンドポイントをデプロイできるプラットフォームです(Windows上のSSHサーバー・エンドポイントを除く)。
- Oracle Linux 7および8
- Solaris X64 11.4
- Solaris SPARC 11.4
- HP-UX IA64 11.31
- 「Register」をクリックして、新しいエンドポイントを作成します。
エンドポイントが正常に登録されると、「Endpoints」ページが表示されます。新しいエンドポイントの「Enrollment Token」値をコピーして保存します。これは、エンドポイント・ソフトウェアをダウンロードして、SSHサーバーにエンドポイントをエンロールするために必要になります。
- Oracle Key Vault管理コンソールに、SSH管理ユーザーとしてログインします。
- 「Keys & Wallets」タブを選択して、左側のナビゲーション・バーから「Wallets」を選択します。
- 「Wallets」領域で、「Create」をクリックします。「Create Wallet」ページが表示されます。
- 「Wallet Type」で、「SSH Server」を選択します。
- 「SSH Server」として「Wallet Type」を選択すると、別のフィールド「SSH Server Host User」が表示されます。
このウォレットでSSHアクセスを制御するSSHサーバー・ホスト・ユーザーの名前を入力します。このウォレットに公開キーが追加されているSSHクライアント・ユーザーは、このホスト・ユーザーとしてSSHサーバーにアクセスできます。
- 「Create Wallet」ページで、必須フィールドの詳細を指定します。「仮想ウォレットの作成」を参照してください。
- 「Save」をクリックして、新しいウォレットを作成します。
ノート:
単一のSSHサーバー・ウォレットを使用して、複数のSSHサーバーで単一のSSHサーバー・ホスト・ユーザーの認可を管理できます(SSHクライアント・ユーザーの同じセットが、それらすべてのSSHサーバーで、そのホスト・ユーザーとしてログインする必要がある場合)。そのようなSSHサーバー・ウォレットの共有使用により、SSHアクセス管理が大幅に簡素化されることがあります。
- Oracle Key Vault管理コンソールに、SSH管理ユーザーとしてログインします。
- 「Endpoints」タブを選択し、左側のナビゲーション・バーから「Endpoints」を選択します。
- 「Endpoints」ページが表示されます。SSHサーバー・エンドポイントを見つけて、エンドポイント名をクリックします。「Endpoint Details」ページが表示されます。
- 「Access to Wallets」領域で、「Add」をクリックします。「Add Access To Endpoint」ページが表示されます。
- 「Select Wallet」領域で、アクセス権を付与するSSHサーバー・ウォレットを選択します。
- 「Select Access Level」領域で、「Read Only」を選択します。
- 「Save」をクリックします。
16.2.3 SSHサーバーでの設定
次のステップを実行して、SSHサーバー・エンドポイントをデプロイして構成し、SSHサーバーのOpenSSH構成を変更します。
SSH管理ユーザーにSSHサーバーでのrootアクセス権がない場合、SSH管理者は、SSHサーバーのrootアクセス権がある管理者と連係して次の構成手順を実行する必要があります。このドキュメントでは、SSH管理者がSSHサーバーのrootアクセス権を持っていることを前提としています。
次の手順を使用して、SSHサーバーでSSHサーバー・エンドポイントをプロビジョニングします。
エンドポイントのエンロールとソフトウェアのダウンロード
エンロール・トークンを使用してエンドポイントをエンロールしてから、エンドポイント・ソフトウェアをダウンロードします。
エンドポイント・ソフトウェアは、それをデプロイするSSHサーバーからダウンロードすることも、別のホストからソフトウェアをダウンロードして、ダウンロードしたエンドポイント・ソフトウェア(okvclient.jar
)をSSHサーバーにコピーすることもできます。より厳密なファイル権限を適用して、ダウンロードしたソフトウェアの整合性を確実に保護してください。
- SSHサーバーにrootユーザーとしてログインします。
- Oracle Key Vault管理コンソールにSSH管理者として接続します。
例: https://192.0.2.254。
Oracle Key Vault管理コンソールへのログイン・ページが表示されます。ログインしないでください。
- 「Login」ボタンのすぐ下にある、「Endpoint Enrollment and Software Download」をクリックします。「Enroll Endpoint & Download Software」ページが表示されます。
- 「Enrollment Token」フィールドに、SSHサーバー・エンドポイントのエンロール・トークンを入力して、「Submit Token」をクリックします。このエンロール・トークンは、エンドポイント登録ステップで保存したものです。
- トークンが有効な場合は、「Enrollment Token」フィールドの下に有効なトークンのメッセージが表示されます。「Endpoint Type」、「Endpoint Platform」、「Email」および「Description」の各フィールドには、エンドポイントの登録中に入力された値が自動的に移入されます。
トークンが無効である場合は、そのことを示すメッセージが表示されます。トークンを確認し、ダウンロード手順を再試行してください。
- ページの右上隅にある「Enroll」をクリックします。
- トークンが有効な場合は、「Enrollment Token」フィールドの下に有効なトークンのメッセージが表示されます。「Endpoint Type」、「Endpoint Platform」、「Email」および「Description」の各フィールドには、エンドポイントの登録中に入力された値が自動的に移入されます。
- 表示されたディレクトリ・ウィンドウで、
okvclient.jar
エンドポイント・ソフトウェア・ファイルをプロンプトに従って保存します。ファイルを保存するディレクトリに移動する必要があります。
- 他者が読み取ったりコピーできないように、適切な権限が設定されたセキュアなディレクトリにファイルを保存します。
- ファイルがダウンロードされていることを確認します。
ノート:
エンドポイント・システムにファイルをダウンロードしていない場合は、そのシステムにバンド外の方法を使用してファイルをコピーし、そこにインストールする必要があります。この段階で、SSHサーバーにOracle Key Vaultokvclient.jar
ソフトウェア・ファイルをインストールする準備が整います。
SSHサーバーへのSSHサーバー・エンドポイントのインストール
SSHサーバー・エンドポイントは、ダウンロードしたエンドポイント・ソフトウェア・ファイルokvclient.jar
を使用して、SSHサーバーにインストールします。
通常、OpenSSHデーモンはrootユーザーとして実行されるため、SSHサーバーにrootユーザーとしてエンドポイントをインストールします。
- JDK 1.5以降がインストールされており、PATH環境変数にjava実行可能ファイル(
JAVA_HOME/bin
ディレクトリ内)が含まれていること。Oracle Key Vaultは、JDKバージョン1.5、1.6、7および8をサポートしています。64ビット版のJavaが必要です。 - システムで使用されるOpenSSHのバージョンがバージョン8以降(
AuthorizedKeysCommand
キーワードをサポートしている)であること。
SSHサーバー・ホストにSSHサーバー・エンドポイントをインストールするには:
- SSHサーバー・ホストにrootユーザーとしてログインしていることを確認します。
- エンドポイント・ソフトウェアをデプロイするサーバー上の、新しいSSHサーバー・エンドポイント・ディレクトリに移動します。
- okvclient.jarファイルの保存場所から、この新しいSSHエンドポイント・ディレクトリにファイルを移動します。
- このディレクトリがokvclient.jarファイル以外は空になっていることを確認してから、rootユーザーとしてjavaコマンドを実行して、okvclient.jarファイルをインストールします。次に例を示します
java -jar okvclient.jar -d /<path_to_SSH_EP_directory>/<SSH_EP_directory> –v
このように指定した場合:
- -dでは、エンドポイント・ソフトウェアと構成ファイルのディレクトリの場所を指定します(この例では、
/<path_to_SSH_EP_directory>/<SSH_EP_directory>
)。 - -vでは、サーバー・エンドポイントにある
/<path_to_SSH_EP_directory>/<SSH_EP_directory>/log/okvutil.deploy.log
ファイルにインストール・ログが書き込まれます。
- -dでは、エンドポイント・ソフトウェアと構成ファイルのディレクトリの場所を指定します(この例では、
- パスワードの入力を求められた場合:
- 自動ログイン・エンドポイントの場合は<enter>。または
- パスワードで保護されたエンドポイントの場合は有効なパスワード。
- パスワード保護されたエンドポイントを作成する場合は、少なくとも8文字から30文字のパスワードを入力して[Enter]を押します。セキュリティを向上させるために、大文字、小文字、特殊文字および数字をパスワードに含めることをお薦めします。次の特殊文字を使用できます: ピリオド(.)、カンマ(,)、アンダースコア(_)、プラス記号(+)、コロン(:)、スペース。
Enter new Key Vault endpoint password (<enter> for auto-login): Key_Vault_endpoint_password Confirm new endpoint password: Key_Vault_endpoint_password
ノート:
パスワード保護ウォレットは、Oracle Key Vaultにアクセスするための、エンドポイントの資格証明を格納するOracle Walletファイルです。エンドポイントがOracle Key Vaultに接続するときには、このパスワードが常に必要です。パスワードで保護されたエンドポイントの追加構成
自動ログイン・エンドポイントとしてSSHサーバー・エンドポイントをインストールした場合は、次のステップをスキップしてください。
パスワードで保護されたエンドポイントについては、SSHサーバー・エンドポイントの認可キーのルックアップ・スクリプトにエンドポイント・パスワードを自動的に指定するために、さらに構成が必要になります。OpenSSHデーモンは、このスクリプトをSSHクライアント接続の認証時に実行します。このスクリプトは、エンドポイント・パスワードを要求することなくOracle Key Vaultに接続できる必要があります。
エンドポイント・パスワードの指定を自動化するには、次の構成を完了します:
- 実行時にクリアテキストで標準出力にエンド・ポン・パスワードを返すスクリプトまたは実行可能ファイルを作成します。
- ディレクトリをエンドポイントのディレクトリに変更します。
- スクリプトbin/okv_ssh_ep_lookup_authorized_keysを編集用に開きます。
-
SSH_SERVER_ENDPOINT_GET_PASSWORD_SCRIPT="<full-path-of-the-password-script>"
SSHサーバー・ホスト・ユーザーからSSHサーバー・ウォレットへのマッピングが含まれている、SSHサーバー・マッピング・ファイルを設定する必要があります。これは、okv_ssh_ep_lookup_authorized_keysスクリプト用の構成ファイルです。SSHサーバー・ホスト・ユーザーごとに、対応するSSHサーバー・ウォレットがOracle Key Vaultで設定されている必要があります。SSHクライアント接続を受信すると、最初に、okv_ssh_ep_lookup_authorized_keysスクリプトは受信SSH接続のホスト・ユーザーに対応するSSHサーバー・ウォレットを検索します。次に、okv_ssh_ep_lookup_authorized_keysは、マップされたSSHサーバー・ウォレット内にクライアントが提供した公開キーが存在するかどうかを検証します。
/<path_to_SSH_EP_directory>/<SSH_EP_directory>/conf/okvsshendpoint.conf
SSHサーバー・ホスト・ユーザーを対応するSSHサーバー・ウォレットにマップします。たとえば、次の構成ファイルで示されているマッピングでは、SSHサーバーpheonix上のホストOSユーザーoracle、opcおよびrootが、それぞれSSHサーバー・ウォレットoracle_ssh_wallet、opc_ssh_walletおよびroot_ssh_wallet_for_phoenixにマップされています。
# Configuration file for Oracle Key Vault SSH server endpoints [ oracle ] ssh_server_wallet=oracle_ssh_wallet [ opc ] ssh_server_wallet=opc_ssh_wallet [ root ] ssh_server_wallet=root_ssh_wallet_for_phoenix
Oracle Key Vaultとの統合のためのOpenSSHデーモンの構成
sshd_config
のAuthorizedKeysCommandキーワードを更新し、SSHサーバー・エンドポイント・ルックアップ・スクリプトokv_ssh_ep_lookup_authorized_keys
を呼び出すようにそれを設定します。
- SSHサーバー・ホストで、SSHデーモンを、それが実行されているプラットフォームに固有のコマンドを使用して停止します。たとえば、Oracle Linux 7では、次のようにSSHデーモンを停止します。
/usr/bin/systemctl stop sshd
- 次の行を更新することで、SSHサーバー・エンドポイント・ルックアップ・スクリプトを使用するようにSSHサーバー・ホストの
sshd_config
ファイルを編集します。#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
AuthorizedKeysCommand /<path_to_SSH_EP_directory>/<SSH_EP_directory>/bin/okv_ssh_ep_lookup_authorized_keys get_authorized_keys_for_user %u %f %k
AuthorizedKeysCommandUser root
okv_ssh_ep_lookup_authorized_keys
スクリプトの引数は、それらの相対的な順序も含め、上に示したとおりに正確に指定してください。 - SSHサーバー・ホストが稼動しているプラットフォームに固有のコマンドを使用して、SSHサーバー・ホストでSSHデーモンを再起動します。たとえば、Oracle Linux 7では、
systemctl
コマンドを使用してSSHデーモンを再起動します。/usr/bin/systemctl restart sshd
ノート:
SSHサーバーでは、SSHユーザーがSSHサーバーに接続できることを確認できるまで、rootユーザー・セッションを開いたままにしておく必要があります。
16.2.4 Oracle Key VaultからのSSHサーバー・アクセスの管理
Oracle Key VaultとSSHサーバーの構成ステップが完了した時点で、SSH公開キー認証を使用してSSHサーバーに接続できるユーザーを制御できるようになっています。
まだSSHユーザーの公開キーがOracle Key Vaultで使用できない場合は、まずOracle Key VaultのRESTfulサービス・ユーティリティを使用してSSH公開キーをアップロードします。RESTfulサービス・ユーティリティの構成と使用の詳細は、『Oracle Key Vault RESTfulサービス管理者ガイド』を参照してください。
アップロードする公開キーがSSH形式の場合は、ホスト・ユーザーのauthorized_keys
ファイル内の公開キーと同様に、まずSSH-keygen
ユーティリティを使用して公開キーをPKCS8形式に変換します。その例を次に示します:
$ ssh-keygen -e -m PKCS8 -f john-pubkey-ssh.pub > john-pubkey-pkcs8.pub
$ cat opc-pubkey-pkcs8.pub
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArbHYwXcOapqD6Xv4B8VX
8Ce8IilZBUl2iUtYcl1K/179IxD+ViD6B+yBYO+Yp0J5aXvFSwMyztEfQdSn7GmG
ASUVSXGmqqKr0skWxkVsIyxzGC7zxBXcISkmB3kkZFMCwLsj+hzpEQfKTFItMGaZ
eTfC0CxtSprP3HQopn796KMsxvsuubTGayy05pZQXCScryTIR1Mcwa/quKdFy1Vj
t3VI/nzLAdMTGYN9MAOnkt1hmD2jE+dBBQ/excoHl+WoZLjek0wNcyifFRxeOM64
d7LDv90G5pjQctQk+73gkqPhBewFlMh2Ql068i2Jg0ygbceK6qoUqxRnFsUkBDXa
/QIDAQAB
-----END PUBLIC KEY-----
okv managed-object public-key register --output_format text --object john-pubkey-pkcs8.pub --algorithm RSA --length 2048 -mask "ENCRYPT"
--ssh-user "John" --name "SSH public key of John" --activation-date now --deactivation-date "2025-10-15 00:00:00"
前述のコマンドは、新しいSSH公開キーのOracle Key Vaultでの一意識別子を返します。
- Oracle Key Vault管理コンソールに、SSH管理ユーザーとしてログインします。
- 「Keys & Wallets」タブを選択してから、左側のナビゲーション・バーで「Keys & Secrets」を選択します。「Keys & Secrets」ページが表示されます。
- 検索バーに、前のステップで作成したSSH公開キーの一意識別子を入力します。「Go」をクリックします。
- 見つかったキーに対応する、「Edit」をクリックします。「Object Details」ページが表示されます。
- 「Wallet Membership」領域で、「Add Wallet Membership」をクリックします。
- 「Add Wallet Membership」ダイアログ・ボックスで、このSSH公開キーを追加するSSHサーバー・ウォレットを選択して、「Add」をクリックします。
この時点で、SSHユーザーにはSSHサーバー・ウォレットに関連付けられたSSHサーバー・ホスト・ユーザーとしてSSHサーバーに接続する権限が付与されています。
- すでにユーザーのSSH公開キーがOracle Key Vaultに存在している場合は、そのキーを再度アップロードしないでください。SSH管理者は、同じ公開キーを異なるSSHサーバー・ウォレットに追加することで、ユーザーに異なるSSHサーバーへのアクセス権と異なるホスト・ユーザーとしてのアクセス権を付与できます。
- SSHユーザー自身がSSHキーを作成して管理する場合、そのユーザーは公開キーを別のウォレットに追加して、そのウォレットへのアクセス権をSSH管理者に付与する必要があります。これにより、SSH管理者は、そのウォレットからユーザーの公開キーにアクセスして、そのキーを必要なSSHサーバー・ウォレットに追加できます。
- SSH管理者がSSHキーを作成および管理する場合、SSH管理者は、すでにSSHユーザーの公開キーへのアクセス権を持っています。SSH管理者は、ユーザーの公開キーを保持する別の中間ウォレットを必要とすることなく、ユーザーの公開キーを必要なSSHサーバー・ウォレットに追加できます。
16.3 Oracle Key VaultによるSSHユーザー・キーの管理
Oracle Key VaultでSSHユーザーのセキュア・シェル(SSH)キーを一元的に管理すると、キーの管理とガバナンスを実施できます。
- Oracle Key VaultによるSSHユーザー・キーの管理について
Oracle Key VaultでSSHユーザーのSSHキーを一元的に管理すると、キーの管理とガバナンスを実施できます。 - Oracle Key Vaultサーバーの設定
SSHユーザーごとのエンドポイントを登録します。 - SSHクライアント・ホストの設定
SSHユーザーのエンドポイントは、SSHユーザーがSSHサーバーに接続するSSHクライアント・ホストにインストールします。 - SSHサーバーでのSSHユーザーの公開キーの認可
SSHユーザーがSSH公開キー認証を使用してSSHサーバーに接続する前に、ユーザーが接続する必要のあるSSHサーバーでユーザーの公開キーを認可する必要があります。 - Oracle Key Vault PKCS#11ライブラリを使用したSSHサーバーへの接続
Oracle Key VaultとSSHクライアント・ホストの構成ステップが完了すると、SSHユーザーはOpenSSHクライアントとOracle Key Vault PKCS#11ライブラリを使用してSSH接続を開始できるようになります。
親トピック: SSHキーの管理 - 設定と構成
16.3.1 Oracle Key VaultによるSSHユーザー・キーの管理について
Oracle Key VaultでSSHユーザーのSSHキーを一元的に管理すると、キーの管理とガバナンスを実施できます。
- SSH管理者が、SSHユーザー・キー管理を担当します。
このデプロイメント・モデルでは、中央の管理者チームが、SSHユーザー・キーのライフ・サイクル全体を管理します。SSHユーザーには、自分のSSHキーの使用に関する認可のみが与えられ、自分のキーに対する所有権はありません。このモデルでは、SSH管理者が秘密キーを抽出不可として設定してあると、SSHユーザーが自分の秘密キーを別のユーザーと共有できません。
このモデルでは、SSHユーザーがOracle Key Vaultユーザーになる必要はありません。
- SSHユーザーが、自分のキーの管理を担当します。
このデプロイメント・モデルでは、SSHユーザーが、自分のSSHキーを作成し管理します。それらのユーザーは、自分のSSHユーザー・キーの完全な所有権を保持し、ライフサイクル全体を管理する責任を負います。
このモデルでは、各SSHユーザーがOracle Key Vaultの独自のユーザー・アカウントを持っている必要があります。
SSHキーの管理に選択したモデル(SSH管理者またはSSHユーザー)に応じて、後述のステップが多少異なることがあります。このドキュメントでは、SSH管理者がSSHユーザー・キーを管理すると仮定しています。
Oracle Key VaultでSSHユーザー・キーを一元的に管理するために、SSH管理者は次のステップを実行する必要があります:
16.3.2 Oracle Key Vaultサーバーの設定
SSHユーザーごとのエンドポイントを登録します。
SSHユーザーごとのエンドポイントの登録
- Oracle Key Vault管理コンソールに、SSH管理ユーザーか、システム管理者ロールまたはエンドポイントの作成権限を持つユーザーとしてログインします。
- 「Endpoints」タブを選択して、左側のナビゲーション・バーで「Endpoints」を選択します。Oracle Key Vaultのすべてのエンドポイントがリストされた、「Endpoints」ページが表示されます。
- 「Endpoints」ページで、「Add」をクリックします。
- 「Register Endpoint」ページが表示されます。
- 「Type」ドロップダウン・リストから、エンドポイントのタイプを選択します。
任意のエンドポイント・タイプを必要に応じて選択できます。ただし、SSHサーバーにデプロイする予定の「SSH Server」を除きます。
- 「Register Endpoint」ページで必須フィールドの詳細を指定します。「Oracle Key Vaultシステム管理者またはエンドポイント作成ユーザーとしてのエンドポイントの追加」を参照してください。
- 「Register」をクリックします。
エンドポイントが正常に登録されると、「Endpoints」ページが表示されます。新しいエンドポイントの「Enrollment Token」値をコピーして保存します。これは、エンドポイント・ソフトウェアをダウンロードして、SSHクライアント・ホストにエンドポイントをエンロールするために必要になります。
SSHユーザー・キー用の汎用ウォレットの作成
- Oracle Key Vault管理コンソールに、SSH管理ユーザーとしてログインします。
- 「Keys & Wallets」タブを選択して、左側のナビゲーション・バーから「Wallets」を選択します。
- 「Wallets」領域で、「Create」をクリックします。「Create Wallet」ページが表示されます。
- 「Wallet Type」には、「General」を選択します。
- 「Create Wallet」ページで、必須フィールドの詳細を指定します。「仮想ウォレットの作成」を参照してください。
- 「Save」をクリックして、新しいウォレットを作成します。
SSHキー・ペアの作成または登録
SSHキー・ペアを作成または登録して、前のステップで作成した汎用ウォレットに格納します。
SSHキー・ペアは、Oracle Key Vault管理コンソールまたはRESTfulサービス・ユーティリティを使用すると作成できます。Oracle key Vault管理コンソールからキーを作成すると、キーの作成時に汎用ウォレットを指定できます。
既存のSSHキーは、RESTfulサービス・ユーティリティのみを使用してOracle Key Vaultに登録できます。登録してから、汎用ウォレットに移動します。
次のステップは、Oracle Key Vault管理コンソールを使用してSSHキー・ペアを作成する場合に使用します。
- SSH管理者としてOracle Key Vault管理コンソールにログインします。
- 「Keys & Wallets」タブを選択して、左側のナビゲーション・バーから「Keys & Secrets」を選択します。
- 「Keys & Secrets」ページで、「Create」をクリックします。
- 表示されたページの「Application Keys」セクションから、「SSH Key Pair」を選択します。「Create SSH Key Pair」ページが表示されます。
- 「SSH Key Pair」ページに情報を入力します:
- SSH User: 該当するSSHキーを使用するSSHクライアント・ユーザーの名前を入力します。このユーザーは、Oracle Key Vaultユーザーの必要はありません。
- Cryptographic Algorithm: サポートされているアルゴリズムはRSAです。
- Cryptographic Length: キーの長さ。3つの長さのキー(2048、3072、4096)がサポートされています。
- Private Key Extractable: Oracle Key VaultサーバーからSSHキー・ペアの秘密キーを抽出可能にします。デフォルトおよび推奨値は、「False」です。
- Date of Activation: SSHキー・ペアがアクティブになるまでの時間。デフォルト値は、現在のシステム時間です。
- Date of Deactivation: SSHキー・ペアが非アクティブ(期限切れ)になるまでの時間。SSHキーは、期限切れになる前にローテーションする必要があります。デフォルト値は、現在のシステム時間から2年です。
- Wallet Membership: 新しいSSHキーを格納するウォレット。そのウォレットに対する「Manage Wallet」権限が必要です。これは、前のステップで作成した汎用ウォレットに設定する必要があります。
- 「Create」をクリックして、新しいSSHキー・ペアを作成します。
SSHユーザーの汎用ウォレットに対する読取り専用アクセス権のSSHユーザーのエンドポイントへの付与
SSHユーザーのエンドポイントに、SSHユーザーの汎用ウォレットへの読取り専用アクセス権を付与します。これにより、ユーザーがSSH公開キー認証を使用してSSH接続を試行するときに、エンドポイントでは汎用ウォレットのSSHキーを使用できるようになります。
- Oracle Key Vault管理コンソールに、SSH管理ユーザーとしてログインします。
- 「Keys and Wallets」タブを選択して、左側のナビゲーション・バーから「Wallets」を選択します。
- 「Wallets」ページが表示されます。SSHユーザーの汎用ウォレットを見つけて、鉛筆アイコンをクリックします。「Wallet Overview」ページが表示されます。
- 「Wallet Access Settings」領域で、「Add」をクリックします。
「Select Endpoint/User Group」領域で、ドロップダウン・リストから「Endpoints」タイプを選択します。
- アクセス権を付与するSSHユーザーのエンドポイントに対応するチェック・ボックスを選択します。
- 「Select Access Level」領域で、「Read Only」を選択します。
- 「Save」をクリックします
ノート:
SSHユーザーが独自のSSHキーを作成して管理するデプロイメント・モデルを使用している場合、前述のステップの多くはSSHユーザー自身が実行します。SSHユーザーは、Oracle Key VaultでSSHキーを管理するために、Oracle Key Vaultユーザー・アカウントが必要です。- SSHユーザーごとのエンドポイントの登録: 変更なし。このステップは引き続きSSH管理者として実行します。
- SSHユーザー・キー用の汎用ウォレットの作成: このステップはSSHユーザーとして実行します。
- SSHキー・ペアの作成または登録: このステップはSSHユーザーとして実行します。
- SSHユーザーの汎用ウォレットに対する読取り専用アクセス権のSSHユーザーのエンドポイントへの付与: このステップはSSHユーザーとして実行します。
16.3.3 SSHクライアント・ホストの設定
SSHユーザーのエンドポイントは、SSHユーザーがSSHサーバーに接続するSSHクライアント・ホストにインストールします。
エンドポイントは、ユーザーのホーム・ディレクトリ内など、ネットワーク・フォルダにインストールすることもできます。このエンドポイントを使用すると、ユーザーは複数のホストからSSH接続を確立できます。
SSHユーザーのエンドポイントは、そのSSHユーザーの秘密キーへのアクセスを提供します。エンドポイントは、パスワードで保護された状態でインストールすることをお薦めします。エンドポイントに対する権限は、SSHユーザーに制限する必要があります。通常、SSHユーザーはエンドポイントを自分でインストールします。
SSHユーザーがアプリケーションやマシンで、人間のユーザーでない場合など、特定のデプロイメントでは、既存のエンドポイントを使用できます。たとえば、既存のOracle Databaseエンドポイントは、SSHクライアント・ユーザー'oracle'としてSSH接続を確立するために使用できます。このような設定では、このエンドポイントに、アプリケーションまたはマシン・ユーザーのキーを保持するウォレットへの「Read Only」アクセス権を付与します。
エンドポイントのエンロールとソフトウェアのダウンロード
エンロール・トークンを使用してエンドポイントをエンロールしてから、エンドポイント・ソフトウェアをダウンロードします。
エンドポイント・ソフトウェアは、それをデプロイするSSHクライアント・ホストからダウンロードすることも、別のホストからソフトウェアをダウンロードして、ダウンロードしたエンドポイント・ソフトウェア(okvclient.jar
)をSSHサーバーにコピーすることもできます。より厳密なファイル権限を適用して、ダウンロードしたソフトウェアの整合性を確実に保護してください。
- SSHユーザーとしてSSHクライアント・ホストにログインします
- Oracle Key Vault管理コンソールに、SSH管理ユーザーか、システム管理者ロールまたはエンドポイントの作成権限を持つユーザーとして接続します。
Oracle Key Vault管理コンソールへのログイン・ページが表示されます。ログインしないでください
- 「Login」ボタンのすぐ下にある、「Endpoint Enrollment and Software Download」をクリックします。「Enroll Endpoint & Download Software」ページが表示されます。
- 「Enrollment Token」フィールドに、SSHサーバー・エンドポイントのエンロール・トークンを入力して、「Submit Token」をクリックします。このエンロール・トークンは、エンドポイント登録ステップで保存したものです。
- トークンが有効である場合は、「Enrollment Token」フィールドの下に有効なトークン・メッセージが表示されます。「Endpoint Type」、「Endpoint Platform」、「Email」および「Description」の各フィールドには、エンドポイントの登録中に入力された値が自動的に移入されます。
トークンが無効である場合は、そのことを示すメッセージが表示されます。トークンを確認し、ダウンロード手順を再試行してください。
- ページの右上隅にある「Enroll」をクリックします。
- 「Login」ボタンのすぐ下にある、「Endpoint Enrollment and Software Download」をクリックします。「Enroll Endpoint & Download Software」ページが表示されます。
- 「Enrollment Token」フィールドに、SSHサーバー・エンドポイントのエンロール・トークンを入力して、「Submit Token」をクリックします。このエンロール・トークンは、エンドポイント登録ステップで保存したものです。
- トークンが有効である場合は、「Enrollment Token」フィールドの下に有効なトークン・メッセージが表示されます。「Endpoint Type」、「Endpoint Platform」、「Email」および「Description」の各フィールドには、エンドポイントの登録中に入力された値が自動的に移入されます。
トークンが無効である場合は、そのことを示すメッセージが表示されます。トークンを確認し、ダウンロード手順を再試行してください。
- ページの右上隅にある「Enroll」をクリックします。
- トークンが有効である場合は、「Enrollment Token」フィールドの下に有効なトークン・メッセージが表示されます。「Endpoint Type」、「Endpoint Platform」、「Email」および「Description」の各フィールドには、エンドポイントの登録中に入力された値が自動的に移入されます。
- 表示されるディレクトリ・ウィンドウで、プロンプトに従って
okvclient.jar
エンドポイント・ソフトウェア・ファイルを保存します。ファイルを保存するディレクトリに移動する必要があります。
- 他者が読み取ったりコピーできないように、適切な権限が設定されたセキュアなディレクトリにファイルを保存します。
- ファイルがダウンロードされていることを確認します。
ノート:
SSHクライアント・ホストにファイルをダウンロードしていない場合は、そのシステムにバンド外の方法を使用してファイルをコピーし、そこにインストールする必要があります。この段階で、SSHクライアント・ホストにOracle Key Vault
okvclient.jar
ソフトウェア・ファイルをインストールする準備が整います。
- トークンが有効である場合は、「Enrollment Token」フィールドの下に有効なトークン・メッセージが表示されます。「Endpoint Type」、「Endpoint Platform」、「Email」および「Description」の各フィールドには、エンドポイントの登録中に入力された値が自動的に移入されます。
SSHクライアント・ホストへのSSHユーザーのエンドポイントのインストール
SSHユーザーは、ダウンロードしたエンドポイント・ソフトウェア・ファイルokvclient.jar
を使用して、SSHクライアント・ホストにSSHユーザーのエンドポイントをインストールします。
SSHユーザーのエンドポイントをインストールする前に、JDK 1.5以降がインストールされていて、PATH
環境変数にjava
実行可能ファイル(JAVA_HOME/bin
ディレクトリ内)が含まれていることを確認します。Oracle Key Vaultは、JDKバージョン1.5、1.6、7および8をサポートしています。64ビット版のJavaが必要です。
- SSHユーザーでログインしていることを確認します。
- SSHクライアント・ホストのエンドポイント・ソフトウェアのデプロイ先にする新しいディレクトリに移動します。
okvclient.jar
ファイルの保存場所から、この新しいエンドポイント・ディレクトリにファイルを移動します。- このディレクトリが
okvclient.jar
ファイル以外は空になっていることを確認してから、rootユーザーとしてjavaコマンドを実行して、okvclient.jar
ファイルをインストールします。次に例を示します
java -jar okvclient.jar -d /<path_to_EP_directory>/<EP_directory> -v
このように指定した場合:
- -dでは、エンドポイント・ソフトウェアと構成ファイルのディレクトリの場所を指定します(この例では、
/<path_to_EP_directory>/<EP_directory>
)。 - -vでは、サーバー・エンドポイントの
/<path_to_EP_directory>/<EP_directory>/log/okvutil.deploy.log
ファイルにインストール・ログを書き込みます。
- -dでは、エンドポイント・ソフトウェアと構成ファイルのディレクトリの場所を指定します(この例では、
- パスワードの入力を求められた場合:
- 自動ログイン・エンドポイントの場合は<enter>。または
- パスワードで保護されたエンドポイントの場合は有効なパスワード
パスワード保護されたエンドポイントを作成する場合は、少なくとも8文字から30文字のパスワードを入力して[Enter]を押します。セキュリティを向上させるために、大文字、小文字、特殊文字および数字をパスワードに含めることをお薦めします。次の特殊文字を使用できます: ピリオド(.)、カンマ(,)、アンダースコア(_)、プラス記号(+)、コロン(:)、スペース。
Enter new Key Vault endpoint password (<enter> for auto-login): Key_Vault_endpoint_password Confirm new endpoint password: Key_Vault_endpoint_password
パスワード保護ウォレットは、エンドポイントがOracle Key Vaultにアクセスするために使用する資格証明を格納したOracle Walletファイルです。エンドポイントがOracle Key Vaultに接続するときには、このパスワードが常に必要です。エンドポイントにはSSHユーザーの秘密キーへのアクセス権があるため、エンドポイントはパスワードで保護された状態でインストールすることをお薦めします。
16.3.4 SSHサーバーでのSSHユーザーの公開キーの認可
SSHユーザーがSSH公開キー認証を使用してSSHサーバーに接続する前に、ユーザーが接続する必要のあるSSHサーバーでユーザーの公開キーを認可する必要があります。
SSH管理者は、公開キーをダウンロードし、SSH形式に変換してSSHサーバー管理者と共有します。SSH管理者は、SSHサーバーにある関連するホスト・ユーザーのauthorized_keysファイルに公開キーを追加します。
次のステップを使用して、SSH形式でSSH公開キーをダウンロードします:
16.4 Oracle Key VaultとSSHの統合
ユーザーは、SSHユーザーのキーとSSHサーバーへのアクセスの両方をOracle Key Vaultで管理できます。この設定は、SSHユーザーのキーとそれらのキーを使用したSSHサーバー・アクセスを列挙する機能を提供するだけでなく、SSHユーザーのキーを透過的にローテーションできることから理想的なものになります。SSHユーザーの秘密キーには、抽出不可のマークを付けることもできます。これは、秘密キーがOracle Key Vaultデプロイメントの境界を超えることがないことを意味します。
- SSH管理者によるSSHユーザーのキーとSSHサーバー・アクセスの管理
SSH管理者である場合は、「Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御」の項で説明したように、SSHサーバーでSSHサーバー・ウォレット、SSHサーバー・エンドポイントおよびOpenSSH構成を設定できます。 - SSHクライアントによるSSHユーザー・キーの管理とSSH管理者によるSSHサーバー・アクセスの管理
SSH管理者である場合は、「Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御」の項で説明したように、SSHサーバーでSSHサーバー・ウォレット、SSHサーバー・エンドポイントおよびOpenSSH構成を設定できます。
親トピック: SSHキーの管理 - 設定と構成
16.4.1 SSH管理者によるSSHユーザーのキーとSSHサーバー・アクセスの両方の管理
SSH管理者である場合は、「Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御」の項で説明したように、SSHサーバーでSSHサーバー・ウォレット、SSHサーバー・エンドポイントおよびOpenSSH構成を設定できます。
SSH管理者は、SSHユーザーのキーおよびSSHクライアント・エンドポイントを設定できます。「Oracle Key VaultによるSSHユーザー・キーの管理」を参照してください。
SSH管理者は、SSHユーザーのキーを完全に制御できるため、ポリシーごとにキーをローテーションでき、SSHユーザーの公開キーをSSHサーバー・ウォレットに追加してSSHサーバーへのアクセス権を付与することやそれを取り消すこともできます。
16.4.2 SSHクライアントによるSSHユーザー・キーの管理とSSH管理者によるSSHサーバー・アクセスの管理
SSH管理者である場合は、「Oracle Key VaultによるSSHサーバーへのアクセスの一元的な制御」の項で説明したように、SSHサーバーでSSHサーバー・ウォレット、SSHサーバー・エンドポイントおよびOpenSSH構成を設定できます。
SSHユーザーは、自分のSSHユーザーのキーとSSHクライアント・エンドポイントを設定できます。「Oracle Key VaultによるSSHユーザー・キーの管理」を参照してください。
SSH管理者は、SSHユーザーの公開キー・ウォレットからSSHサーバー・ウォレットに公開キーを追加して、SSHサーバーへのアクセス権を付与または取り消すことができます。SSH管理者は、ユーザーが所有するキーをローテーションできないため、SSHユーザーにキーのローテーションを実行するように通知する必要があります。ただし、キーが定時にローテーションされていない場合、SSH管理者はSSHサーバー・ホストからアクセス権を取り消すことができます。
16.5 既存のSSHデプロイメントのOracle Key Vaultへの移行
管理者は、SSHユーザー・キー管理用とSSHサーバーのアクセス制御を管理するための両方(または、どちらか)のSSHデプロイメントを移行できます。
SSHサーバーのアクセス制御をOracle Key Vaultに移行するには:
- 各SSHサーバー・ホストのSSHユーザーを特定します。
- SSHサーバー・ホストで特定されたSSHユーザーごとに、SSHサーバー・ウォレットを作成します。
- SSHサーバーごとに、SSHサーバー・エンドポイントを作成します。
- SSHサーバー・エンドポイントに、SSHサーバー・ウォレットへの読取り専用権限を付与します。
- SSHサーバー・ホストに、SSHエンドポイントをデプロイします。
- SSHキーとして(SSHサーバー・ホスト・ユーザーのauthorized_keysファイルから)公開キーをOracle Key Vaultサーバーの対応するSSHサーバー・ウォレットにアップロードします。
- SSHサーバー・マッピング・ファイルを設定します。
- OpenSSHデーモンを設定して、デプロイしたSSHエンドポイント環境内のSSHサーバー・エンドポイント・ルックアップ・スクリプトを参照するようにします。
- オプションで、SSHサーバーのauthorized_keysファイルの使用を制限します。
SSHユーザー・キー管理を移行するには:
- Oracle Key Vaultに移行するSSHユーザーを特定します。
- SSHユーザー用の通常のエンドポイントと汎用のウォレットを作成します。
- SSHクライアント・ホストに、通常のエンドポイントをデプロイします。
- REST APIを使用して、すべてのSSHユーザーの公開/秘密キーをSSHキーとしてOracle Key Vaultサーバーの対応する汎用ウォレットに登録します。
- SSH接続を開始するときには、PKCS#11ライブラリを使用します。
ssh -i $OKV_HOME/lib/liborapkcs.so oracle@phoenix
Oracle Key VaultにSSHサーバーのアクセス制御とSSHユーザー・キー管理の両方を移行する場合は、2つのフェーズで実行します。最初に、Oracle Key VaultにSSHサーバーのアクセス制御を移行します。移行が必要なすべてのSSHサーバーがOracle Key Vaultで一元管理されるようになってから、Oracle Key VaultにSSHユーザー・キー管理を移行します。
親トピック: SSHキーの管理 - 設定と構成
16.6 OpenSSH SSHD構成のガイドライン
Oracle Key Vaultを使用してSSHユーザー・キーを安全に管理、またはSSHサーバーへのアクセスを制御する場合、SSH接続を確立する時間は複数の要因によって異なります。
- SSHユーザー・キーは、ローカルまたはOracle Key Vaultで管理されます。
- ユーザーの汎用ウォレット内のSSHユーザー・キーの数。
- SSHサーバーへのアクセスは、
authorized_keys
ファイルまたはOracle Key Vaultによって制御されます。 - 同時SSH接続リクエストの数。
次のOpenSSH SSHD構成パラメータを確認し、必要に応じて変更します:
LoginGraceTime
- ユーザーが正常にログインしなかった場合、サーバーはLoginGraceTime時間後に切断されます。
- SSHユーザーのエンドポイントが複数のSSHキーにアクセスできる場合、
openssh
は各キーを一度に1つずつ認証しようとします。LoginGraceTimeは、ユーザーが使用可能なすべてのキーを使用して認証を試行するのに十分な値に設定する必要があります。 - Oracleでは、各ユーザーに保持するキーは少なく抑えておくことをお薦めします。古い未使用のキーを他のウォレットに移動します。
MaxAuthTries
- 接続ごとに許可される認証の試行最大数を指定します。
- SSHユーザーのエンドポイントが複数のSSHキーにアクセスできる場合、
openssh
は各キーを一度に1つずつ使用して認証しようとします。提示された各キーは、1回の試行としてカウントされます。MaxAuthTries認証の試行後に認証が失敗した場合、SSH接続は失敗します。MaxAuthTriesパラメータは、SSHユーザーのエンドポイントからアクセス可能なSSHキーの数より大きい値に設定する必要があります。 - Oracleでは、各ユーザーに保持するキーは少なく抑えておくことをお薦めします。古い未使用のキーを他のウォレットに移動します。
MaxStartUps
- SSHDへの未認証での同時接続の最大数を指定します。認証が成功するか、接続のLoginGraceTimeが時間切れになるまで、追加の接続は削除されます。
- MaxStartUpsは、環境内で予想される同時接続数を考慮して設定する必要があります。
親トピック: SSHキーの管理 - 設定と構成
16.7 レポート
Oracle Key Vaultには、セキュア・シェル(SSH)ユーザー・キーとSSHサーバー・アクセス制御構成の確認に加えて、SSHユーザー・アクティビティの追跡にも使用できる複数のレポートが用意されています。
- SSHレポートの表示
SSHレポートは、すべてのユーザーが表示できます。 - SSHキー詳細レポート
SSHキー詳細レポートのグループには、SSHキー・メタデータ・レポートとSSHキー使用状況レポートが含まれます。 - SSHサーバー・アクセス管理レポート
Oracle Key Vaultには、レポートにアクセスできる認可されたSSHユーザーを表示する、SSHサーバー・アクセス管理レポートが用意されています。 - SSHユーザー秘密キー管理レポート
Oracle Key Vaultには、秘密キーにアクセスできるSSHユーザーを表示する、SSHユーザー秘密キー管理レポートが用意されています。
親トピック: SSHキーの管理 - 設定と構成
16.7.1 SSHレポートの表示
SSHレポートは、すべてのユーザーが表示できます。
Oracle Key Vaultには、SSHユーザー・キーの構成、それにより許可するSSHサーバーへのアクセスおよびSSHサーバー・ホスト・アクセスの監視を一元的に管理するために使用できる複数のレポートが用意されています。次のものが含まれます:
親トピック: レポート
16.7.2 SSHキー詳細レポート
SSHキー詳細レポートのグループには、SSHキー・メタデータ・レポートとSSHキー使用状況レポートが含まれます。
Oracle Key Vaultセキュア・シェル(SSH)詳細レポートは、次のレポートで構成されます:
- SSHキー・メタデータ・レポート
- SSHキー使用状況レポート
SSHキー・メタデータ・レポート
このレポートには、SSH公開キーと秘密キーのメタデータ(所有者、キー長、有効期限、ウォレット・メンバーシップなど)が表示されます。
このレポートは、SSHキー・インベントリを完全に可視化して、SSHキー管理のベスト・プラクティスとエンタープライズ固有のポリシーが一律に適用されるようにするために使用します。
- 弱いキーの特定 - エンタープライズ・セキュリティ・ポリシーが要求するキー・サイズより小さいキー
- 間もなく期限切れになるキーを特定し、期限切れになる前にローテーションして中断を回避します
- どのウォレットのメンバーでもない場合に、未使用の可能性が高いキーを特定します
SSHキー使用状況レポート
このレポートには、現在管理されているSSHキーに対するすべての操作が、エンドポイント別およびユーザー別に表示されます。
- SSHキーの使用状況を監視し、疑わしいアクティビティやキー認可またはキー属性に対する改ざんを特定します。
- 使用パターンと未使用のキーを特定します。たとえば:
- ユーザーは複数のSSHキーを持っている場合がありますが、一部のキーは使用されなくなっていることがあります。
- ユーザーはOracle Key Vaultに公開キーと秘密キーの両方を持つことができますが、SSHサーバーのローカル
authorized_keys
ファイルの使用を示す秘密キー・アクセスのみが表示されます。
親トピック: レポート
16.7.3 SSHサーバー・アクセス管理レポート
Oracle Key Vaultには、レポートにアクセスできる認可されたSSHユーザーを表示する、SSHサーバー・アクセス管理レポートが用意されています。
Oracle Key Vault SSHサーバー・アクセス管理レポートは、次のレポートで構成されます:
- SSHサーバー認可レポート
- SSHサーバー・アクセス・レポート
- SSHサーバー・ウォレット・レポート
SSHサーバー認可レポート
このレポートには、SSHサーバーと、それらにアクセスする権限があるSSHユーザーが表示されます。これは、SSHサーバーにアクセスできるユーザーを確認するために使用します。
- 公開キーによってSSHサーバーにアクセスするSSHユーザーに付与された認可を確認します。
これは、必要なユーザーにのみアクセス権が付与されていて、意図しない認可や予期しない認可があるかどうかを識別するために役立ちます。
- 従業員が退職したときや従業員が自分のロールを変更したときなどに、残されたままになったアクセス権付与を識別します。
SSHサーバー・アクセス・レポート
このレポートには、SSHユーザーの公開キーを使用したSSHサーバーへのアクセスの試行が表示されます。SSHサーバーに誰がアクセスしているかを評価するために使用します。
SSHユーザー認証の一部として、クライアントによって提供される公開キーのフィンガープリント、SSHホスト・ユーザーとSSHサーバー・エンドポイントが参照してアクセスを決定するウォレットが記録されます。「SSH User」列に表示される情報は、SSH公開キー・メタデータ(システムに存在する場合)から導出されます。「SSH User」列に示される値「Unknown」は、SSHサーバーへのアクセスに使用されるSSH公開キーがOracle Key Vaultの外部で管理されていて、SSH公開キーに関連付けられたSSHユーザー情報がOracle Key Vault内では使用できないことを示しています。
SSH接続を確立しようとしているユーザーは、複数の公開鍵を持っていることがあります。このレポートには、ユーザーの認証に各公開キーを使用した試行が表示されます。SSHユーザーに複数の公開キーがあり、それらの公開キーの一部ではSSHサーバーへのアクセスが許可されていない場合、そのユーザーの正常なアクセス試行のエントリの前に、失敗したアクセス試行のエントリが表示されることがあります。
- SSHサーバーへのアクセスを監視して、SSHサーバーに認可されたユーザーのみがアクセスできるようにします。この情報は、セキュリティ・インシデントのフォレンジック分析に役立ちます。
- SSHサーバーへの失敗したアクセスの試行を確認して、そうした試行が正当かどうかを確認します。
SSHサーバー・ウォレット・レポート
このレポートには、SSHサーバー・ホスト・ユーザーとしてSSHサーバーへのアクセスを認可する、SSHサーバー・ウォレットが表示されます。新しいSSHユーザーや新しいSSHサーバーのプロビジョニング時に使用します。
- 新しくプロビジョニングしたユーザーのSSH公開キーの追加が必要になるSSHサーバー・ウォレットを決定します。
- 新しいサーバーがエンタープライズ内の別のサーバーのSSHアクセス構成に従う場合に、新しくプロビジョニングしたサーバーが使用するSSHサーバー・ウォレットを決定します。
- アクセスを許可するSSHサーバー・ウォレットとSSHサーバーについてエンタープライズ全体の一覧を取得します。単一のSSHサーバー・ウォレットを使用して、複数のサーバーに対するSSHアクセスを認可できます。
親トピック: レポート
16.7.4 SSHユーザー秘密キー管理レポート
Oracle Key Vaultには、秘密キーにアクセスできるSSHユーザーを表示する、SSHユーザー秘密キー管理レポートが用意されています。
Oracle Key Vault SSHユーザー秘密キー管理レポートは、次のレポートで構成されます:
- SSH秘密キー認可レポート
- SSH秘密キー使用状況レポート
SSH秘密キー認可レポート
このレポートには、SSH秘密キーの使用が許可されているエンドポイントおよびユーザーと、それらのアクセス権の付与方法が表示されます。これは、SSH秘密キーにアクセスできるユーザーを確認するために使用します。
- SSH秘密キーへのアクセス権が付与されているエンドポイントとユーザーを確認および監査します。
- 共有秘密キーの使用を識別および制限します。SSH秘密キーは、特定のユーザーまたはエンドポイント用です。SSH秘密キーの一時共有は、そのビジネス・ニーズが完了したらすぐに削除する必要があります。
SSH秘密キー使用状況レポート
このレポートには、エンドポイント別とユーザー別のSSHユーザー秘密キーの使用が表示されます。SSHユーザー秘密キーに対する変更を評価して、それらのアクセスを確認するために使用されます。
このレポートには、SSH秘密キーを使用してSSHサーバーにアクセスしたときのアクティビティ情報と、それらに対して実行されるすべての操作が含まれます。
- SSH秘密キーの使用を確認および監査します。秘密キーのアクセス・パターンを確認して、ユーザーが休暇中でいないときのユーザーの秘密キーの使用や、予期しないエンドポイントによるユーザーの秘密キーのフェッチなど、異常なアクティビティを識別できます。
- SSH秘密キーに対する異常な変更を識別します。たとえば、キーがOracle Key Vault境界を超えられるように、SSH秘密キーの抽出可能属性が変更されたとします。このような変更は問題の原因になることがあり、検討する必要があります。整合性が疑われる可能性があるSSHキーは、すぐにローテーションする必要があります。
親トピック: レポート