Poodleの脆弱性が最近明らかにされた後、私たちのチームはSSLv3からの移行を決定しました。しかし、完全に削除する前に、ブラウザが非推奨のSSLv3を使用していることを毎日のユーザーに警告したいと考えています。だから、私たちはアイデアを思いついた
- フロントエンドSSLオフロードからプロトコル(SSLv3、TLS1など)を検出します(nginxを使用します)
- その情報(SSLプロトコル)をHTTPヘッダー経由でApache-backendに渡します。
次に、バックエンドコードがそのヘッダーを処理し、クライアントがSSLv3を使用している場合に警告を出します。
私はnginxに機能があることを知っていますproxy_set_header
。したがって、これは次のように簡単になります
proxy_set_header X-HTTPS-Protocol $something;
現在、問題は次のとおりです。明らかに、nginxはクライアントが使用するプロトコルを知っていますが、その情報をHTTPヘッダー経由でバックエンドに渡すにはどうすればよいですか?
ありがとう
SSLv3を使用している場合、同様のスレッドApacheリダイレクトユーザーが指摘したように、この考えは非常に悪い考えになります。
理由は、HTTPトラフィックがTLSトンネルを介して送信される前にTLSハンドシェイクが発生するためです。バックエンドがSSLプロトコルを検出するまでに、クライアントは最初のリクエストでプライベートデータを送信した可能性があります。永続的かつ長期的なソリューションの場合、SSLv3を無効にすることを検討する必要があります。