Flask APIを作成していますが、HTTPからHTTPSへのリダイレクト、またはHSTSヘッダーが以前に送信されたときにHTTPを要求する場合に存在する攻撃面については、少し不慣れです。
ユーザーがルートを要求するとしますuser@pass:<url>/ping
HTTP経由。次のいずれかになります。
ユーザーがHTTP経由で基本認証ヘッダーを含む要求を送信し、それが書き換えとしてまたはHSTSを使用してHTTPSにリダイレクトされる場合、情報はまだ明らかにされていませんか?
もしそうなら、HTTPをブロックすることは、ユーザーにHTTPルートのリクエストを停止するように伝えるより効果的な方法になると思います。リダイレクトによって、最初のリクエストでHTTPの使用が実際に停止することは決してありません。
送信されるデータのセキュリティを維持するリダイレクトのいくつかの機能を誤解しているかもしれません...?
ユーザーがHTTP経由で基本認証ヘッダーを含むリクエストを送信し、それが書き換えとしてまたはHSTSを使用してHTTPSにリダイレクトされた場合、情報はまだ明らかにされていませんか?
リクエストがHTTPSにリダイレクトされる場合(30x応答とLocationヘッダーを使用)、認証情報は既に有線でプレーンテキストで送信されています。
HSTSが有効になっている場合、HTTP接続は行われず、認証資格情報はHTTPS経由ですぐに送信されます。これは、Strict Transport SecurityがブラウザにHTTPS経由で直接接続するように指示するためです。
HSTSは最初に使用するときに信頼され、有効期限が切れることがあるため、完全な防水保護ではないことに注意してください。
データが最初に送信されるURL /宛先がHTTPの場合、それはbase64形式で公開されます(基本認証が使用するもの)。リダイレクトはflask=次にHTTPSに移動するため、リダイレクトの前に明確です。
flaskアプリがsslを使用していて、基本認証を要求する前にリダイレクトがある場合は、問題ありません。