プロキシ構成

エアギャップ環境やネットワーク制限のある環境で、企業のHTTP/HTTPSプロキシサーバーを経由して通信するようKeeperゲートウェイを構成

概要

エンタープライズ環境では、ネットワークセキュリティポリシーにより、インターネット通信を企業のプロキシサーバー経由にする必要がある場合があります。Keeperゲートウェイは、環境変数およびコマンドラインパラメータによる標準的なHTTP/HTTPSプロキシ設定に対応しており、企業ネットワーク構成との互換性を確保します。

プロキシ対応を有効にすると、ゲートウェイは次の通信を含むすべてのアウトバウンド接続を、指定したプロキシサーバー経由で送信します。

  • KeeperサーバーへのWebSocket接続

  • HTTP/HTTPSのAPI呼び出し

  • ヘルスチェックのエンドポイント

  • バージョン確認リクエスト

  • TURNの認証情報リクエスト

現在、プロキシ対応は検出およびローテーションの操作で利用できます。一方、PAM接続セッション (SSH、RDP、VNC、データベース接続、RDP) は、WebRTCメディアトラフィックのルーティングが複雑であるため、現時点ではプロキシ経由での利用に対応していません。WebRTC接続では、直接的なネットワークアクセス、またはTURNサーバーの構成が必要です。

対応プロキシの種類

Keeperゲートウェイは、次のプロキシ構成に対応しています。

  • HTTPプロキシ: 標準的なHTTPプロキシサーバー (Squid、Apache Traffic Serverなど)

  • HTTPSプロキシ: TLSによるセキュアなプロキシ接続

  • 認証付きプロキシ: ユーザー名とパスワードによる認証が必要なプロキシ

  • バイパスリスト: 特定のドメインまたはIPアドレスをプロキシ経由の通信から除外する設定

構成方法

プロキシ設定は、環境変数またはコマンドラインパラメータのいずれかで構成できます。両方を指定した場合は、コマンドラインパラメータの設定が優先されます。

1. 環境変数

環境変数を使用すると、ネットワーク通信を行うすべてのアプリケーションに対して、標準的な方法でプロキシ設定を構成できます。これらの変数は、多くのネットワークツールやライブラリで認識されます。

対応環境変数

Keeperゲートウェイでは、次の環境変数が認識されます (優先順位順)。

  1. HTTPS_PROXY または https_proxy: 主に使用されるプロキシ設定 (推奨)

  2. HTTP_PROXY または http_proxy: フォールバック用のプロキシ設定

  3. NO_PROXY または no_proxy: プロキシを経由しないホストを指定するバイパスリスト

これらは、多くのアプリケーションやプログラミング言語で使用されている標準的な環境変数名です。Keeperゲートウェイもこの業界標準に従っており、既存のインフラストラクチャとスムーズに統合できます。

環境変数の設定方法

Linux/macOS

Windows (コマンドプロンプト)

Windows (PowerShell)

認証ありの場合

プロキシURLに認証情報を含めます。

パスワードに含まれる特殊文字はURLエンコードする必要があります。例えば、p@ssw0rdp%40ssw0rd になります。

2. コマンドラインパラメータ

コマンドラインパラメータを使用すると、より柔軟に設定できます。また、環境変数と併用した場合は、コマンドラインパラメータの設定が優先されます。

利用可能なパラメータ

パラメータ
説明

--proxy-url

オプションの認証情報を含む完全なプロキシURL

http://proxy.company.com:8080

--proxy-host

プロキシサーバーのホスト名またはIPアドレス

proxy.company.com

--proxy-port

プロキシサーバーのポート番号

8080

--proxy-username

認証用ユーザー名 (必要な場合)

myuser

--proxy-password

認証用パスワード (必要な場合)

mypassword

--no-proxy

バイパスするホストのカンマ区切りリスト

localhost,127.0.0.1,.internal

プロキシを使用したDockerでのデプロイ

DockerでKeeperゲートウェイをデプロイする場合は、docker-compose.ymlファイルでプロキシ設定を構成します。

Docker Compose構成

ゲートウェイサービスにプロキシの環境変数を追加します。

プロキシサーバーは、ゲートウェイコンテナからアクセスできる必要があります。外部プロキシを使用する場合は、ネットワーク接続が確保されていることを確認してください。同じDocker Composeスタック内にプロキシコンテナを配置する場合は、depends_onセクションに含めてください。

エアギャップ化されたDocker環境の例

完全なネットワーク分離を実現する場合は、専用のプロキシコンテナと併せてゲートウェイをデプロイします。

この構成では、以下を行います。

  • ゲートウェイコンテナはインターネットへ直接アクセスできません (internal: true のネットワークのみを使用)

  • すべてのインターネット通信は、必ずプロキシコンテナを経由します

  • プロキシコンテナが、エアギャップ環境とパブリックネットワークを中継します

  • 内部サービス (データベース、アプリケーションサーバーなど) は、プロキシを経由せずに通信します

構成の優先順位

複数の構成ソースが存在する場合、Keeperゲートウェイでは次の優先順位(上位から下位)で設定が適用されます。

  1. 個別のコマンドラインパラメータ (--proxy-host--proxy-portなど)

  2. --proxy-url コマンドラインパラメータ

  3. HTTPS_PROXY 環境変数

  4. https_proxy 環境変数

  5. HTTP_PROXY 環境変数

  6. http_proxy 環境変数

バイパスリストの場合

  1. --no-proxy コマンドラインパラメータ

  2. NO_PROXY 環境変数

  3. no_proxy 環境変数

プロキシURL形式

プロキシURLは以下の標準URI構文に従います。

基本的なHTTPプロキシ

HTTPSプロキシ

認証付きプロキシ

パスワードに特殊文字を含むプロキシ

ユーザー名やパスワードの特殊文字はパーセントエンコーディングを使用してURLエンコードします (例: @%40!%21)。

NO_PROXYバイパスリスト

NO_PROXY 設定を使用すると、特定のホストをプロキシ経由の通信から除外できます。これは以下のようなケースで役立ちます。

  • 同一ネットワーク内の内部サービス

  • プロキシアクセスを必要としないローカルリソース

  • プロキシ経由では動作しないサービス

バイパスリストの形式

バイパスリストは、カンマ区切りで指定します。

  • 完全一致のホスト名: localhost, internal-server

  • IPアドレス: 127.0.0.1, 192.168.1.100

  • ドメインサフィックス: .internal.com, .local(すべてのサブドメインに一致)

基本的なバイパスリスト

ドメインサフィックスを含める場合

Docker内部サービスを除外する場合

スペースは自動的に削除されます。そのため、localhost, 127.0.0.1localhost,127.0.0.1 は同じ動作になります。

検証

1. 構成の確認

プロキシ設定を適用してゲートウェイを起動した後、ログを確認して設定が反映されていることを確認します。

2. プロキシ接続のテスト

ゲートウェイを起動する前に、プロキシへアクセスできることを確認します。

Linux/macOS

Windows (PowerShell)

プロキシが認証を要求する場合

最終更新