SSHコマンド制御フィルタリング

PAM360を使用すると、ユーザーはSSHプロトコルを使用してリモートセッションを開始し、コマンド実行を通じて特定の操作を実行できます。SSHコマンド制御フィルタリング機能を使用すると、管理者はコマンドグループを関連するアカウント、リソース、またはリソースグループに関連付けることで、事前に承認されたコマンドリストを定義し、適用することができます。この機能により、SSH対応リソースへのアクセス権を持つユーザーは、割り当てられたコマンドグループ内で明示的に許可されたコマンドのみを実行できるように制限されます。このきめ細かなアクセス制御レベルにより、SSHセッション中の不正なコマンド実行や意図しないコマンド実行を防ぐことで、セキュリティが大幅に向上します。

コマンドおよびコマンドグループに関わるすべての操作(作成、変更、関連付け、実行など)は、操作の種類とユーザーが指定した理由を含め、リソース監査セクションで完全に監査され、記録されます。これにより、追跡可能性とコンプライアンスが確保されます。

このドキュメントを読み終えるまでに、PAM360におけるSSHコマンド制御フィルタリングに関連する以下のトピックを習得できます。

  1. ロールと権限
  2. コマンド管理
  3. コマンドグループの管理
  4. SSHコマンドコントロールの設定
  5. フィルタリングされたコマンドの実行
  6. リアルタイムにおける設定の優先順位

1.ロールと権限

デフォルトでは、管理者特権管理者パスワード管理者Cloud Administratorなどのロールを持つユーザーには、PAM360 の SSH コマンド制御を管理または使用する権限が付与されます。更に、管理者は、SSHコマンド制御を効果的に管理および使用するために、以下の権限を持つカスタムロールを設定できます。

  • コマンドリストの管理:この権限を有効にすると、ユーザーはコマンドリストとコマンドグループを作成、編集、削除、管理できるようになります。ユーザーは、グループ内のコマンドを関連付けたり、関連付けを解除したりすることもできます。
  • コマンドグループの関連付け:この権限を有効にすると、ユーザーはコマンドグループをアカウント、リソース、またはリソースグループに関連付けたり、関連付けを解除したりできるようになります。ユーザーは、コマンドリストの管理インターフェースから、利用可能なコマンドとコマンドグループを表示することもできます。
  • コマンド制御の使用:この権限を有効にすると、ユーザーはSSHベースのリソースに関連付けられた事前定義済みのコマンドのみを実行できるようになります。この権限を持たないユーザーは、SSHコマンド制御が設定されているアカウントへのSSH接続を開始することが制限されます。

2.コマンド管理

PAM360のコマンド管理セクションでは、SSHコマンド制御で使用されるコマンドの作成、インポート、編集、削除、およびエクスポートを行うことができます。これは、リモートSSHセッション中にユーザーが使用できるコマンドを事前に定義されたセットに制限することで、きめ細かなアクセス制御を徹底するのに役立ちます。

メモ:

コマンドを管理する前に、ユーザーはコマンドリストの管理およびコマンドグループの関連付けの権限を持っている必要があります。更に、SSH起動コンソールでの実行エラーを回避するために、以下の前提条件が満たされていることを確認してください。

  1. PAM360に追加されるコマンドは、有効な構文と入力値を持つ必要があります。
  2. 対象システムがエイリアスコマンドを使用しているかどうかを確認し、PAM360にコマンドを追加する際にこれらのエイリアスが考慮されるようにしてください。

まず、[管理] >> [特権昇格] >> [コマンド管理] に移動します。コマンド管理ウィンドウのコマンドタブから、以下の操作を実行できます。

2.1 コマンドの追加

PAM360にコマンドを追加する方法は2つあります以下の手順に従ってコマンドを手動で追加してください。

  1. コマンドタブで、[追加]ボタンをクリックします。
  2. 表示されたウィンドウに、以下を入力してください。
    • コマンド名: コマンドを素早く識別するための名称。
    • コマンド:実際に実行されるコマンド。
    • 説明:このコマンドの簡単な説明。
  3. コマンドを保存するには追加をクリックし、コマンドを追加するには更に追加をクリックしてください。新しく追加されたコマンドは、コマンドタブに表示されます。
    command-control-1

    command-control-2

CSVファイルを使用してコマンドをインポートするには、以下の手順に従ってください。

  1. コマンドタブで、[インポート]ボタンをクリックします。
  2. ポップアップでファイルの種類を選択し、添付ファイルフィールドを使用して適切なファイルを添付し、をクリックします。パスワードで保護されたZIPファイルからインポートする場合は、ZIPファイル名とパスワードを入力してください。
  3. CSVのコラムを必要なフィールドにマップします。

    メモ:

    • コマンド名コマンドは必須です。
    • CSVファイルのフィールドは任意の順序で記述できます。
    • コマンドグループに関連付けるフィールドをマップすることで、コマンドをコマンドグループに関連付けることもできます。CSVファイルに記載されているコマンドグループが存在しない場合、自動的に作成されます。
  4. ファイルタイプをパスワードはZIPファイルに保護されています。として選択する場合、ファイルにファイル名を入力し、パスワードを入力して、zipのファイルにアクセスします。
  5. インポートをクリックしてプロセスを完了してください。インポートされたコマンドは、コマンドタブに一覧表示されます。

    メモ:

    正しいCSV形式を理解するために、いくつかのサンプルコマンドを手動で追加してエクスポートしてみてください。エクスポートしたCSVファイルをテンプレートとして使用してください。

    command-control-3

コマンドリストで、必要なコマンドをクリックします。開いたコマンド詳細ウインドウから、コマンド情報を取得し、編集削除を含む操作を実行することもできます。

command-control-4

2.2 コマンドの変更

  1. コマンドタブで、変更したいコマンドの横にあるコマンド編集アイコンをクリックするか、[コマンド詳細]ビューを開いて編集をクリックします。
  2. 編集ウィンドウで、必要なフィールドを更新してください。
  3. 必要に応じて、コマンドグループに関連付けるフィールドを使用して、コマンドを既存のコマンドグループに関連付けることができます。
  4. [保存]をクリックして変更を適用します。

2.3 コマンドの削除

  1. コマンドタブで、必要なコマンドの横の操作にある[コマンドを削除]アイコンをクリックするか、コマンド詳細ポップアップから[削除]ボタンをクリックします。
  2. 開いたポップアップで、[削除]ボタンをクリックし、コマンドリストからコマンドを削除します。
  3. コマンドを一括削除するには:
    1. 削除する必要なコマンドを選択します。
    2. 上部パネルの[削除]ボタンをクリックします。
    3. [削除]をクリックし、選択したコマンドを一括で削除します。

    メモ:

    コマンドを削除すると、コマンドリストから完全に削除され、関連付けられているコマンドグループからも切り離されます。

2.4 コマンドのエクスポート

コマンドタブに表示されているすべてのコマンドをCSVファイルとしてエクスポートできます。

  • コマンドタブのエクスポートボタンをクリックします。
  • 利用可能なすべてのコマンドを含むCSVファイルが生成され、ブラウザのデフォルトのダウンロードディレクトリにダウンロードされます。

3.コマンドグループの管理

必要なコマンドを作成して設定したら、コマンド管理ウィンドウのコマンドグループタブからコマンドグループの管理を開始できます。このセクションでは、追加、編集、関連付け、関連付け解除、削除など、実行できる主要な操作の概要と、それぞれの手順を詳しく説明します。

3.1.コマンドグループの追加

  1. コマンドグループタブに移動し、追加ボタンをクリックします。
  2. ポップアップウィンドウにコマンドグループ名説明を入力し、追加をクリックします。

    メモ:

    追加を確定する前に、下に表示されるリストからコマンドを選択して、この新しいコマンドグループに関連付けることができます。追加後、コマンドグループタブで目的のコマンドグループをクリックすると、コマンドグループ詳細ウィンドウが開きます。ここでは、グループの情報、関連するコマンドを表示したり、編集や削除などの操作を実行したりできます。

    command-control-5

3.2 コマンドグループの変更

  1. コマンドグループタブで、変更したいコマンドグループを探します。
  2. アクションコラムの下にあるコマンドグループの編集アイコンをクリックするか、コマンドグループ詳細ポップアップの編集ボタンをクリックします。
  3. 編集ウィンドウで必要な更新を行い、保存をクリックして変更を適用します。

3.3 コマンドグループの削除

個々のコマンドグループを削除するには:

  1. コマンドグループタブで、目的のコマンドグループのアクションの下にあるコマンドグループ削除アイコンをクリックするか、コマンドグループ詳細ポップアップの削除ボタンをクリックします。
  2. 表示されるプロンプトで削除を確認してください。

複数のコマンドグループを一度に削除するには:

  1. 削除したいコマンドグループの横にあるチェックボックスを選択してください。
  2. 上部のツールバーにある削除ボタンをクリックしてください。
  3. ポップアップダイアログで削除を確認してください。

メモ:

コマンドグループの削除は、元に戻せない操作です。ただし、それに関連付けられた個々のコマンドはそのまま保持され、削除されることはありません。


3.4 コマンドグループ内でのコマンドの関連付けまたは関連付け解除

  1. コマンドグループタブで、目的のコマンドグループの横にある編集アイコンをクリックするか、コマンドグループ詳細を開いて編集をクリックします。
  2. 編集ビューで、利用可能なリストからコマンドを選択または選択解除して、コマンドグループに関連付けたり、関連付けを解除したりします。
  3. 変更を確定するには、保存をクリックしてください。
    command-control-6

    メモ:

    また、新しいコマンドグループを作成する際に、初期設定時にコマンドを選択することで、コマンドを関連付けることもできます。

4.SSHコマンド制御の設定

必要なコマンドグループが作成されたら、アカウント、リソース、およびリソースグループレベルでSSHコマンド制御の設定を開始できます。以下のサブセクションでは、これらの各レベルでSSHコマンド制御を設定するための手順を段階的に説明します。

メモ:

アクセス制御と併せてコマンド制御(フィルタリング)を使用することを強くお勧めします。これにより、ユーザーが共有アカウントのパスワードにアクセスできないことが保証されます。パスワードが平文で公開されている場合、ユーザーはサードパーティ製のSSHクライアントを介して接続することで、コマンド制限を回避できる可能性があります。


4.1 アカウントに対するSSHコマンド制御の設定

アカウントのSSHコマンド制御を設定するには、以下の手順に従ってください。

  1. [リソース] >> [すべてのパスワード] >> [リソース] の順に移動し、目的の SSH リソースをクリックします。または、[リソース] >> [すべてのパスワード] >> [パスワード] に移動してください。
  2. 表示されたページで、目的のアカウントの横にあるアカウントアクションドロップダウンをクリックし、SSHコマンドコントロール設定を選択します。
    command-control-9
  3. ポップアップウィンドウで、アカウントに関連付ける必要なコマンドグループを選択し、関連付けするをクリックします。
  4. 選択されたコマンドグループが正常に関連付けられ、アカウントに対してSSHコマンド制御が有効になります。
  5. メモ:

    コマンドグループの関連付けを解除するには、解除したいコマンドグループの選択を解除するか、関連付けの解除をクリックしてアカウントからコマンド制御を削除します。

同様の設定は、対象のアカウントを選択し、その他の操作ドロップダウンをクリックしてSSHコマンドコントロール設定を選択、ポップアップウィンドウで目的のコマンドグループを選んで関連付けするをクリックすることで、アカウントに対して一括で構成することも可能です。

4.2 リソースのコマンド制御の設定

リソースの SSH コマンド制御を設定するには、次の手順に従ってください。

  1. [リソース] >> [すべてのマイパスワード] >> [リソース]の順に移動します。
  2. 目的の SSH リソースの横にある [リソース アクション] ドロップダウンをクリックし、[構成] >> [SSHコマンドコントロール] を選択します。
  3. ポップアップウィンドウで、リソースに関連付けるコマンドグループを選択し、関連付けするをクリックします。
    command-control-7

    command-control-8
  4. 選択されたコマンドグループが正常に関連付けられ、リソースに対するSSHコマンド制御が有効になります。
  5. メモ:

    コマンドグループの関連付けを解除するには、解除したいコマンドグループの選択を解除するか、関連付けの解除をクリックして、リソースからコマンド制御を削除します。

同様の設定は、目的のリソースを選択し、[リソースアクション]ドロップダウンをクリックして、[設定]→[SSHコマンドコントロール] を選択し、ポップアップウィンドウで目的のコマンドグループを選択して、[関連付けする]をクリックすることで、リソースに対して一括で設定できます。

4.3 リソースグループのコマンド制御の設定

リソースグループのSSHコマンド制御を設定するには、以下の手順に従ってください。

  1. [グループ]タブに移動します。
  2. 必要なリソースグループの横の[アクション]ドロップダウンをクリックし、[SSHコマンドコントロール設定]を選択します。
  3. 開いたポップアップウィンドウで、リソースグループに関連付ける必要なコマンドグループを選択し、関連付けするをクリックします。
  4. 選択されたコマンドグループが正常に関連付けられ、リソースに対するSSHコマンド制御が有効になります。
  5. メモ:

    コマンドグループの関連付けを解除するには、解除したいコマンドグループの選択を解除するか、[関連付けの解除]をクリックしてリソースグループからコマンド制御を削除します。

同様の設定をリソースに対して一括で行うには、目的のリソースを選択し、[一括設定]ドロップダウンをクリックし、[設定] >> [SSHコマンドコントロール]を選択し、ポップアップウィンドウで目的のコマンド グループを選択して、[関連付けする]をクリックします。

5.フィルタリングされたコマンドの実行

コマンド制御の使用ロールが割り当てられたユーザーは、関連付けられたコマンドグループで定義されたコマンドを、設定されたレベルでのみ実行できます。許可されたコマンドを実行するには:

  1. SSHプロトコルを使用して、目的のアカウントへのリモートセッションを開始します。
    command-control-11
  2. 開いたセッションでは、ログインしているSSHアカウントに関連付けられた、事前に定義された許可コマンドのリストが右側のパネルに表示されます。
  3. 右側のパネルにカーソルを合わせ、コマンドの横にある実行アイコンをクリックすると、SSHコンソールでコマンドが実行されます。
  4. 選択したコマンドの実行ログを表示するには、プレビューアイコンをクリックしてください。
    command-control-12

メモ:

  • SSHコマンド制御を使用すると、ユーザーは管理者がアカウント、リソース、またはリソースグループレベルで設定した事前定義済みのコマンドのみを実行できます。
  • SSHコマンド制御が設定されているアカウントでは、手動コマンドの実行が制限されます。
  • SSHリモートセッションは、コマンド制御の使用ロールを持たないユーザーには制限されています。

6.リアルタイムにおける設定の優先順位

以下の事例は、コマンド制御構成が複数のレベルで適用される場合に、どのように優先順位が付けられるかを示しています。

ケース1:アカウント + リソース + リソースグループ - SSHセッションが3つのレベル(アカウント、リソース、リソースグループ)すべての構成によって管理されている場合、アカウントレベルの構成が優先されます。

優先順位:アカウント << リソース << リソースグループ

ケース2:リソース + リソースグループ - リソースレベルとリソースグループレベルの両方に構成が存在する場合、リソースレベルの構成が優先されます。

ケース3:複数のリソースグループ - 構成が複数のリソースグループを介して適用される場合、認証された SSH セッションは、関連付けられているすべてのコマンドグループからのコマンドの組み合わせを使用します。