web-dev-qa-db-ja.com

OpenIDプロバイダーのHTTPヘッダーに不整合が見つかりました。 STSと証明書利用者で模倣すべき最も安全なものはどれですか。

さまざまなプロバイダー(LiveID、Google、Yahooなど)のHTTPヘッダーを比較していますが、サインインページ、サインアウトページ、および後続のページでの実装に大きな不整合があることに気付きました。

どのヘッダーを設定/無視する必要があるか、および次のシナリオで使用する正しい値は何ですか。

  • サインイン
  • 一般的な使用法( HTTPSのみ サイト、または通常のHTTP)
  • サインアウト

これが私が気付いたヘッダーとそれらの違いのリストです。確かに、各企業には、理由のある特定のヘッダーを賢明な人々が実装または省略していたはずです。どのプロバイダーが最適な実装を行っているかわかりません。

私の賭けは、各プロバイダーが他の人が学ぶことができるものを持っているということです。

有効期限:

  • LiveIDはExpiresヘッダーを現在時刻のちょうど1分前に設定します
  • GoogleとMyOpenIDには、現在の時刻と同じExpiresヘッダーがあります
  • Yahooが1995年1月5日木曜日に期限切れ22:00:00 GMT
  • Verisign PIPの有効期限は木曜日、1970年1月1日00:00:00 GMT
  • Facebookは2000年1月1日土曜日に期限切れ00:00:00 GMT
  • ADFSv2 -1
  • Azure ACSには存在しません

キャッシュ制御:

  • Yahoo&Azure ACS:プライベート
  • Facebook:プライベート、キャッシュなし、ストアなし、再検証が必要
  • MyOpenID:max-age = 86400
  • PIP:no-cache、no-store、max-age = 0
  • ADFSv2:キャッシュなし

プラグマ

  • Yahoo、LiveID、Facebook:キャッシュなし
  • Google、MyOpenID、Azure ACSの値は存在しません。

X-Content-Type-Options:IE8 DetailsIE9 Details

  • Azure ACS、Google 、: nosniff

X-XSS-Protection詳細詳細

  • Facebook、LiveID、ADFSv2:0
  • Google:1;モード=ブロック
  • Azure ACSおよびその他のプロバイダーには存在しない

X-Frame-Options詳細

  • Yahoo:X-Frame-Options:DENY
  • Google:SAMEORIGIN

Access-Control-Allow-Origin複数ドメインでの使用方法

  • Google(条件が適用されます)

Strict-Transport-Securityも参照してください デバッグを無効にする方法

  • Google(条件が適用されます)
  • Paypal /ラストパス(500秒= 8分を超えるビット)
  • market.Android.com(2592000秒= 30日)

X-Pad//非常に古いバージョンのNetscapeの修正

  • Verisign PIP

最後に興味深いのは、FacebookにHTTP接続に関するヘッダーが2つあることですX-Cnection: closeおよびConnection: Keep-Alive。それらが関連しているかどうかはわかりませんが、完全を期すためにここに含めています。

8

HTTPSを使用します。cachin/ expiresは関係ありません。 Googleと同じようにX-XSS-Protection。 Strict-Transport-Security(およびサブドメインディレクティブ)nosniff、IEのせい。 X-Pad ...誰かがNetscapeを使用している場合...より大きな問題があります。

3
Steven