リバースプロキシとは、外部のインターネットからサーバへアクセスする通信を中継する仕組みのことを指します。ネットワークの構成において、重要な役割を果たしており、リバースプロキシを活用することで、負荷分散やWebサイトの高速化、セキュリティの向上などに大きな効果があります。リバースプロキシを中継させることで、Webサーバの改ざんリスクを低減できる一方で、リバースプロキシ自体がサイバー攻撃の対象となる恐れもあり、適切な保守・管理を行うことが肝要になります。

同じ処理を行う複数のサーバを配置し、負荷を軽減

「プロキシ」とは日本語で「代理」という意味があります。IT用語としては、企業などの組織内部のネットワークからインターネットに接続する際に中継の役割を担うサーバのことを指し、「プロキシサーバ」とも呼ばれています。一方で、「リバースプロキシ」は、インターネットへ接続する方向がプロキシと正反対の方向になるため、プロキシの前に「リバース(逆)」を付けて呼んでいます。両者を区別するために、プロキシのことを「フォワードプロキシ」と呼ぶこともあります。

リバースプロキシを導入したシステムでは、Webサイトを表示する仕組みは次の通りです。まず、クライアントコンピューターからインターネット経由でリクエストを送信した後、送信先URLに割り当てられたリバースプロキシに、そのリクエストが送信されます。続いて、リバースプロキシがコンテンツを保有するWebサーバへリクエストを転送すると、それに対応してWebサーバがリバースプロキシにコンテンツを返送します。そして、リバースプロキシは、受け取ったコンテンツをクライアントコンピューターへ送信するという流れです。

リバースプロキシのメリットは、リバースプロキシに割り当てたURLの下に複数のサーバを統合し、送られてきた内容に応じてリクエストを振り分けることができることです。リバースプロキシの後に、同じ処理を行うサーバを複数用意しておくことによって、大量のアクセスが同時に集まった場合でも、それぞれのサーバにアクセスを振り分けることができるため、負荷を分散することができます。

またリバースプロキシを中継して送信されたコンテンツは、一定期間キャッシュ(一度読み込んだ情報を一時的に貯蔵すること)として保存することが可能です。最初にリクエストしたユーザとは別のユーザが同じコンテンツの表示を要求した場合、一時的に保存されていたキャッシュが送信されるので、Webページを高速に表示することが可能になります。キャッシュを利用している間は、サーバからリバースプロキシへのコンテンツのデータ送信が発生しないので、サーバへの負荷が軽減される効果もあります。

リバースプロキシ上でSSL通信の暗号化・復号化処理

リバースプロキシのもう一つのメリットは、SSL通信を行う際のWebサーバの負荷軽減です。SSL通信は、インターネット上におけるデータの送受信を狙った盗聴やなりすましを防ぐために、インターネット上の通信を暗号化する技術です。これによって、ECサイトで買い物をした際のクレジットカード情報の悪用などを防ぐことができます。

その仕組みは、次の通りです。Webサーバは公開鍵が付いたSSLサーバ証明書をユーザのブラウザに送付します。ブラウザはサーバから送付されたSSL証明書を検証し、その後の暗号化通信の際に利用する共通鍵を暗号化し、サーバ側に送信します。サーバはあらかじめ公開鍵とペアで持っている秘密鍵を用いて、受け取った共通鍵を復号化します。

通常は、Webサーバ上で行われるSSL通信の暗号化・復号の処理をリバースプロキシ上で行うことによって、Webサーバの負荷を軽減することができます。また、ユーザとリバースプロキシ間の通信は暗号化されますが、リバースプロキシとWebサーバ間の通信は暗号化されません。

リバースプロキシがサイバー攻撃の対象となる可能性も

また、リバースプロキシを中継サーバとして加えることにより、不正アクセスを狙う攻撃者はWebサーバに対する直接のアクセスできなくなるため、Webサイトの内容が改ざんされるリスクを低減させる効果も期待できます。

この時リバースプロキシは、インターネットなどの外部ネットワークと社内ネットワークの中間につくられるネットワーク上のセグメントであるDMZ(DeMilitarized Zone、非武装ネットワーク)に設置されるのが一般的です。内部のLANはファイアウォールで保護されますが、リバースプロキシは外部からの直接アクセスにされるため、サイバー攻撃の対象となる危険性が高まるので、適切なセキュリティ対策を施すことが求められます。


リバースプロキシを利用した二要素認証システム「SecureVisit」
SecureVisit

関連記事

ChatGPTに多要素認証(MFA)を導入

多要素認証(MFA)にはクラウドで

Microsoft Office 365の多要素認証(MFA)について

Authenticatorアプリの代替機を使った多要素認証(MFA)

Salesforceの多要素認証(MFA)の設定方法

Google/Microsoft/Salesforceなど、各種MFAのAuthenticatorについて

Amazon Web Services(AWS)MFAを必須化

コピープロテクトに最適なUSBドングル

PCI DSS v4.0への更新で重要性増す多要素認証(MFA)

Microsoft Entra ID – Azure ADから名称変更