web-dev-qa-db-ja.com

SameSite Cookieの現在のステータス

最近、CSRF攻撃を緩和するために使用されるSameSite Cookie属性について知りました。 CookieのAFAIK SameSite属性は、Chromeおよびその他のブラウザに実装されています。私はTomcatサーバーを使用してWebアプリをデプロイしているので、Tomcat開発者と話し合って、計画があるかどうかを確認しました今後のリリースでこれをサポートするためです。仕様の作業が停止しなかった場合や、提供された保護がより完全な場合は、SameSite Cookieのサポートを検討できます。ここで、以下の質問を明確にしたいと思います。

  1. 下書きの有効期限が切れている[1]ので、SameSite Cookieの現在のステータスは何ですか?
  2. それは標準的な解決策になりますか?

[1] [ https://www.ietf.org/archive/id/draft-ietf-httpbis-rfc6265bis-02.txt]

14
Bhranee

SameSite Cookieは今後も利用できます。

これらはChrome(v51以降))で長い間利用可能でしたが、最近実装されました Firefoxで

Cookieを同じサイトにすることで、CSRFのあらゆる脆弱性から保護されます。多くの認証済みリクエストを偽造してCookieを盗む 圧縮サイドチャネル攻撃 BREACHから保護します。クロスオリジン要求への応答が投機的実行の脆弱性を使用して読み取られる、クライアント側のスペクター攻撃から保護します。

仕様はまだ作成中です。たとえば、samesite cookieの厳密さ リダイレクトで動作する必要がある は完全には明確ではありません。

私は現在、すべてのCookieにsamesite = Laxを設定することを皆さんに勧めています。これは、物事を壊したり、作業量を増やしたりすることなく、妥当なセキュリティ上の利点を提供します。 samesite = Strict cookieを使用するとセキュリティが向上しますが、サイトの一部の機能が破損する可能性があります。

サーバーソフトウェアは、samesite属性をLaxまたはStrictに設定するオプションを提供する必要があります。仕様のその部分は非常に安定しており、それを提供するのは時期尚早ではありません。たとえば、PHP samesiteを追加する予定です をsetcookie関数に追加します。

また、Tomcatが実装していない場合でも、独自のSet-Cookieヘッダーを作成すれば、同じサイトのCookieを使用できると思います。

更新:Chromeは作成を計画しています デフォルトではすべてのCookie SameSite = Lax 、これはSameSite = Noneを設定することで無効にできます。

11
Sjoerd