プロキシサーバーのセキュリティについて知りたいです。私はいくつかのスレッドを読みましたが、それらすべてが過度に一般的であるか、私が興味のあるポイントを逃しました。悪魔は詳細にあります。
[〜#〜]シナリオ[〜#〜]
悪意のあるエージェントにはプロキシサーバーがあり、HTTPSトラフィックはそれを通過します。 HTTPSで保護されたWebサイトに接続するクライアント。
私の質問
その他の要因を想定したり、最悪のシナリオを想定したりすることはできません。
HTTPS保護のスパンとは何ですか?クライアントと宛先の間のトラフィックを保護しますか、それともプロキシと宛先の間だけですか?
HTTPプロキシを使用すると、クライアントは(HTTP CONNECT要求を使用して)サーバーへのトンネルを要求し、このトンネルを介してクライアントとサーバー間にエンドツーエンドのTLSセッションを作成します。非インターセプトプロキシは、初期ハンドシェイクと暗号化されたデータのみを転送します。
ただし、代行受信プロキシは、プロキシでクライアントからのTLS接続を終了し、プロキシとサーバーの間に新しい接続を作成するため、復号化されたトラフィックにアクセスできます。もちろんプロキシは元のサーバー証明書を使用できないため、クライアントはプロキシによって生成された証明書を何らかの方法で信頼する必要があります。これは、プロキシが信頼されており、クライアントにCA(つまり、企業プロキシ、ローカルアンチウイルス)があるか、クライアントが接続が信頼されていないという警告を明示的に無視したためです。
悪意のあるプロキシが重要なデータを直接傍受するのは簡単です。ささいなこととは、重要な計算能力を使用しないことを意味します。重要なデータとは、IPアドレスなどのメタデータではなく、シークレットやパスワードなどのことです。
いいえ、非インターセプトプロキシは暗号化されたトラフィックのみを認識し、インターセプトプロキシの証明書は適切なクライアントによって信頼されないためです。
SOCKSおよびHTTPプロトコルは、このような攻撃の難易度に違いをもたらしますか。
実際的な違いはありません。クライアントとプロキシの間の初期データのわずかな違いのみです(つまり、HTTP CONNECTとSOCKSハンドシェイク)。
それは、敵対者がプロキシをどうするかによって異なります。ロギングと転送のみを行う場合、攻撃者には限られた詳細(サーバーのホスト名など)が表示されますが、残りはTLSによって保護されます。
プロキシがTLS接続を切断しようとして「実際の」プロキシとして機能する場合、プロキシのルートCAがシステムにインストールされていないと、ブラウザにTLS警告が表示される可能性があります。インストールされている場合、クライアントへの接続は正常に見えます。
これは、現在の環境や重要なデータと見なすものなど、さまざまな要因によって異なります。
たとえば、公共のWi-Fiに接続している場合、データを盗聴することは確かに簡単です。結局のところ、あなたは文字通り、可能な限りあらゆる方向にそれを大声で叫んでいるのです。
公衆Wi-Fiに接続すると思われる場合はさらに悪いことですが、実際には攻撃者によって設定されたホットスポットです。その後、中間者攻撃全体が設計によって構築されます。
有線エンタープライズネットワーク上にいる場合、攻撃者はARPスプーフィングを使用して、ゲートウェイの代わりにそれらに接続させる可能性があります。
他のホストが存在しないホームネットワーク上にいる場合、攻撃者はISPまたは受信サーバーの近くにいる必要があるため、非常に困難になります。
これらのすべての攻撃では、攻撃者は自分の証明書をマシンにルートCAとしてインストールする必要があります。これは非常に困難な作業であり、PKIを信頼できるものにします。
私はSOCKSについてあまり知りませんので、おそらく誰か他の人がそれに答えることができます。