【ITニュース解説】Three ways into a client's on-prem server, and where the client's switch sits
2026年11月05日に「Dev.to」が公開したITニュース「Three ways into a client's on-prem server, and where the client's switch sits」について初心者にもわかりやすく解説しています。
ITニュース概要
オープンソースツールOPMが、オンプレミスサーバーへのアクセス方法を3つ追加した。ブラウザトンネルの暗号化、クラウド経由のGUI提供、ポートフォワード機能で、セキュリティと利便性を向上。顧客が機能を制御し、データ管理権を保持できる設計だ。
ITニュース解説
今回、On-Premise Manager(OPM)というオープンソースツールに、セキュリティと利便性を大きく向上させる三つの重要な変更が加えられた。OPMは、企業が自社のデータセンターやオフィス内に設置したサーバー(これを「オンプレミスサーバー」と呼ぶ)上で、Dockerという技術を使ってアプリケーションを動かすための管理ツールだ。クラウドサービスのようにウェブブラウザから操作できる「クラウドコンソール」と、各サーバーに配置する小さなプログラムである「Goエージェント」という二つの要素で構成されている。今回の更新では、このエージェントがサーバーにアクセスする方法が三通りに増え、特にセキュリティの強化と管理の柔軟性が注目されている。
一つ目の変更は、「ブラウザトンネルのエンドツーエンド暗号化」である。インターネットに接続できないような特殊な環境では、エージェントがクラウドと通信する際に、ユーザーが使っているウェブブラウザのタブを一時的な「トンネル」として利用していた。これは、エージェントがブラウザに、代わりにクラウドから情報を取ってきてもらう仕組みだ。しかし、これまではこの通信が暗号化されておらず、秘密情報や認証データなどがブラウザのタブを経由する際に、もし通信が傍受されると内容が第三者に知られてしまうリスクがあった。特に、社内ネットワーク(LAN)内での通信では、エージェントの操作画面(GUI)自体が暗号化されていないHTTP(平文)で動作する場合もあり、セキュリティ上の懸念があったのだ。 今回の変更で、このブラウザトンネルは「エンドツーエンド暗号化」に対応した。これは、通信の出発点であるエージェントから終点であるクラウドまで、データが完全に暗号化された状態で送受信されることを意味する。具体的には、エージェントが送る各リクエストは、X25519という公開鍵暗号方式の鍵で「封印」される。そしてクラウド側は、AES-256-GCMという強力な暗号化方式で応答を返す。これにより、ブラウザのタブが運ぶのは、もはや解読できない「暗号文(サイファテキスト)」だけになったため、途中で傍受されても内容を知られる心配がなくなった。 この暗号化には、エージェントの設定ファイルに固定された特別な「リリース鍵」による認証が必須となる。もし鍵が不正であるか、署名が間違っていれば通信は失敗し、その原因がすぐに表示される仕組みだ。また、開発や検証の目的で、意図的に暗号化なし(クリア)で実行することも可能だが、その場合は必ず記録されるため、セキュリティ監査の際に履歴を確認できる。 さらに、セキュリティレビューの結果、過去の通信データを再利用して不正な操作を試みる「リプレイ攻撃」への対策も施された。具体的には、各応答の開始時にランダムな32バイトの「ソルト」(一時的な乱数)を生成し、これを用いて通信ごとに異なる鍵を派生させることで、同じ鍵と初期値の再利用による脆弱性を解消している。ただし、ブラウザのタブは、通信が行われたという事実、そのデータのサイズ、通信にかかった時間などは把握でき、通信を途中で遮断することもできる。古いエージェントは、更新されてリリース鍵が追加されるまでは暗号化されない状態で動作する。
二つ目の変更は、「エージェントGUIのクラウド独自ドメインでの提供」である。以前は、各サイトのエージェントGUIにアクセスするには、そのエージェントに接続するための特別な情報やポート番号を個別に管理する必要があった。今回の変更により、各サイトのエージェントGUIは、OPMクラウドの専用ドメイン下の特定のパスで直接開けるようになった。これにより、ユーザーは一度クラウドにログインすれば、そこからすべてのエージェントGUIにアクセスできるようになり、管理が非常に簡素化された。 この新しい方式では、クライアント企業側がエージェントに接続するための特別な鍵を用意したり、外部からアクセス可能な追加のポート(通信口)を開放したりする必要がない。これは、エージェントが常にクラウドに対して「何か仕事がないか」と、外向きのHTTPS通信で問い合わせる仕組みになっているためで、クラウド側からエージェントへ直接ネットワーク越しに呼び出すことはないからだ。この「アウトバウンドHTTPS」という方式は、企業のファイアウォール設定を簡素化し、同時にセキュリティリスクも低減するメリットがある。 さらに、この方式を通じて行われたすべての操作は、その操作を行ったユーザーのクラウドメールアドレスと共に、サイト側のログに記録される。GUI上にも「クラウド経由」であることが明示されるため、どのような操作がいつ誰によって行われたかが明確になり、透明性が高い。 この機能はデフォルトで有効になっているが、クライアントの判断で無効にすることもできる。その場合は、サイトのエージェントGUIで設定を変更すれば、即座にリモートセッション(クラウド経由のアクセス)は終了する。ただし、セキュリティ上の理由から、リモートセッション中はこの設定を切り替えることはできない。
三つ目の変更は、「ポートトンネル機能」の導入である。これは、オンプレミスサーバー上にある特定のポート(例えば、Dockerコンテナが使用するポート、サーバーの特定のTCPポートなど)を、クラウド上のOPMのVM(仮想マシン)のポートに転送する機能だ。これにより、オンプレミス環境にあるウェブサイト、API(アプリケーション・プログラミング・インターフェース)、データベースなど、様々なTCPベースのサービスに、クラウド経由で安全にアクセスできるようになる。 例えば、通常は外部インターネットに公開されていない内部のデータベースに、開発者が自身のクラウド環境からアクセスして作業したい場合などに非常に有効である。また、独自のクラウドへの通信経路を持たないサイトでも、このトンネルを通じて他のサイトやクラウドサービスと通信させることが可能になる。 このトンネルは、OPMのクラウドコンソールで設定を追加できるが、追加しただけでは有効にはならない。実際にトンネルを有効にするには、各サイトのエージェントGUIにアクセスし、そこで「Agent」メニューの「Tunnels」セクションにあるスイッチをオンにする必要がある。これにより、どのトンネルを有効にするかの最終的な決定権が、あくまでオンプレミス環境を管理するクライアント側にあることが保証されている。 ただし、この機能を利用する際にはセキュリティ上の注意点も存在する。このトンネル機能のスイッチは、クラウド経由で開いたエージェントGUIからも操作できてしまうため、クライアントがこの機能の有効/無効の決定権を完全にオンプレミス側に留めたいのであれば、前述のリモートGUIアクセス自体も無効にしておくべきである。また、公開されたポートにはOPM独自のログイン認証機能はない。アクセスしてきたユーザーは、直接トンネルのターゲット(転送先のサービス)に到達するため、ターゲット自身の認証機能がセキュリティの要となる。
これらの新しい機能の根底にあるのは、顧客がEnvizom(OPMを提供する会社)のサービスを導入する主な理由である「データのローカル管理」を尊重するという考え方である。企業は自分たちのデータを自社で管理し、そのデータへのアクセス経路をどれだけ許可するか、その決定権も自分たちで持ちたいと考える。今回追加されたセキュリティとアクセス制御の「スイッチ」がクライアント側にあるのは、まさにこの要望に応えるためだ。もしこれらの新しい機能に不都合があれば、エージェントGUIから簡単に無効にでき、それでもシステムは問題なく稼働し続ける。これは、利用者に最大限の制御と安心を提供する設計思想の表れである。