SSH キー ディスカバリを使用したキー ペアの検索
管理者は、SSH キーをインストールして、特権アカウントへのアクセスを保護できます。ネットワークに最初にアプライアンスを展開するときに、アプライアンスを設定して特権アカウントのパスワードを変更します。ただし、SSH キーがインストールされた後にアプライアンスを展開する場合は、パスワードを変更しても、SSH キーの動作は停止しません。そのため、これらの特権アカウントは、完全には安全ではありません。
capam32
管理者は、SSH キーをインストールして、特権アカウントへのアクセスを保護できます。ネットワークに最初にアプライアンスを展開するときに、アプライアンスを設定して特権アカウントのパスワードを変更します。ただし、SSH キーがインストールされた
後に
アプライアンスを展開する場合は、パスワードを変更しても、SSH キーの動作は停止しません。そのため、これらの特権アカウントは、完全には安全ではありません。SSH キー ディスカバリを使用すると、これらのキーを検索できるため、削除が可能です。削除すると、特権アカウントは十分に安全な状態になり、
Privileged Access Manager
のみがこれらの特権アカウントを管理できます。SSH キー ディスカバリでは、特権ユーザの秘密キーは管理されません。 SSH キー ディスカバリはアプリケーション タイプ Linux および UNIX のみを対象に発生します。
以下のトピックでは、SSH キー ディスカバリを実行する方法について説明します。
前提条件
SSH キー ディスカバリを実行する前に、以下の前提条件を満たします。
- ターゲット アプリケーションおよびターゲット アカウントでアカウント ディスカバリを有効化
- 管理者アカウントに sudo 権限を付与
- sudoers ファイルを編集してパスワード認証を無効化
ターゲット アプリケーションおよびターゲット アカウントでアカウント ディスカバリを有効化
SSH キー ディスカバリでは、アカウント ディスカバリの設定が必要です。設定の手順については、「アカウント ディスカバリ」を参照してください。
- UNIX など、アカウント ディスカバリをサポートするターゲット アプリケーションのタイプを選択します。
- 必要に応じて、[アカウント ディスカバリ]タブでオプションを設定します。このタブでは、アカウント ディスカバリを有効にしませんが、他のオプションを定義します。[アカウント ディスカバリ]をターゲット アカウントで有効にするには、[許可されたディスカバリ]チェック ボックスをオンにします。アプリケーションのタイプによって、タブに表示されるオプションは異なります。たとえば、UNIX アプリケーションには UID/GID 値または範囲が表示され、これらは検出されるアカウントの数を制限します。UID および GID の設定は連携して使用され、ターゲットを検出する両方の条件を満たす必要があります。
- ターゲット アカウントを設定して、ディスカバリを許可します。ターゲット アカウントを追加し、[パスワード]タブを選択して、[許可されたディスカバリ]チェック ボックスをオンにします。アプライアンスは、[許可されたディスカバリ]が有効になっているアカウントのみをディスカバリの認証情報として使用します。[許可されたディスカバリ]チェック ボックスをオンにすると、[このタイプのアプリケーションに複数のサーバ ディスカバリを許可する]チェック ボックスも UNIX アカウントに表示されます。このチェック ボックスをオンにすると、アカウントはこのタイプの任意のサーバおよびアプリケーションに対するグローバル ディスカバリ アカウントとして機能します。たとえば、共通のアカウントおよびパスワードを使用している 20 台のサーバがある場合は、1 つのアカウントを使用して、このチェックボックスをオンにします。このアプリケーション タイプが選択されているディスカバリ ジョブでは、ディスカバリの認証情報としてこのアカウントが使用されます。
管理者アカウントに sudo 権限を付与
sudo 権限を管理者アカウントに付与して、リモート ターゲット システムにディスカバリを実行します。SSH キー ディスカバリでは、不適切な権限を持つすべてのアカウントをスキップします。
管理者は、指定した特権アカウントに SSH キーを作成できます。SSH キー ディスカバリでは、管理者アカウントは、以下のコマンドで sudo を使用します。
- test
- cat
- date
- ssh-keygen
アカウントに十分なアクセス権があるかどうかをテストするには、そのアカウントを使用してログインし、これらのコマンドのいずれかを発行します。以下に例を示します。
sudo -l ssh-keygen
不十分なアクセスの障害レポートの間、正常なコマンドはフルコマンド名をエコーします。
Sorry, user user may not run sudo on [server].
sudoers ファイルを編集してパスワード認証を無効化
管理者アカウントがパスワードではなく、SSH キー ペアのみを使用する場合、ターゲット サーバを設定して、パスワードを要求しないようにします。
管理者がパスワードを要求されないようにするには、
sudoers
ファイルを編集して、アカウントの NOPASSWD エントリを追加します。以下に例を示します。jdoe ALL=(ALL) NOPASSWD: ALL
以下の手順に従います。
- リモート ターゲット サーバで、/etcディレクトリの sudoers ファイルを編集します。
- 管理アカウントのエントリを見つけます。
- そのエントリにNOPASSWDを追加します。以下に例を示します。jdoe ALL=(ALL) NOPASSWD: ALL
- SSH キー ディスカバリの対象となる各サーバに対して繰り返します。
キーのディスカバリのプロセス
SSH キーのディスカバリを実行するには、以下の手順に従います。
- スキャン プロファイルを作成します。
- スキャンを実行し、結果を表示します。
- スキャン結果をスキャン プロファイル履歴に表示します。
- (オプション)結果を CSV ファイルにエクスポートします。
スキャン プロファイルを追加し、実行します。
スキャン プロファイルを追加することから始めます。以下の手順に従います。
- [認証情報]-[ディスカバリ]を選択します。
- [スキャン プロファイル]タブを選択し、[追加]ボタンを選択します。[プロファイル]タブで、プロファイルの名前を指定し、任意で説明を入力します。[パージ間隔]には、このスキャンで検出されたデバイスが削除されるまでの日数を設定します。別のプロファイルによって検出されたデバイスは削除されません。デフォルトのパージ間隔は、[全体設定]ページの[基本設定]で[スキャン パージ間隔]として設定されています。
- [サーバ]タブで、[利用可能サーバ]を[選択済みサーバ]列に移動します。[利用可能サーバ]リストは管理対象デバイスによって入力されます。
- 必要に応じて、スキャンを実行するスケジュールを作成します。そうしない場合は、次の手順へスキップして、オンデマンドでスキャンを実行します。
- [スケジュール]タブを選択します。
- 頻度を選択します。その他のフィールドが表示されます。
- 適切な時間間隔を選択します。
- [OK]をクリックして、スキャン プロファイルを保存します。
- [OK]をクリックして、スキャン プロファイルを保存し、[デバイス スキャン プロファイル]リストに戻ります。リストからスキャン プロファイルを選択し、[実行]を選択します。
強調表示されているスキャン プロファイルの
[削除]
を選択すると、そのスキャン プロファイルが[スキャン プロファイル履歴]から削除されます。そのプロファイルに関連付けられているアカウントも、別のプロファイルに関連付けられていなければ削除されます。スキャンのモニタ
[
スキャン プロファイル ジョブ
]タブでスキャンの進捗状況をモニタできます。このパネルで[ジョブのキャンセル
]をクリックして、ジョブをキャンセルすることもできます。ジョブが完了したら、[スキャン プロファイル履歴]タブでジョブ結果のサマリを表示します。[ディスカバリ]領域のテーブルでは、列の値によるフィルタリングを利用できます。アスタリスクとパーセント記号を複数文字のワイルドカードとして使用できます。
[スキャン プロファイル ジョブ]とその他のテーブルは、
[テーブル リフレッシュ間隔]
フィールドの値に従ってリフレッシュされます。このフィールドは、[全体設定]ページの最初のタブにあります。デフォルトのリフレッシュ時間は 60 秒です。スキャン結果の表示
[
スキャン プロファイル履歴
]タブを選択して、ディスカバリ スキャンの結果を表示します。それぞれの行は、スキャン プロファイルとその最新のディスカバリ時刻を示します。スキャンの他の側面を表示するボタンをクリックすることもできます。[サマリ]には、発生したエラーの数も表示されます。これらの数字は、このスキャン プロファイルの最新の実行のみを表してます。アカウント ディスカバリ スキャンについては、「アカウント ディスカバリ」を参照してください。
サマリの詳細の表示
[サマリの詳細の表示]ボタンをクリックすると、スキャン結果のウィンドウが表示されます。サマリには、以下の情報が表示されます。
- 検出されたキーの数、新規アカウントの数、見つからないアカウントの数が示されます。「見つからない」キーとは、同じスキャン プロファイルの前回の実行で検出されながら、今回の実行で見つからなかったキーです。
- [スキャン情報]タブには、スキャン プロファイル名とジョブ時刻が表示されます。
- [検出されたキー]タブ、[新規キー]タブ、[見つからないキー]タブには、各カテゴリのアカウント名、SSH キー フィンガープリントが表示されます。
[ログ]タブのテーブルには、このスキャンに関して実行された各アクションが表示されます。
キー スキャン結果を表示
キー スキャン結果を表示するには、[スキャン プロファイル履歴]ページでプロファイルを選択し、[
キー スキャン結果を表示
]ボタンをクリックします。検出されたキーに関する以下の情報が表示されます。フィールド | 説明 |
アカウント名 | 1 つの SSH キーと関連付けられた 1 つまたは複数のアカウント。結果を CSV |
フィンガープリント | 公開キーのフィンガープリントは、コロンで区切られた 16 進数ペアで表示されます。 |
キー ファイル経過時間 | キー ファイルの最終変更以降の日数。この日数は、キー自体の経過時間ではない場合があります。 |
キー サイズ | SSH キーのビット単位のサイズ(または長さ) |
デバイス名 | キーが検出されたサーバ。CSV ファイルに結果をエクスポートする場合、このフィールドは、「targetServerName」になります。 |
認証済みキー ファイル名 | authorized_keys ファイルの場所。SSH キーの名前は、このファイルに格納されます。 |
管理中(読み取り専用) | アプライアンスが SSH キーを管理する場合、このチェック ボックスはオンになります。アプライアンスによるキーの管理を有効にするには、最初にリモート ターゲットの既存のキーを手動で取り消す必要があります。次に、アプライアンスで新しいキー ペアを生成します。認証情報マネージャによって生成および展開される SSH キーのみが管理されます。 |
[
エクスポート
]ボタンをクリックすると、表示されている各検出済みアカウントを 1 行として CSV ファイルが作成されます。[
表示
]ボタンを押すと、チェックボックスがオンになっている[アカウント名]の[検出されたキーを表示]ダイアログ ボックスが開きます。このダイアログ ボックスには、[基本情報
]タブと[詳細情報
]タブがあります。[詳細情報]タブには、[アカウント スキャン]結果パネルに表示されないログ情報が表示されます。検出されたキー
[検出されたキー]タブには、同じ情報が[キー スキャン結果を表示]に表示されます。このタブで、アカウントを選択して、検出されたキーに関する詳細を表示できます。
検出されたキーを表示
アカウントの[検出されたキーを表示]ページを開くには、[検出されたキー]ページでアカウント エントリを選択して、[
表示
]を選択します。このページの[基本情報
]タブには、[検出されたキー]タブと同じ情報が表示されます。[
詳細情報
]タブには、以下の追加情報が表示されます。フィールド | 説明 |
キー | 公開キー全体が、係数または base64 キーを含めて表示されます。SSH プロトコル 1 の場合、RSA のみがサポートされます(RSA1)。SSH-2 の場合は、base64 が表示されます。 |
キー インスタンス | authorized_keys テキスト ファイルは複製できるため、このフィールドでデータの整合性を保持します。複製キーは、ここではインクリメントされた整数となります。通常 1 ずつ増加します。 |
キー タイプ | SSH キーのタイプを表示します。 |
コメント | SSH キーの生成では、キー ファイル内にコメントを含めることが許可されていて、存在する場合はこのフィールドに表示されます。 |
取り消し済み | 一部のシステムは、SSH キーを無効にすることを許可するように設定されています。キー ディスカバリでは、各キーをテストして、「 ssh-keygen –Q 」コマンドを使用してキーが取り消されているかどうかを確認します。取り消されている場合は、プロパティとして保存されます。 |
Bubble Babble | Bubble Babble は、バイナリ データのフィンガープリントのエンコード方式です。Bubble Babble 形式では、一連の 16 進数よりも比較的簡単に発音できる擬似単語で表されます。 |
検出されたキーをファイルにエクスポート
検出された SSH キーに関する情報を CSV ファイルにエクスポートして、スプレッドシートやデータベースで使用できます。すべての SSH キーをエクスポートするには、[検出されたキー]タブを選択します。表示されたリストの上にある[エクスポート]ボタンをクリックすると、CSV ファイルが生成されます。特定のスキャンからデータをエクスポートするには、[スキャン プロファイル履歴]タブを選択します。スキャン プロファイルを選択し、[キー スキャン結果を表示]をクリックします。[エクスポート]ボタンは、キーのリストの上に表示されます。
エクスポートされた CSV ファイルには、UI に表示されているより多くの情報が含まれています。UI に表示されるフィールドだけでなく、以下のフィールドが追加されます。
- targetApplicationName:ターゲット アプリケーションの名前
- protocolVersion:SSH プロトコル 1 または 2
- options:SSH キー ファイルに含まれているログイン オプション
- exponent:SSH プロトコル 1 (RSA1)キーの一部であり、65527 などの値
- modulus:SSH プロトコル 1 (RSA1)キーの一部である long 型整数
- base64Key:SSH プロトコル 2 キーの一部である、公開キーの long 型 base64 表記
- authorizedKeyFileTimestamp:認証済みキー ファイルのタイムスタンプ、[キー ファイル経過時間]フィールドの決定に使用
- lastLogin:最新ログ エントリによって決定される、このキーがログインに使用された最終時刻が表示されます。ログ ファイルで十分に過去に遡れない場合、このフィールドは空白の場合があります。