現在、自分のラボでpfSenseファイアウォールをセットアップしています。 SSL Inceptionをサポートしており、ほとんどのサイトで非常にうまく機能します。
しかし、一部のサイトでは、MitM攻撃を防ぐためにHTTP公開キーのピン留めを使用している場合があります。これは、ファイアウォールの背後にあるシステムがセットアップされていない場合があり、公開鍵をピン留めしているため、これらのサイトのSSLが無効になるため、非常に苦痛です。
これを回避する1つの方法は、Firefoxでsecurity.cert_pinning.enforcement_level
を0
に設定することで可能になるHPKPを無効にすることです。この問題を回避する別の方法はありますか?
//私がこれを試したホストは、Iceweaselブラウザを搭載したKaliマシンでした。
私に示されたエラーは、HSTSを使用しているWebサイトもあり、傍受が問題なく機能したため、非常に混乱したHSTSが原因で接続が切断されたということです。次に、これは一見HPKPに関係しているようで、無効にした後、HSTSエラーが表示されなくなったことがわかりました。
これはソフトウェア固有の問題のようです。 @Steffen Ullrichがこれが起こってはならないことを指摘した後、私はWindows 7クライアントとChromeをブラウザとして試してみましたが、問題なく動作しました。
正当なSSLインターセプトの場合、インターセプトされた接続の証明書を発行するために使用されるプロキシCAは、信頼できるものとしてブラウザー/ OSに明示的にインポートされます。このような場合、ブラウザは組み込みの固定とHPKPヘッダーで行われた固定の両方を無視します。これは明示的にこの方法で行われ、(セキュリティ上の理由から)ファイアウォールでの合法的なSSLインターセプトを可能にします。つまり、そのような場合に公開鍵のピン留めを無効にする必要はありません。
この問題を回避する別の方法はありますか?
はい、SSLインターセプトツールを設定して、応答のHPKPヘッダーを削除できます。
すべてのユーザーは、SSLインターセプトでのみ使用される専用のブラウザープロファイルから開始する必要があります。 SSLインターセプトなしで同じブラウザープロファイルが使用されると、実サーバーは証明書を再度ピン留めし、ユーザーがSSLインターセプトを再度有効にすると問題が発生する可能性があります。
私が理解している限り、HTTP公開鍵のピン留めと証明書のピン留めの主な目的の1つは、MITM攻撃を防ぐことです。
したがって、無効にせずにそれを壊すことができるなら、あなたはこれらのテクニックが間違っていることを証明するでしょう。