web-dev-qa-db-ja.com

単一のドメイン名を使用して複数のサーバーを特定すると、セキュリティが向上しますか? (Googleによる1e100.netの使用)

2009年以降、 Googleは単一のドメイン名を使用しています を使用して、複数の製品でサーバーを識別しています。

標準的な業界慣行に従って、各IPアドレスに対応するホスト名があることを確認します。 2009年10月に、youtube.com、blogger.com、google.comなどの異なる製品ドメインを使用するのではなく、単一のドメイン名を使用してすべてのGoogle製品でサーバーを識別し始めました。これを行った理由は2つあります。1つ目は、物事をシンプルに保つため、もう1つはクロスサイトスクリプティング攻撃などの潜在的な脅威から保護することでセキュリティを予防的に改善するためです

質問:XSSなどのアプリケーションレベルの脅威からどのように保護しますか?セキュリティの観点からこの手法を使用することの他の利点はありますか?

12
Rahil Arora

各プロダクションIPアドレスには一意のホスト名があります。これは予測可能で、一貫性があり、確定的であり、マップのようにこれらのアドレスを読み取ることができると思う少数のエンジニア以外は誰にとってもまったく役に立ちません。これらの名前はそれらの人々にとって非常に重要です。しかし、私たちの残りの部分については、それが新しい問題を引き起こさないことを気にしているだけです。

XSSの出番です。ドメイン名はセキュリティにおいて非常に重要です。 Webでは、ドメイン名はセキュリティ境界です。 Cookie、ブラウザオブジェクト、およびその他のリソースはドメイン内で自由に共有されますが、特定の規定なしにその境界を越えることはできません。したがって、各アドレスのホスト名が「google.com」、「youtube.com」、またはウェブリソースに関連付けられているその他のドメインで終わる場合、理論的には、攻撃者は通常のリソースをリクエストできますは信頼されたドメインの外にありますが、IPに割り当てられたホスト名からもアクセスできます。

そのようなすべての潜在的な問題を見つけて修正するのではなく、より安全な解決策は、他の目的には決して使用されない独自の一意のドメインにホスト名を配置することです。

GoogleのIPのallが1e100.netを使用しないことに注意することも興味深いです。 Google Computeインスタンスに割り当てられているようなユーザー制御下のアドレスは、googleusercontent.comで終わる名前に解決されます。

免責事項:私はGoogleで働いています。
Reclaimer:これは公式のGoogleの回答ではありません。私はGoogleのために話しません。これらの考えや意見は私自身のものであり、雇用主、下院議員、80年代のロックバンド、トトの考えを反映したものではありません。

4
tylerl

セキュリティの側面(2番目の理由)は、製品ドメイン(youtube.com、blogger.com、google.com)と単に異なる1e100.netに関連していると思います。すべてのサーバーがsameホスト名で識別されるという事実は、単純にするために(最初の理由)はいいですが、おそらくセキュリティにとって重要ではありません。

ここで脅威プロファイルが正確に何であるかはわかりませんが、サーバーがserver-xyx.google.comとして識別された場合は、google.com Originを利用する方が簡単かもしれません。 server-xyz.1e100.netとして識別することで、必ずしもgoogle.comドメイン名を委託する必要はありません。

これに関して興味深いハッカーニュースディスカッションがありました: https://news.ycombinator.com/item?id=3338938

1
Andre D