For the complete documentation index, see llms.txt. This page is also available as Markdown.

KCM Version 2.10.0

2022年11月25日リリース

新機能

  • KCMのARM対応

  • ユーザー単位のKSMボルト

  • Cloud Connector (EC2) 向けKSM対応

KCMのARM対応

PRIV-130: RPMおよびDockerイメージ (kcm-setup.runを含む) が、x86_64に加えてARMにも対応しました。動作自体に変更はなく、ARM環境へのインストールに対応した点のみが変更点です。

ユーザー単位のKSMボルト

PRIV-170: この機能を有効にすると、ユーザーは「設定」画面の「プレファレンス」タブから、自分自身のKSMボルトをKCMに登録できるようになります。登録したボルトは、管理者がユーザー提供のシークレットを受け入れるように構成した接続で使用されます。

この機能はデフォルトで無効になっています。有効にするには以下の両方の設定が必要です。

  • guacamole.propertiesksm-allow-user-configプロパティを設定する (Dockerイメージkeeper/guacamoleの場合は、環境変数KSM_ALLOW_USER_CONFIGを設定する)。

  • 管理者が構成したボルトのみを使用すべきでない接続で、ユーザーボルトの利用を有効にする (該当する接続の「ユーザー提供のKSM構成を許可する」チェックボックスをオンにする)。

注: 「管理者が構成したボルト」とは、guacamole.propertiesで構成されたシステム全体のボルトや、接続グループを介して構成されたボルトなど、管理者のみが制御するボルトを指します。

この仕組みを採用しているのは、そうしなければセキュリティ上の問題が生じるためです。管理者がどの接続にユーザーボルトからの認証情報を渡すかを個別に指定できない限り、ユーザーが自分のボルトを登録できるようにすると、そのユーザー自身がKSMの値を使用する接続パラメータを制御できてしまいます。KSMトークンを使用する接続パラメータの内容によっては、ユーザーが意図せずパラメータの値を制御できる状態が、重大なセキュリティ上の問題につながるおそれがあります。例:

  • ユーザーがRDPドライブのパスの一部を制御できる場合、サーバー上の任意のファイルを読み取れてしまいます。

  • ユーザーが認証パラメータを制御できる場合、管理者の意図に反して、接続時に使用される認証情報を自分で決められてしまいます。

  • ユーザーがホスト名やポートを制御できる場合、同様に管理者の意図に反して、その接続に関連付けられた認証情報を使って任意の場所に接続できてしまいます。

Cloud Connector (EC2) 向けKSM対応

PRIV-163: KCMのCloud Connectorが、AWS EC2上のマシンについて、KSMからSSHキーとWindowsパスワードを取得できるようになりました。これは、ファイルシステム (/etc/guacamole/cloud-connector-secrets以下) からSSHキーを取得する既存の機能に加えての対応です。

KSM連携全般と同様に、AWSに関連するKSM構成はaws-discovery-ksm-configプロパティ (Dockerの場合は環境変数AWS_DISCOVERY_KSM_CONFIG) で設定する必要があります。

対象となるレコードは、以下の基準で識別されます。

  • インスタンスIDに完全に一致する「Instance」フィールドを持つレコード (該当するレコードが1件のみの場合)。

    • フィールド名の表記には一定の揺れが許容されます。フィールド名の先頭に「AWS」「EC2」「Amazon」のいずれかが付いていてもよく、末尾に「ID」が付いていてもよく、大文字・小文字は区別されません。

  • インスタンスのキー名に「.pem」を付けた名前に完全に一致する添付ファイルを持つレコード (該当するレコードが1件のみの場合)。

  • EC2インスタンスのプライベートIPアドレスに完全に一致するホスト名/アドレスフィールド (「SSH Key」レコードタイプが提供するものなど) を持つレコード。

SSHキーがファイルシステム上に存在する場合は、KSMへの問い合わせよりも常にそちらが優先して使用されます。

最終更新