www.yoyodyne.com
「安全でない」コンテンツと「安全な」コンテンツの両方を含む Web サイトがあるとします。
- 安全でないコンテンツには秘密が含まれておらず、HTTP 経由のアクセスはすべての Web サイト ユーザーに許可されています。
- 安全なコンテンツには顧客の秘密が含まれており、HTTPS を介して認証および許可されたユーザーのみがアクセスする必要があります。安全なコンテンツにアクセスする場合、Web クライアントは Web サイトからシークレットを受信したり、Web サイトにシークレットを送信したりできます。
さらに、これは Apache によって提供されており、安全なコンテンツを含む場所のディレクティブをwww.yoyodyne.com
アサートすることで (双方向で) アクセス セキュリティを確保しようとしているとしましょう。SSLRequireSSL
最後に、Web クライアントが顧客の秘密を含むリクエストを HTTPS ではなく HTTP 経由で送信するとします。これは、パス名コンポーネントが安全なコンテンツを参照しているが、スキーム (プロトコル) コンポーネントがhttp
ではなく誤って設定されていhttps
ます。
質問 1 : Apache サーバーがwww.yoyodyne.com
の IP アドレスのポート 80 と 443 の両方でリッスンしている場合 (安全でないコンテンツと安全なコンテンツの両方を提供できるようにするため)、SSLRequireSSL
ディレクティブが最終的に拒否されるように要求しますか?
質問 2 : クライアントが上記のような不適切な URL を受信して使用する可能性が常にあると仮定すると、単一のドメイン名/IP を使用するように制限されている場合、この種の漏洩を防ぐ方法はありますか?サイトのアドレス?(明らかに、たとえば から安全なコンテンツのみを提供すれば、この問題を回避できますsecure.yoyodyne.com
。これは、 の IP アドレスとは異なる IP アドレスに解決され、www.yoyodyne.com
誰もポート 80 でリッスンしていません。しかし、 の所有者www.yoyodyne.com
が安価で、 2 番目の IP アドレスや美的理由からのオブジェクトに料金を支払いたくないので、この制約に固執しています。)
--
の場合www.yoyodyne.com
、Web クライアントが上記のような不正な URL を取得する方法が少なくとも 2 つあります。
- ウェブサイト自体のコードのバグにより、提供するページにリンクが埋め込まれます。
- それぞれが に代わってユーザーを認証する多数の「パートナー」Web サイトのいずれかが
www.yoyodyne.com
、iframe を介してリンクを提供します。
これらすべての Web サイトの開発者と管理者は、そのような悪いリンクを書かないようにする責任があることは明らかです。しかし、当然のことながら、保証はあり得ません。www.yoyodyne.com
(適切なコーディング基準と QA プラクティスを実施することにより、 の動作についてある程度の保証はあるかもしれませんが、パートナー サイトの開発者がショップを運営する方法を効果的に制御することはできません。)
そう:
質問 3 : (上記のように) 別のサイトを持っていないと仮定すると ( HTTP を介したこのような不正な要求の送信を完全に防止するため)、できるだけ早く管理者secure.yoyodyne.com
に通知するために展開できる最も単純で効果的なメカニズムは何ですか?www.yoyodyne.com
そのような悪い要求がなされた後ですか?(頭のてっぺんから、Nagiosがサーバーログを監視し、そのような悪いアクセスを見つけたときにアラートを送信するようなものを想像していますが、おそらく私が考えていなかったより簡単な方法があります.)