Docker Composeインストール

Docker Composeを使用したKeeperコネクションマネージャー のデプロイ

概要

このセクションでは、docker-composeオーケストレーションファイルをカスタマイズすることで、Dockerを使用してKeeperコネクションマネージャーをインストールする方法について取り扱います。

1. Dockerのインストール

Windows

Docker公式の手順arrow-up-rightに従って、Docker Desktopをインストールします。

Linux

LinuxにDockerをインストールするには、ご利用のLinuxディストリビューションに応じて、こちらのガイドarrow-up-right (英語) をご参照ください。

手順 2: Docker Composeファイルの作成

Dockerがインスタンス上で稼働していることを確認したら、docker-compose.yml ファイルを作成し、マシン上の作業ディレクトリに転送する必要があります。

以下では、Keeperコネクションマネージャーのデプロイ向けの docker-compose.yml ファイル例を示します。この例では、SSL証明書にLet's Encryptを使用し、認証用データベースを自動初期化します。MySQLとPostgreSQLの2つのオプションを用意しています。

circle-exclamation

パラメータ

このファイルを目的のKCMインスタンスにコピーします。 以下のフィールドを変更します。

  • KCM_LICENSEには、KCM用のBase64形式のライセンスキーを指定します。このライセンスキーは、Keeper管理コンソールの [コネクションマネージャー] → [オンプレミスライセンスキー] から確認できます。

  • shm_sizeをインスタンスで使用可能な物理メモリのおよそ半分にします。この設定値が低すぎる場合、新しいセッションを開始できなくなります。RBIは、リクエストごとにChromiumインスタンスを起動するため、多くのメモリを使用します。

  • security_optは、seccompセキュリティプロファイルのパスのことで、リモートブラウザ分離用に含めます (こちらを参照)。上記の例では、KCMはライセンスキーがなくても実行できるため、この項目はコメントアウトされています。

  • GUACAMOLE_PASSWORDMYSQL_PASSWORDは一致する必要があり、ランダムに生成された強力なパスワードでなければなりません。パスワードの生成にはKeeperボルトのご使用をお勧めします。バックスラッシュ、ドルマーク、スラッシュなどの記号は使用しないでください。

  • GUACAMOLE_ADMIN_PASSWORDは、デフォルトの「guacadmin」ユーザーのログインパスワードです。これは、ランダムに生成された強力なパスワードでなければなりません。パスワードの生成にはKeeperボルトのご使用をお勧めします。バックスラッシュ、ドルマーク、スラッシュなどの記号は使用しないでください。

  • SSL_HOSTNAMEは、このサーバーを指すように設定されたFQDNでなければなりません。DNSが外部からこのIPにルーティングできるよう設定されていて、Let's Encryptが証明書を登録できるようポート80/443が解放されていることを確認します。

カスタムSSL証明書の使用

Let's Encryptの代わりにカスタムSSL証明書を使用したい場合は、Docker Composeファイルの「ssl」セクションを以下のような内容に置き換えます。

この場合、CERTIFICATE_FILE は、中間証明書チェーンを含むPEMエンコード形式の証明書となります。PRIVATE_KEY_FILE は秘密鍵ファイルです。

また、上記のコードには、ローカルファイルシステムを対象のコンテナに割り当てるボリュームマウントがあることにご留意ください。文字列の C:\Users\Path\To\Cert の部分のみを変更する必要があります。Linux環境では、/path/to/cert となります。

手順 3: Dockerコンテナの起動

Windowsの場合、コマンドプロンプトを開きます。Linuxの場合、ターミナルシェルを開きます。手順2で保存した docker-compose.yml ファイルの場所に移動します。

環境を起動するには、以下のコマンドを入力します。

注: 古いバージョンでは、「docker-compose」のようにハイフンを付けます。

すべてを問題なく行った場合、指定したFQDNでKeeperコネクションマネージャーのログイン画面を開くことができます。

Keeperコネクションマネージャーのログイン画面

注意事項

  • サーバーにルーティングされる適切なドメイン名を設定していない場合は、とりあえずユーザーインターフェースにアクセスしてテストを開始するためにローカルシステムのhostsファイルを書き換えてください。

  • 独自のSSL証明書を使用している場合は、ワイルドカード証明書のご使用はお勧めしません。SSL秘密鍵はデバイスに保存することになるため、Keeperコネクションマネージャーのエンドポイント用に特に作成した証明書を利用することが最適となります。

  • Windowsを使用している場合は、Windows Defenderファイアウォールを変更して、Dockerサービスにポート443を開放する必要があります。

  • docker compose down を実行すると、ユーザー、接続、履歴を含むコンテナ内のすべてのデータが削除されます。コンテナを停止するには、docker compose stop を使用します。

リモートブラウザ分離用構成

セキュリティプロファイル

リモートブラウザー分離を使用する場合は、guacd コンテナ向けに seccomp セキュリティプロファイル を作成する必要があります。Keeperコネクションマネージャーを新規にインストールする場合は、kcm-setup.run スクリプトがこの処理を自動的に行い、guacd-docker-seccomp.json というファイルをインスタンス上の /etc/kcm-setup/ ディレクトリに配置します。

このファイルが自動的に作成されていない場合や、既存のインスタンスをリモートブラウザー分離に対応させるためにアップグレードする場合は、ファイルを手動で作成する必要があります。

Dockerコンテナを更新して起動した後であれば、guacd のDockerイメージから直接ファイルを取得できます。以下の手順により、現在の作業ディレクトリに guacd-docker-seccomp.json ファイルが作成されます。

有効なセキュリティプロファイルファイルをディレクトリに用意したら、docker-compose.ymlsecurity_opt オブジェクトに設定します。

AppArmorプロファイル

KCM 2.20以降では、KCMクライアントでRBIを使用するために AppArmorプロファイルを構成する必要があります。Ubuntuなど、AppArmorを使用するプラットフォームでは、このプロファイルが読み込まれていないとRBIは動作しません。

セキュリティプロファイルの場合と同様に、guacd イメージからAppArmorプロファイルを取得できます。以下のコマンドを実行すると、作業ディレクトリに guacd-apparmor-profile ファイルが作成されます。

作成したプロファイルは、起動時に自動で読み込まれるよう /etc/apparmor.d/ 配下にコピーします。

その後、再起動するか、apparmor_parser を手動で実行して新しいプロファイルを読み込みます。

読み込み後、docker-compose.ymlsecurity_opt オブジェクトに設定します。

KCMクライアントがすでに稼働している場合は、再起動して変更を反映します。

イメージ

以下は各イメージの説明です。

イメージ名
ベースイメージ
説明

Apache TomcatでデプロイされたApache Guacamoleウェブアプリケーション。

RDPやSSHなどのネイティブプロトコルをサポートするApache Guacamoleプロキシデーモンguacd。

Apache Guacamoleデータベーススキーマで自動的に初期化されたMySQLのインスタンス。

Apache Guacamoleデータベーススキーマで自動的に初期化されたPostgreSQLのインスタンス。

KeeperコネクションマネージャーにSSLターミネーションを自動的に提供するNGINXのインスタンス。

🎉インストール完了!

Keeperコネクションマネージャーインスタンスが実行状態となったので、guacadminとしてログインし、接続の設定を開始できます。 以降の手順については、以下のページをご参照ください。

KCMの使用方法chevron-right

インストールガイドの以降のセクションでは、環境をカスタマイズしたり変更したりする場合の、Dockerイメージごとの詳細情報を掲載しております。

最終更新