web-dev-qa-db-ja.com

リダイレクト(別名、小さなURL)のみを行うドメインは暗号化(https)する必要がありますか?

この質問では、次のドメインを使用します。

  • example.com-オンラインショップ
  • exmpl.com-アイテムの共有に使用されるドメイン。

exmpl.comはリダイレクトに使用されます((http://exmpl.com/foohttps://example.com/items/42にリダイレクトされます)

次の質問があります。

  • exmpl.comを暗号化することはどのくらい重要ですか?
  • httpsまたはhttpのみが含まれている場合、それはまったく重要ですか?
  • もちろん、httpsがない場合、https://exmpl.comにアクセスしようとするとアクセスできなくなりますが、副作用はありますか?
  • 一方、このコンテキストでhttpのみをサポートすることを企業が好むのはなぜですか?
31
Ionică Bizău

リダイレクトサイトはHTTPSを使用する必要があります

メインサイトがHTTPSを使用している場合、リダイレクトサイトも使用する必要があります。

そうでない場合、どのような攻撃が可能か

パッシブアタッカー

  • ユーザーが見たすべてのアイテムを見ることができます
  • 追加情報を取得する可能性があります(ページにリンクされているサイト/チャット)

アクティブな攻撃者

受動的な攻撃者ができることなら何でも、そして...

  • 接続をMITMし、SSLStripなどを使用して、接続がHTTPSにアップグレードされないようにし、パスワードやクレジットカード番号などを監視できるようにすることができます。
  • Cookieを返信に追加して、ユーザーを追跡できるようにする
  • トラフィックをフィッシングサイトやマルウェアをインストールするサイトにリダイレクトできます。

SSLStripなどのツールを停止するために、HTTPを完全に使用しないようにする方法

  • HSTSヘッダーを提供できるため、最初の訪問(およびヘッダーの有効期限が切れた後の最初の訪問)のみがHTTPを使用するため、攻撃者はトラフィックを傍受できません
  • これらの弱点を回避する必要がある場合は、サイトを HSTS Preload List に追加できます。これにより、HTTP接続が阻止されます。
  • これは、メインサイトがHSTSであるかのように両方のサイトに適用する必要がありますが、リダイレクトの場合、攻撃者はHSTSをバイパスして、代わりに制御するサイトにリダイレクトできます。

HTTPSを使用する必要がありますか

通常、[〜#〜]はい[〜#〜]

HTTPSを使用しないで済む状況はほとんどありません。これらすべてを適用する必要があります。

  • データに手動で署名し、常に署名を検証します

  • あなたはあなたのソフトウェアが誰かのマシンで動いていることを知っている人々を気にしません

  • 機密情報を処理しない、またはユーザーが秘密にしたい情報
  • 機密情報が誤ってシステムに送信されることはありません
    • ACARSがその例です。これは機密情報を対象としたものではありませんが、クレジットカード番号が送信されており、発生した問題を認識していません。 [ フォーラム ]
  • 他の有効な署名付きファイルを使用して、誰かがファイルを入れ替えたかどうかを気にしない、または検出できる
  • サービスは機密データを意味しません(病気に関するページは機密ではないかもしれませんが、誰かが病気について検索しているという事実は機密である可能性があります)。
47
jrtapsell

HTTPSではなくプレーンHTTPのみを使用することが適切な場合はほとんどありません。これはおそらくそれらの1つではありません。

次のシナリオを考えてみます。ユーザーがhttp://exmpl.com/fooへのリンクをクリックして、新しいfooを購入したいと考えています。真ん中の男がリクエストを傍受し、正当なものへのリダイレクトの代わりにhttps://example.com/items/42のフィッシングコピーで応答します。ユーザーは、ユーザーのように怠惰であるため、リダイレクト先のURLを確認しません。結局、正しいリンクをクリックしたことはわかっていました。代わりに、クレジットカードの詳細をフィッシングサイトに入力します。彼は正当なサイトでfooを購入していると思いますが、実際には詐欺に遭っています。

確かに、ユーザーはここで間違いを犯しました。しかし、HTTPSだけを使用している場合は問題ではなかったでしょう。

8
Anders

ユーザーがプライバシーを意識している場合、盗聴者が収集できるデータの量を最小限に抑えたいと思うかもしれません。 HTTPSを使用すると、リクエスト全体が暗号化されます。盗聴者は、ユーザーがアクセスしたサーバーと、(およそ)交換されたデータ量のみを認識します。

Exmpl.comがHTTPSを使用しない場合、盗聴者は次のことを知っています。

  • 件名にアクセスしましたhttp://exmpl.com/foo
  • 件名はhttps://example.com/items/42にhttpリダイレクトされました
  • サブジェクトがドメインexample.comの不明な(ただし、推測しやすい)URLにアクセスしました
  • 対象は長い暗号化された応答を受け取りました

HTTPSを使用する場合、すべての攻撃者は次のことを知っています。

  • 件名がドメインexmpl.comの不明なURLにアクセスしました
  • 対象は短い暗号化された応答を受け取りました
  • 件名がドメインexample.comの不明なURLにアクセスしました
  • 対象は長い暗号化された応答を受け取りました

攻撃者は、ユーザーがどのリダイレクトを使用したかを知らないため、ユーザーがitems/42にアクセスしたことを知りません。攻撃者は、これら2つのアクセスが関連していたかどうかも確認できません。

7
Philipp