SKYSEA Client Viewは、インターネット経由で各種情報を収集するためにHTTPゲートウェイサーバー機能を有しています。
社内ネットワークに接続していないクライアントでもインターネットに接続していれば、HTTPS通信で資産情報やログの情報を収集できる、という機能になります。
以下のような構成イメージとなります。
<サーバー構成>
このHTTPゲートウェイサーバーを、お客様がお持ちのDMZ環境に配置してインターネットに公開していただく想定なのですが、お客様のポリシー上、Webアクセスは一律リバースプロキシサーバーで、受ける構成を取る必要があるとのご要件をいただくことがあります。
外部からのHTTPSによるSSL暗号化通信はリバースプロキシサーバーで一律終端し、リバースプロキシサーバーからHTTPで内部のWebサーバーへ転送する構成となります。
結論として、リバースプロキシサーバーでHTTPリクエストを改変・ドロップすることなく、クライアントからのHTTP(S)リクエストがHTTPゲートウェイサーバーへ到達できる環境をご用意いただければ、問題なく動作するものと想定しています。
※ただし、環境設定により動作しないといったケースはございます。
実際にあった事例として、WAFがリバースプロキシ機能を担うケースで、WAFの動作によりHTTPリクエストの中身を改変されてしまい、SKYSEA Client Viewが正しく読み取れなかった、といったものもございます。
そのため、事前に検証していただくことをおすすめいたします。
製品のお貸出しについて、必要に応じて弊社営業までご依頼ください。
上記のようなお問い合わせをいただく中で、一般的なリバースプロキシサーバーの役割や、得られる効果について調べた内容をまとめました。
また、手元に検証できる環境が欲しかったため、Ubuntuで実際にリバースプロキシサーバーを構築し動作検証を行った際の構築方法も簡単ですがご紹介いたします。
リバースプロキシサーバーの役割
Webサーバーへのアクセスを代理で受け取り、実際のWebページを提供するサーバーへリクエストを転送する役割を担います。
応答もリバースプロキシサーバーを介して行われます。
通常のプロキシサーバーとの違いは、クライアントからのリクエストをWebサーバーへ転送する点は同様ですが、リクエストを送る側と受ける側で役割が異なっております。
リバースプロキシサーバーを配置することにより、後述のさまざまなメリットを見込むことができます。
リバースプロキシサーバー導入により得られる効果
- セキュリティの向上
すべてのWebサーバーへの通信がリバースプロキシサーバーを通過するように設計すれば、リバースプロキシサーバーでセキュリティを考慮すればよいことになります。
- 処理負荷の軽減
HTTPSのSSL通信を終端するのがリバースプロキシサーバーとなるため、Webサーバー側で復号化処理を行う必要がなくなります。
Webサーバー側ではWebのサービス処理に専念することができ、より多くのリクエストにリソースを割り当てることができるようになります。
- 負荷分散
社内に複数あるWebサーバーへ、リクエストを適切に分散して転送する機能を持っています。
ECサイトを運営する場合、当然サービスを止めないためにサーバーを複数台用意されると思いますが、複数の転送先を指定しておけば、同一のURLへのリクエストを複数のWebサーバーに振り分けることができます。
Squidでのリバースプロキシサーバー構築、動作検証
SKYSEA Client ViewからのHTTPリクエストのあて先にリバースプロキシサーバーのURLを指定し、リバースプロキシサーバーでは転送先をHTTPゲートウェイサーバーに設定し、情報が更新される動作を確認する目的で検証を実施いたしました。
その際のリバースプロキシサーバー構築手順を、ご参考までにご紹介いたします。
※SSL暗号化について、今回は考慮しませんでしたが、実際はインターネットに公開するには必須の設定となるかと存じます。
Ubuntu 22.04.4環境を準備し、Squidでリバースプロキシサーバーを構築しました。
1. Squidのインストール
sudo apt update
sudo apt install squid
2. Squidのステータス確認
sudo systemctl status squid
3. squid設定ファイルのバックアップ
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
4. 設定ファイルの編集
etc/squid/squid.conf の内容をすべて削除し以下の設定内容を記述
http_access allow all
http_port 80 accel defaultsite = 転送先サーバーのFQDN
cache_peer 転送先サーバーのFQDN parent 80 0 noquery originserver
visible_hostname リバースプロキシサーバーのFQDN
5. Squidサービスの再起動
sudo systemctl restart squid
以上、HTTPゲートウェイサーバー構成でSKYSEAをご検討いただく際のご参考となれば幸いです。