プロキシサーバー
プロキシ サーバーは、インターネット上で最も単純なプライバシーおよびアクセス ツールです。ユーザーのリクエストを受け取り、ユーザーに代わってリクエストを作成し、結果を返す仲介者です。この単一の間接化により、企業の Web フィルターからコンテンツ配信ネットワーク、地理的ブロックの回避まで、あらゆるものが可能になります。プロキシが何をするのか、そして何をしないのかを理解すると、プロキシをいつ使用するべきか、より強力なプロキシが必要な場合が明確になります。
記事全文は以下に英語で記載されています。
A プロキシ サーバー は、クライアントと宛先の間に位置し、リクエストを双方向に中継します。宛先からはプロキシがユーザーであるように見えます。ユーザーにとっては、プロキシが宛先であるように見えます。この役割の反転は、ソース IP を変更したり、コンテンツをフィルタリングしたり、応答をキャッシュしたり、トラフィックをログに記録したり、地理的制限を破ったりするのに十分です。そして、それは Web 自体が成長する以前の 1990 年代初頭から行われてきました。
フォワード プロキシとリバース プロキシ
最初の語彙の分割が重要です。 forward プロキシ はクライアントの前にあります。ブラウザまたは OS がクライアントと通信するように設定すると、クライアントに代わって外部にリクエストを送信します。これが、人々が通常「プロキシ」という言葉で意味するものです。企業フィルター、家庭用プロキシ、学校コンテンツ ブロッカー、および回避ツールはすべてここに分類されます。
A リバース プロキシ はサーバーの前にあります。インターネットからのリクエストは最初にリバース プロキシに到達し、次に複数のバックエンド サーバーの 1 つにルーティングされ、応答をキャッシュしたり、途中で TLS を終了したりする可能性があります。 Nginx、HAProxy、Cloudflare などが有名な例です。リバース プロキシは、Web サイトの高速化と復元力の向上につながります。IP を隠すこととは何の関係もありません。
HTTP プロキシ、HTTPS プロキシ、および CONNECT
HTTP プロキシ は、HTTP プロトコルを理解します。クライアントは完全なリクエスト URL をプロキシに送信し、プロキシはそれを取得し、応答を返します。プロキシは、ヘッダーの書き換え、Cookie の削除、ページのキャッシュ、または特定の URL の拒否を行うことができます。これはまさに企業 Web フィルターが必要とすることです。
HTTPS の場合、リクエストは暗号化されているため、プロキシはリクエストを読み取ることができません。代わりに、クライアントは HTTP CONNECT host:443 コマンドを発行します。プロキシはそのホストへの生の TCP トンネルを開き、クライアントはそれを通じて TLS を話します。プロキシは、HTTP ゲートウェイというよりも回線レベルのリレーのように動作するようになりました。プロキシは、通信している どの ホストを認識できますが、送信しているものは認識できません。
SOCKS プロキシ: プロトコルに依存しないリレー
SOCKS プロキシ は 1 つ下のレイヤーで動作します。 SOCKS5 は、HTTP を理解せずに、任意の宛先への TCP (または UDP) 接続をネゴシエートし、任意のバイトをトンネルします。そのため、Web ブラウジングだけでなく、SSH、メール、ゲーム トラフィック、カスタム アプリなど、あらゆるプロトコルに役立ちます。 Tor は SOCKS5 インターフェイスを公開し、アプリケーションはそれを使用して Tor ネットワーク経由でトラフィックを送信します。
透過プロキシ
A 透過プロキシ は、クライアントに知られることなくトラフィックを傍受します。通常は、ISP、ホテル、またはコーヒー ショップにあるネットワーク デバイスで、すべてのポート 80 トラフィックを静かに取得し、キャッシュまたはフィルタリング ボックスを通じて中継します。 HTTPS が普及する前は、透過的プロキシはどこにでもありました。現在、プロキシのルート証明書が管理対象デバイスにインストールされているエンタープライズ ネットワークにほとんど限定されています。
住宅、データセンター、およびモバイル プロキシ
商用プロキシ サービスは、公開する IP の種類によって自体を販売しています。
- データセンター プロキシは、安価で高速ですが、明らかに商用です。どのサイトでもアドレスをリストできます。
- 住宅プロキシ は、実際の ISP が割り当てたホーム IP を介してルーティングします。目的地までは一般の利用者と同じように見えます。これらの IP は通常、ユーザー デバイスを出口ノードに変えるモバイル アプリに埋め込まれた SDK から取得されますが、これには明らかな倫理上および同意上の問題があります。
- モバイル プロキシ は、キャリアによって割り当てられたモバイル IP を使用します。これは CGNAT 経由で大量に共有されるため、ブロックするのが非常に困難です。1 つのモバイル IP を禁止すると、何千もの正規ユーザーが排除されます。
Whereプロキシは不十分
プロキシは、ほとんどの場合、VPN と同じ方法でトラフィックを 暗号化します。 HTTP プロキシはリクエストを平文で認識し、SOCKS プロキシは送信したバイトを認識します。 HTTPS で保護されたプロキシ接続を特に使用しない限り、デバイスとプロキシ間のリンクも暗号化されません。プロキシだけではプライバシー ツールとしては弱いのはこのためです。プロキシは見かけの IP を変更しますが、ローカル ネットワークによる接続の監視を防ぐことはほとんどできません。
VPN は、中継する前に暗号化されたトンネルを確立することでこの問題を解決します。トレードオフの詳細については、proxy と VPN の比較 を参照してください。
誰かがプロキシを使用していることを検出する
銀行、チケット販売サイト、地理的に制限されたストリーミングなどの関連サービスは、接続している IP のフィンガープリントを行います。既知のデータセンター範囲、匿名プロキシ リスト、異常な TLS フィンガープリントはすべて、リクエストにフラグを立てます。 プロキシ チェック は、現在の接続に関してこれらのサービスが何を認識しているかを示します。
よくある質問
- プロキシはVPNと同じですか?
- いいえ、VPN はデバイスと VPN サーバー間のすべてを暗号化し、宛先に転送します。通常、プロキシは 1 つのアプリケーションのトラフィックのみを処理し、ユーザーからプロキシまでの区間を暗号化することはほとんどありません。 VPN はローカル ネットワークの監視から保護します。プロキシはそうではありません。
- プロキシは私が何をしているのかを見ることができますか?
- HTTP プロキシは、すべての URL、ヘッダー、Cookie を確認できます。 SOCKS5 プロキシは、接続先のホスト:ポートと生のバイトを確認します。最上位のプロトコルが TLS の場合は暗号化され、それ以外の場合はプレーンテキストになります。特に無料のパブリック プロキシには、認証情報のログ記録と広告の挿入に関する長い歴史があるため、信頼が非常に重要です。
- ストリーミング サービスがプロキシをブロックするのはなぜですか?
- コンテンツライセンスは地理的なものです。米国限定の番組をプロキシ経由で東京からストリーミングできる場合、コンテンツ所有者はそのライセンスを強制する能力を失います。したがって、ストリーミング サービスは、データセンターと既知のプロキシ IP の大規模なデータベースを維持し、それらをブロックします。
- プロキシとリバースプロキシの違いは何ですか?
- フォワード プロキシは、サーバーにアクセスしようとするクライアントに代わって機能し、クライアントを隠します。リバース プロキシは、クライアントからトラフィックを受信するサーバーに代わって機能し、サーバーを隠して負荷分散します。これらは接続の反対側に位置し、反対の問題を解決します。
- 無料のプロキシは安全ですか?
- ほとんどありません。プロキシの運用には帯域幅と CPU がかかります。料金を支払っていない場合、広告インジェクション、認証情報のログ記録、または他のユーザーへの終了容量の販売を通じて、誰かがトラフィックを収益化していることになります。厳格なログなし監査を備えた信頼できる VPN は、無料のプロキシ リストよりも優れたデフォルトです。