短い答え

フォワードプロキシは、クライアントが外部に接続する際にクライアントを代理します。リバースプロキシは、ユーザーが内部に接続する際にサーバーを代理します。前者はリクエスト元の経路を制御または隠蔽し、後者はトラフィックがアプリケーションに到達する前に保護、分散、および高速化します。

当社の方法論と技術レビューについて

トラフィックの方向、所有権、可視ID、設定ポイント、キャッシング、認証、負荷分散、障害モード、ログ記録、TLS処理、およびセキュリティ境界を比較しました。事例は、認可された企業ネットワークとパブリックアプリケーションを中心に構成されています。

フォワードプロキシとリバースプロキシ

これらの用語は、特定の製品ではなく、役職と責任を表すものです。同じソフトウェアがどちらの役割でも動作する場合もありますが、構成、信頼性、脅威モデルは異なります。

フォワードプロキシとは何ですか?

フォワードプロキシは、1つまたは複数のクライアントと外部宛先の間に配置されます。クライアントはプロキシにリクエストを送信するように設定されており、プロキシはリクエストを許可するかどうかを判断し、送信ルートを選択して、プロキシのネットワークIDを使用してリクエストを転送します。

組織は、送信ポリシー、マルウェアフィルタリング、アクセスログ記録、帯域幅管理、キャッシング、および承認された地域テストのためにフォワードプロキシを使用します。外部サーバーは、クライアントの直接のパブリックアドレスではなくプロキシのアドレスを認識しますが、ブラウザのCookie、アカウント、およびデバイスシグナルによってユーザーを特定できる場合があります。

この記事では、商用フォワードプロキシのオプションとしてBright Dataが挙げられています。使用前に、ネットワークソース、ターゲットのアクセス許可、セッション要件、および課金について評価してください。

プロバイダーレベルの基準については、当社の住宅用プロキシ比較表をご覧ください。

リバースプロキシとは何ですか?

リバースプロキシは、1つまたは複数のオリジンサーバーの前に配置されます。クライアントはパブリックプロキシエンドポイントに接続し、そこでリクエストが終端または転送され、アップストリームアプリケーションが選択され、オリジンサーバーを直接公開することなくレスポンスが返されます。

一般的な役割としては、TLS終端、ロードバランシング、キャッシング、圧縮、認証、Webアプリケーションファイアウォールの適用、レート制限、リクエストの正規化、段階的な展開などが挙げられます。リバースプロキシはWebサイトのアーキテクチャの一部であるため、クライアント側で特別なプロキシ設定を行う必要は通常ありません。

フォワードプロキシとリバースプロキシの主な違いは何ですか?

因子フォワード プロキシリバースプロキシ
表し取引実績サーバー
交通方向管理対象クライアントネットワークからの発信アプリケーションへのインバウンド
構成者ユーザー、デバイス管理者、または送信チームアプリケーションまたはプラットフォームの運営者
目的地が見る直接クライアントアドレスではなくプロキシアドレスリバースプロキシをアプリケーションのエンドポイントとして使用する
典型的なコントロールURLフィルタリング、送信ポリシー、クライアント認証TLS、ロードバランシング、WAF、キャッシング、レート制限
失敗の影響クライアントは外部アクセスを失う可能性があります公共サービスが利用できなくなる可能性があります
プライマリログユーザー/デバイスから宛先へのリクエストクライアントからアプリケーションへのリクエストと上流の選択

フォワードプロキシの種類にはどのようなものがありますか?

  • 明示的なHTTPプロキシ: ブラウザまたはアプリケーションには、ホスト名とポート番号が設定されています。
  • SOCKS プロキシ: クライアントとバージョンによっては、ウェブトラフィック以外にも様々なトラフィックを伝送できる汎用トランスポートプロキシ。
  • 透過プロキシ: ネットワークインフラストラクチャは、クライアントによる手動設定なしにトラフィックをリダイレクトするため、情報開示とTLS処理には注意が必要です。
  • 居住用プロキシ: 発信アドレスは消費者向けインターネットサービスプロバイダ(ISP)に関連付けられており、合法的な発信元であるかどうかを評価する必要がある。
  • データセンタープロキシ: アドレスはホスティングインフラストラクチャから生成され、通常は速度とコストが優先されます。
  • 静的プロキシまたはスティッキープロキシ: セッション中、出口の一つが安定して維持される。
  • ローテーションプロキシ: ゲートウェイは、要求または間隔に応じて出口を変更します。

当サイトの無料プロキシサーバー一覧では、匿名公開エンドポイントが認証情報や機密データの取り扱いに適さない理由を解説しています。

リバースプロキシにはどのような種類がありますか?

  • レイヤー7 HTTPリバースプロキシ: ホスト名、パス、ヘッダー、Cookie、またはアプリケーションルールを使用したルーティング。
  • レイヤー4ロードバランサー: HTTPの完全な意味を理解せずに、TCPまたはUDP接続を分散します。
  • APIゲートウェイ: 認証、クォータ、変換、ルーティング、および開発者向けポリシーを追加します。
  • コンテンツ配信ネットワーク: 分散されたエッジロケーションからキャッシュされたコンテンツを提供し、オリジンを保護します。
  • Webアプリケーションファイアウォールゲートウェイ: アプリケーションのリクエストを検査し、定義された攻撃パターンをブロックします。
  • Ingressコントローラー: 外部トラフィックをKubernetesなどのコンテナプラットフォームにルーティングします。
  • サービスメッシュゲートウェイ: サービス間またはサービス内へのIDおよびトラフィックポリシーを適用します。

リバースプロキシを使用するメリットは何ですか?

  • 原産地保護: パブリッククライアントは、アプリケーションサーバーに直接接続するのではなく、エッジに接続します。
  • 負荷分散: ヘルスチェックとルーティングにより、リクエストは健全な上流システムに分散されます。
  • TLS管理: 証明書と暗号化ポリシーは一元管理できる。
  • パフォーマンス: キャッシング、圧縮、接続の再利用、エッジ配信によって、オリジン側の作業が削減されます。
  • セキュリティポリシー: レート制限、認証、リクエストサイズ、WAFルールを一貫して適用できます。
  • 展開制御: 加重ルーティングは、カナリアリリース、ブルー/グリーンデプロイメント、およびフェイルオーバーをサポートします。

リバースプロキシは依然として重要な依存関係です。冗長なインスタンス、テスト済みのヘルスチェック、保護された管理アクセス、および監視可能なアップストリーム障害を活用してください。

フォワードプロキシを使用する利点は何ですか?

  • 流出管理: 管理者は、管理対象デバイスからの通信先とプロトコルを制限できます。
  • 可視性: 中央ログは、マルウェア、データ損失、ポリシー違反の調査に役立ちます。
  • アドレス制御: 承認されたワークロードは、許可リストに登録されている既知の送信アドレスを使用できます。
  • コンテンツ フィルタリング: 組織は、悪意のある、または不適切な宛先をブロックすることができます。
  • キャッシング: 繰り返し提供される公共資源は、規定や方針が許す限り、地域内で提供される場合がある。
  • 地域別品質保証: 承認されたチームは、目的地の位置依存的な動作を再現できる。

フォワード プロキシを使用する必要があるのはなぜですか?

問題が制御対象のクライアント(従業員の送信、ラボのトラフィック、自動化ジョブ、アプリケーション固有のルーティング、または安定した許可リスト登録済み送信アドレスが必要な場合など)から発生する場合は、フォワードプロキシを使用してください。これは、複数のクライアントが1つのポリシーと監査証跡を共有する必要がある場合に特に有効です。

単に「匿名性を確保するため」にプロキシを追加しないでください。正確な経路、データの機密性、ID要件、想定される宛先、ログ記録、データ保持期間、および障害発生時の動作を明確に定義してください。広範なデバイストラフィックや統合的な脅威対策が必要な場合は、VPNまたはセキュアWebゲートウェイの方が適している場合があります。

リバースプロキシを使用するべき理由は何ですか?

単一の制御されたエントリポイントが必要な公開サービスまたは内部サービスを運用する場合は、リバースプロキシを使用してください。証明書の管理、ホスト名とパスのマッピング、リクエスト制限の適用、負荷分散、および変化するアップストリームトポロジーの隠蔽を行うのに最適な場所です。

本番環境のインフラストラクチャとして設計する:冗長性を導入し、証明書を自動化し、管理プレーンを制限し、実際のクライアントアドレスを安全に保持し、タイムアウトを定義し、プロキシとオリジンの両方のレイテンシを監視する。

フォワードプロキシまたはリバースプロキシを使用する際の潜在的な欠点や制限は何ですか?

フォワードプロキシの制限事項

  • 集中型システムの障害が発生すると、多くのクライアントの外部アクセスが遮断される可能性があります。
  • TLS検査は、証明書、プライバシー、法律、および鍵管理に関する義務を導入する。
  • アプリケーションはシステム設定を無視したり、サポートされていないプロトコルを使用したりする場合があります。
  • ログは、ユーザーの活動に関する機密性の高い記録となる可能性がある。
  • ルーティングの不備や出口の過負荷は、遅延と障害発生率を増加させる。

リバースプロキシの限界

  • 設定ミスがあると、エッジの背後にあるすべてのアプリケーションが危険にさらされる可能性があります。
  • タイムアウトやバッファリングが不適切だと、アップロード、ストリーミング、または長時間かかるリクエストが失敗する可能性があります。
  • 冗長性がない場合、リバースプロキシは単一障害点となる。
  • 偽造されたクライアントIPヘッダーを信頼すると、ログやセキュリティ上の判断が損なわれる可能性があります。
  • プライベートな応答やパーソナライズされた応答をキャッシュすると、ユーザー間でデータが漏洩する可能性があります。

フォワードプロキシとリバースプロキシにおけるセキュリティ上の影響と対策戦略

リスク緩和
盗まれたプロキシ認証情報有効期限の短い認証情報、IPアドレスの制限、秘密情報の保管、ローテーション、プロジェクトごとのアカウントを使用する。
オープンプロキシの悪用認証を必須とし、送信先と送信元ネットワークを制限し、異常を監視する。
ヘッダースプーフィング信頼できない転送ヘッダーを削除し、信頼できるエッジに正規値を追加します。
TLSキーの漏洩管理されたキーストレージ、最小権限の原則、自動更新、および監査付きアクセスを活用してください。
キャッシュ汚染またはキャッシュリークキャッシュキーは慎重に定義し、プライベートなレスポンスのキャッシュは避け、アップストリームのヘッダーを検証してください。
サービス拒否レート制限、接続制限、アップストリームタイムアウト、オートスケーリング、およびアップストリーム保護を適用します。
過剰なログフィールドを最小限に抑え、機密情報を伏せ字化し、保持期間を管理し、ログへのアクセスを制限する。

フォワードプロキシとリバースプロキシは連携して動作しますか?

はい。企業クライアントは、送信リクエストをフォワードプロキシ経由で送信し、宛先側はリバースプロキシまたはCDN経由で受信することができます。各仲介者は、それぞれ異なる所有者とポリシー境界に基づいてサービスを提供します。

例えば、従業員のブラウザが会社の送信プロキシに対して認証を行います。そのプロキシは、公開アプリケーションのエッジゲートウェイに接続します。リバースプロキシはTLSを終端し、WAFルールを適用して、リクエストを正常なオリジンにルーティングします。トラブルシューティングには、機密情報を公開することなく、相関ID、同期されたクロック、および両側のログが必要です。

よくあるご質問

同じソフトウェアで、フォワードプロキシとリバースプロキシの両方の役割を果たすことは可能ですか?

はい。一部のプラットフォームは両方の役割をサポートしていますが、リスナー、ポリシー、認証情報、ログ、および信頼境界は別々に使用すべきです。一方の役割向けに設計された構成を、もう一方の役割として公開してはなりません。

フォワードプロキシを使用すると、ユーザーは匿名になりますか?

これは、それを経由してアクセスした宛先からクライアントの直接のIPアドレスを隠しますが、アカウント、Cookie、ブラウザのフィンガープリント、ログ、およびデバイスの信号によってユーザーを特定できる可能性があります。

CDNはリバースプロキシですか?

CDNは一般的に、キャッシュされたコンテンツを提供し、接続を終端し、エッジポリシーを適用し、キャッシュミスをオリジンに転送する分散型リバースプロキシとして機能します。

リバースプロキシでは、TLSはどこで終端すべきでしょうか?

多くの導入事例では、プロキシでTLSを終端し、オリジンサーバーとの間に別の暗号化された接続を確立します。適切な設計は、コンプライアンス、信頼境界、証明書管理、およびパフォーマンスによって異なります。

リバースプロキシはファイアウォールの代わりになり得るか?

いいえ。アプリケーション層のポリシーを適用することはできますが、ネットワークファイアウォール、ホスト制御、ID管理、パッチ適用、セグメンテーション、およびセキュアなアプリケーションコードは依然として必要です。

フォワードプロキシとリバースプロキシのどちらを選ぶべきでしょうか?

プロキシが誰を代表するかに基づいて選択してください。クライアントの送信を制御するにはフォワードプロキシを、サーバーやアプリケーションへのアクセスを制御するにはリバースプロキシを使用します。

結論:リバースプロキシとフォワードプロキシの比較

フォワードプロキシは、送信トラフィックに対するクライアント側の制御ポイントです。リバースプロキシは、受信トラフィックに対するサーバー側の制御ポイントです。両者は類似したソフトウェアやHTTPメカニズムを使用する場合がありますが、所有者、信頼境界、ログ、障害の影響、セキュリティポリシーは異なります。

保護対象とトラフィックの方向を特定することで、役割を選択します。次に、その境界に基づいて認証、TLS、可観測性、冗長性、およびデータ保持を設計します。