Récemment, j'ai découvert l'attribut de cookie SameSite qui est utilisé pour atténuer les attaques CSRF. L'attribut AFAIK SameSite pour les cookies est implémenté dans Chrome et certains autres navigateurs. Depuis que j'utilise le serveur Tomcat pour déployer mes applications Web, j'ai soulevé une discussion avec Tomcat dev pour voir s'ils ont des plans pour soutenir cela dans une prochaine version. Ils ont dit que si le travail de spécification n'avait pas cessé et/ou que la protection qu'il offrait était plus complète, alors ils peuvent envisager de soutenir SameSite Cookie. Ici, je veux clarifier les questions ci-dessous.
[1] [ https://www.ietf.org/archive/id/draft-ietf-httpbis-rfc6265bis-02.txt]
Les cookies de SameSite sont là pour rester.
Ils étaient disponibles depuis longtemps dans Chrome (depuis la v51) et plus récemment ont été mis en œuvre dans Firefox .
Rendre les cookies identiques protège contre toute une gamme de vulnérabilités CSRF. Il protège contre BREACH, une attaque de canal côté compression qui peut voler un cookie en forgeant un grand nombre de demandes authentifiées. Il protège contre certaines attaques Spectre côté client, où la réponse à une demande cross-Origin est lue à l'aide de vulnérabilités d'exécution spéculative.
La spécification est toujours en cours d'élaboration. Par exemple, la rigueur des cookies sur le même site devrait se comporter dans les redirections n'est pas entièrement claire.
Je conseillerais actuellement à tout le monde de définir samesite = Lax sur tous les cookies. Il offre un avantage de sécurité raisonnable sans casser des choses ou être trop de travail. L'utilisation de cookies samesite = Strict donne plus de sécurité, mais peut casser certaines fonctions de votre site.
Le logiciel serveur doit donner la possibilité de définir l'attribut samesite sur Lax
ou Strict
. Cette partie de la spécification est très stable et il ne serait pas prématuré de l'offrir. Par exemple, PHP prévoit d'ajouter samesite à leur fonction setcookie.
En outre, je m'attendrais à ce que vous puissiez utiliser des cookies sur le même site même si Tomcat ne l'implémente pas, si vous créez vos propres en-têtes Set-Cookie.
Mise à jour: Chrome prévoit de créer tous les cookies SameSite = Lax par défaut , que vous pouvez désactiver en définissant SameSite = None.