Sslstrip攻撃からクライアントを保護したい。 HSTSを使用する必要があります。ただし、HSTSは、クライアントのサーバーへの最初のアクセスを保護しません。そのため、DNS応答にHSTSポリシーを含めて、要求しているクライアントに送信したいと思います。出来ますか?可能であれば、それをどのように実装しますか?
私の知る限りでは、現在の基準や規範ではありません。
最も明白なDNSクエリはAレコードであり、DNS応答の追加情報セクションに含まれていない限り、HSTSをそこに組み込む直接的な方法はわかりません。
他の選択肢(およびDNSの最も使用されている/乱用されているビット)はTXTレコードです。
デファクトまたはその他の標準がないため、機能する前に広範なブラウザの実装が必要です。 HSTSプリロードの利用可能なオプションがあるため、これを行うのに十分な動機があるかどうかはわかりません( ここでは、ここ および ここ )。ドメインを主要なブラウザにプリロードするように依頼するのはかなり簡単です。また、インフラストラクチャの更新/証明書の取得を逃した場合、アプリを壊すのも簡単です-リストに入った後(はい、そうです私たちが思っているよりも頻繁に発生します)。
DNSへの配線は(最も早い機会を与える)より良い配管であると主張することができますが、DNSがセキュリティの試み(特にDNSSEC)で長年にわたって困難を抱えてきたことを考えると、問題があります。
したがって、今のところ、HSTS-PreLoadは実用的で、利用可能で、広く実装されていますが、完全なソリューションではありません。 DNSではありません。