web-dev-qa-db-ja.com

実際、httpをhttpsにリダイレクトするのは悪いことではありませんか?

ServerFaultで質問#570288について2部構成の質問があります。

質問:

httpをhttpsにリダイレクトするのは悪いことですか?

受け入れられた回答(185票):

[...]地獄いいえ。これはとてもいいです。

パート1

その答えは、まあ...間違っていますか? :)

セキュリティの観点から見ると、HTTPをHTTPSにリダイレクトすることは、セキュリティについてほとんど知らないユーザーにとってはひどい考えだと思いますか?

私が理解しているように、HTTP会話は変更される可能性があり、クライアントは知る方法がありません。

悪者がHTTP 302リダイレクトをインターセプトし、evil.com(HTTPS経由のevil.comでさえ)へのリダイレクトに置き換えると、クライアントは完全に気付かないでしょう。

セキュリティの専門家が常にサイトのHTTPSバージョンをブックマークするか、アドレスバーにhttpsと入力することを推奨しているのはこのためです。 ( [〜#〜] hsts [〜#〜] 緩和しますか? HTTPSEverywhere 緩和しますか?)

パート2

これは、答えを更新するためにできることをするのに十分重要ですか?

  • 現在、この質問はStackExchangeネットワークサイトの「ホットネットワークに関する質問」サイドバーに掲載されています。
  • ページの真ん中に埋め込まれたコメントでMITMについての言及が1つあります。
9
daveloyall

HTTPからHTTPSへのリダイレクトは悪いことではありません。悪い点は、セキュリティ機能であるかのようにそれに依存していることです。

このリダイレクトは灯台であり、嵐の中で海で失われた船がどこにいるかを理解し、運が良ければ安全な避難所に到達するためのより良い機会を与えることを目的としています。灯台が嵐を消滅させると誰も主張していません。悪条件のハッピーエンドの確率を改善するだけです。

HTTPからHTTPSへの自動リダイレクトについて言える唯一の悪い点は、complacencyが繁殖することです。ユーザーがエラーをした場合。 HTTPSではなくHTTPとしてWebサイトにアクセスしようとすることにより、自動リダイレクトは彼の誤った方法で持続することを可能にし、不適切なURLが彼をインターネット居住者の正当性にさらしたことを隠しました。このリダイレクトを無効にすることは、より教育的と解釈できます。ただし、この視点はやや非現実的です。ほとんどのWebサイトの所有者はユーザーを教育するの立場にはありません。彼らが望んでいるのは潜在的な顧客の注意を引くです。 Webサイトへのアクセスをより困難にし始めれば、それらはすぐになくなるでしょう。彼らは少しも教育を受けず、ビジネスは苦しむでしょう。

"私たちを殺さないことは私たちをより強くします。"半分以上の狂った哲学者からのキャッチーなフレーズ。しかし、教育政策として必ずしも一般大衆に適用できるわけではありません。人々を殺そうとすることで人々をより強くすることの問題は、時にはあなたが成功するということです-つまり彼らを殺すことです。

Mr spuraticが説明しているように、物事を本当に良くするには、ブラウザーはデフォルトでHTTPSを使用する必要があります。理想的には、Web全体がHTTPSのみである場合:ブラウザが最初にHTTPSを試し、エラーが発生した場合はHTTPにフォールバックする場合、アクティブな攻撃者が障害をシミュレートして強制的にフォールバックできます。 DNSSECと適切なSRVレコードを組み合わせることで、安全な方法で、特定のサーバーをHTTPSのみで使用する必要があることをアドバタイズできますが、これは、どこでも機能する場合にのみ確実に機能します(同じbootstrap = IPv6としての問題)。

一方、リダイレクトは、羊が夜間の田園地帯を歩き回る野獣にまったく気づいていない場合でも、野良羊を厩舎に連れてきます。これは通常、羊が迷子にならないように教えるよりも効率的な方法と考えられています。

13
Tom Leek

問題は2つあります。

  • 今日、ウェブサイト(または他のサービス)が最終的に状態(たとえば、認証されたDNSを介して)であることHTTPS(セキュア)サービスのみを提供HTTPを提供しないHTTP。サービス記録( _srv )仕事をしないでください(問題は完全に無視されませんでしたが、 こちらのhttpsエントリ を参照してください)。HSTSには 避けられない問題 があります。 HTTPからHTTPSへの最初のリダイレクトは、今日必要な悪です。 HTTPS Everywhere(HTTPSを最初に試す)は技術的にはより良い修正ですが、ユーザーのオプトインや重要でない程度の解決が必要なソリューションはユーザーの能力は非常に限られています。 sslstrip これが対処されるまで持続します。 (DNSSECにも同様のブートストラップの問題があり、99%のドメインが署名され、100%のリゾルバーが署名するまで待機します。DNSはしばしば部屋の象です。)
  • (事実上)認証されていないリダイレクトの問題と同様に、HTTPSへの無条件の透過的なリダイレクトは、潜在的な問題(たとえば、HTTPS終端のロードバランサー/リバースプロキシが使用されているときに間違ったprotocol://プレフィックスを持つ絶対URLのアプリケーション生成)を隠す可能性があります。 )。 「セキュア」のようなCookieセキュリティ属性はバンドエイドです。 HTTPSセッションを厳密に維持する機能は不完全です。

思考実験の方法で、SSHクライアントが有益で静かに、最初にtelnetを試してみたと想像してみてください。 SSH接続がほぼ無音でtelnet接続に途中で変わる場合はどうなりますか?このクライアントは、セキュリティを重視する人々の間でどの程度人気がありますか?それが常に「うまくいった」(そしてプラグイン/テーマなどがあった)場合、セキュリティにとらわれずにどれくらい人気があるでしょうか?これはどう違うの? 現代のブラウザに?

ありそうもないメモリ要件、余計なUIの不整合、絶え間ないバックグラウンドの更新は別として、これらは言うまでもありません。

Httpをhttpsにリダイレクトするのは悪いことですか?

HTTPSは優れていますが、認証されておらず、暗号化されておらず、検証不可能なトランスポートを介してリダイレクトが行われていることは、通常、国営宝くじの顧客に関連するある程度の楽観的な見方を示しています。

hTTPをHTTPSにリダイレクトするのはひどい考えです[...]?

完全に真実ではありません。 HTTPS UIインジケーターを常に監視しているユーザーは、自分が正しい場所にいると信じる合理的な理由があり、一定の保護策があります。ただし、これはモーダルユーザーではないようです。

管理者がHTTPSを有効にすることで何らかの一般的なセキュリティ問題がなんとかして解決されると単純に結論付けているのは悪いです。

authenticationintegrity社外秘本当にすべてまたは何もない...

TL; DR:それはひどいアイデアではありません、それはほぼ確実に、それが望むであろう問題を解決しませんが、実行可能な代替手段はありませんそれらを解決します。これを単にユーザーに押し付けても、影響を与えるのはほんのわずかです。キャンペーンを実行してユーザーを教育することで、さらにずっと獲得できます。

6
mr.spuratic