web-dev-qa-db-ja.com

HSTSを使用する場合はDNSSECが必要ですか?

DNSSECの利点を理解しようとしています。

ユーザーが私のサイトにアクセスした場合example.comそして、DNSキャッシュがポイズニングされ、ユーザーを悪意のあるユーザーのIPにリダイレクトしました。どうなりますか?

HSTSを有効にしました。

私の理解では、ユーザーは「あなたの接続はプライベート画面ではありません」と表示し、続行できません(IE 10のような古いブラウザを使用していて、HSTSをサポートしていない場合を除く) 。

悪意のある人がHSTS保護をバイパスして私のサイトを別のドメインにリダイレクトできますか、それとも有効な証明書が見つからないためHSTSはリダイレクトの発生を停止しますか?

DNSSECが有効になっていると、これにより悪意のあるユーザーがキャッシュを汚染するのを防ぎ、ユーザーは賢くなりませんか、それとも別のエラーページが表示されますか?

DNSSECはラストホップを保護しないことを知っています。

5
Peter Brumby

これらは非常に異なるテクノロジーであり、実際には互いに依存していません。実際、一部の議論では、一般的にDNSSECは不要であるとしています。 HSTSが適切に使用されている場合(長時間、プリロード済み)、DNSSECは必要ありません。ほとんどのクライアントはDNSSECを使用していないため、DNSSECを使用した場合の影響はごくわずかです。

HSTSが設定されたHTTPSを介して提供されるWebサイトに対するDNSSECの影響は最小限であるとあなたは理解していると思います。この場合、DNS応答が正しいかどうかにかかわらず、有効な証明書を提供しない限り、ブラウザーはWebサイトのロードを拒否します(WebサイトがHSTSプリロードリストにあるか、ブラウザーがすでにそれを認識していると想定します)。

また、これらのテクノロジーはクライアントの異なるレイヤーで機能することにも注意してください。ブラウザはHTTPS/HSTSの状況を認識していますが、DNS/DNSSECの状態を認識または考慮していません。これは通常、OSのリゾルバまたは上流サーバーによって処理されるためです。 DNSSECのブラウザ拡張機能を使用しないと、応答が返ってきたかどうかしかわかりません。

DNSSECは、他の非Webシナリオで優れています。メール領域での1つの例は、DANE(名前付きエンティティのDNSベースの認証)です。 DNSを使用して、さまざまなサーバーの証明書情報を取得します。 DNSSECは、DNSトラフィックを改ざんから保護するために重要です。そのような改ざんは、攻撃者が証明書のフィンガープリントを置き換えることを可能にするためです。他の非Webアプリケーションには、DNSの整合性に関する同様の要件がある場合があります。

5
multithr3at3d

Www.mybank.comにアクセスしているとしましょう

DNSSECは、www.mybank.comのアクセス先のIPアドレスが実際にMyBankに属していることを確認します。もちろん、これは暗号的に行われます。

正しいIPアドレスを取得すると、ブラウザーは(信頼された)IPにHTTPリクエストを送信します。 HSTSは、HTTPクエリが行われたときに非SSLベースの通信が確実に防止されるようになりました。これはHSTSフラグを通じて行われます。したがって、悪意のあるアクターがトラフィックを干渉して、SSL以外のHTTPを介した通信を強制することはできません。

1
sandyp