Dockerにインストール
KeeperゲートウェイをDockerにインストール

概要
本ページでは、Docker上でKeeperゲートウェイのインストール、設定、アップデート方法を取り扱います。DockerコンテナはRocky Linux 8のベースイメージを使用し、DockerHubでホストされています。
PAMの全機能を利用するには、x86 AMDプロセッサーを搭載したLinuxホストをご使用ください。
要件
x86 AMDプロセッサーを搭載したLinuxホスト
docker
およびdocker-compose
がインストールされていること (LinuxへのDockerインストールのページをご参照ください)
備考: サーバー環境ではdocker-compose
の構文を使用しますが、ローカルのDocker Desktopではdocker compose
(スペースなし) を使用する場合があります。
ゲートウェイを作成
新しいゲートウェイの展開は、ウェブボルトかデスクトップアプリ (17.1以降) から [新規作成] > [ゲートウェイ] をクリックして作成します。
また、コマンダーCLIからゲートウェイと構成ファイルを作成することもできます。
pam gateway new -n "<Gateway Name>" -a <Application Name or UID> -c b64
アプリケーション名とUIDは、secrets-manager app list
コマンドで確認できます。
インストール
Docker Compose
Docker Composeファイルは、ボルトUIを通じて提供されます。通常、このファイルはローカル環境にdocker-compose.yml
として保存し、任意のフォルダに配置します。以下はDocker Composeファイルの例です。
services:
keeper-gateway:
platform: linux/amd64
image: keeper/gateway:preview
shm_size: 2g
security_opt:
- "seccomp:docker-seccomp.json"
environment:
ACCEPT_EULA: Y
GATEWAY_CONFIG: XXXXXXXXXXXXXXXXX
必要な環境変数はGATEWAY_CONFIG
のみとなります。この変数はゲートウェイデバイス作成時に生成されるbase64エンコードされた構成です。
SecCompファイル
docker-seccomp.json
というファイルをダウンロードし、Docker Composeファイルと同じフォルダに配置します。
ログ
Keeperゲートウェイのプレビュー版を実行する際、ログに以下のような出力が表示されます。
docker compose logs keeper-gateway

ボルト内の [シークレットマネージャー] 画面から、[アプリケーション] > [ゲートウェイ] へ移動します。ゲートウェイが [オンライン] と表示されます。

ゲートウェイサービスの管理
サービス起動
docker compose up -d
サービス停止
docker compose stop
サービスの再起動
docker compose restart
ゲートウェイコンテナへ接続
docker compose exec keeper-gateway bash
デバッグを有効にする
ゲートウェイで詳細なデバッグログを有効にするには、Docker Composeファイルに以下の環境変数を追加してデバッグログを有効にしてください。
services:
keeper-gateway:
.....
environment:
KEEPER_GATEWAY_LOG_LEVEL: "debug" # logs for gateway
LOG_LEVEL: "debug" # logs for guacd
デバッグを有効にした後、docker compose restart
コマンドを使用してサービスを再起動します。
ログをリアルタイムで追跡
docker compose logs -f keeper-gateway
アップデート
以下のコマンドを実行すると、Keeperゲートウェイコンテナが最新版にアップデートされ、サービスが再起動します。
docker compose pull
docker compose down
docker compose up -d
自動的に起動
docker-compose.yml
ファイルに「restart」パラメータを追加することで、環境に再起動ポリシーが適用されます。
restart: always
再起動の際にゲートウェイを起動
Docker環境でKeeperゲートウェイを自動起動させるには、以下の手順を実行してください (Linuxホストの場合)。
最初に、/etc/systemd/system/keeper-gateway.service
に.service
ファイルを作成します。
[Unit]
Description=Keeper Gateway Docker Compose
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/ec2-user
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
User=ec2-user
Group=docker
[Install]
WantedBy=multi-user.target
備考
/home/ec2-user
をdocker-compose.yml
が保存されているパスに置き換えます。ec2-user
を Docker を実行するユーザーに置き換えます。docker
グループを、定義されたグループに置き換えます。
その後サービスを有効にします。
sudo systemctl daemon-reload
sudo systemctl enable keeper-gateway.service
sudo systemctl start keeper-gateway.service
ホストインスタンスへの接続
Keeperゲートウェイの便利な機能の一つに、ホストマシンへの接続やトンネルを開く機能があります。Docker Composeファイルにextra_hosts
セクションを追加し、値をhost.docker.internal:host-gateway
と設定すると、ホストへのセッションを直接開くことができます。
以下はゲートウェイコンテナを含むdocker composeの例となります。
services:
keeper-gateway:
platform: linux/amd64
image: keeper/gateway:preview
shm_size: 2g
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
security_opt:
- "seccomp:docker-seccomp.json"
environment:
ACCEPT_EULA: Y
GATEWAY_CONFIG: xxxxxxxx
このオプションを有効にすると、ホストへの接続を確立できます。例えば、SSH接続を開くには、以下の手順を実行します:
SSH秘密鍵を使用してPAMユーザーレコードを作成します。
ホスト名を
host.docker.internal
、ポートを22
にしてPAMマシンレコードを作成します。PAM設定でPAMユーザーを指定し、SSH接続を有効にします。
ホストからKeeperゲートウェイサービスを更新する
KeeperPAMを使用してホストサービスにSSH接続している場合、バックグラウンドでゲートウェイのコンテナ更新を実行することでコンテナを更新できます。
docker-compose pull
nohup docker-compose up -d keeper-gateway &
ネットワーク構成
Keeperゲートウェイはアウトバウンド専用の接続を確立するため、インバウンドのファイアウォールルールは必要ありません。ただし、以下のアウトバウンド接続は許可されている必要があります。
Keeper Cloud (keepersecurity.[com|eu|com.au|jp|ca|us])
TLSポート443
Keeper Cloudと通信して、ネイティブプロトコル (例: SSH、RDP) を使用して対象インフラストラクチャへアクセスします。
Keeper KRelay Server (krelay.keepersecurity.[com|eu|com.au|jp|ca|us])
ポート3478でのTCPおよびUDP通信を許可する必要があります。 また、TCPおよびUDPのポート49152〜65535へのアウトバウンドアクセスも許可されている必要があります。
エンドユーザーのボルトと対象システム間で、ゲートウェイを介した安全かつ暗号化されたリレー接続を実現します。
ゲートウェイでは、すべての暗号化および復号化処理をローカルで実行することでゼロ知識を保持します。Keeperクラウドとの通信にはKeeperシークレットマネージャーのAPIを使用します。
参考資料
最終更新