Firefox正逐漸將Cookie的SameSite屬性預設值,從None改成了Lax,這樣的更改,能夠大幅提升用戶的安全性,但由於有不少網站仍然使用舊的預設值,因此使用者以Firefox瀏覽這些網站可能會有故障的情況,Mozilla強烈鼓勵開發者使用新的預設值測試網站。

SameSite是Cookie的屬性之一,可以讓網頁開發人員,宣告Cookie的使用限制,SameSite屬性可以設定為None、Strict和Lax三種值,各代表不同的限制。當SameSite為None,則瀏覽器將同時向跨站與相同站點的請求發送Cookie,也就是指定Cookie允許跨網與同一站點存取;設定為Strict,則Cookie只能給同一站點存取;而SameSite設定成Lax,可讓Cookie被同站點,以及部分跨站請求存取,像是當使用者點擊跨站連結,則Cookie便能夠被跨站存取。

Mozilla表示,網站不設定SameSite屬性,則代表Cookie可被不特定來源請求,相當於將SameSite設置成None,不過這種預設情況會讓用戶容易受到跨站偽造請求(CSRF)的攻擊,惡意網站能夠嘗試使用合法網站的有效Cookie進行攻擊。

為了保護用戶免受CSRF攻擊,Firefox更改了Cookie的處理方式,當開發者未指定SameSite屬性,Firefox則預設SameSite為Lax,當開發者明確配置SameSite為None,同時還設定Secure屬性使用HTTPS連線,才能夠讓Cookie可被跨站存取。

過去瀏覽器預設允許Cookie跨站存取,因此開發者不需要特別設定,但由於預設屬性變更,現在網站開發者必須要明確設定SameSite與Secure屬性,過去仰賴舊預設的網站才能正確運作,當網站沒有正確配置這些屬性,則功能就可能故障。

目前新的SameSite行為已經在Firefox Nightly預設實施,從2020年2月的Nightly 75以來,就一直使用這樣的設定,而在2020年6月的Firefox 79,Mozilla擴大這項預設配置,對50%的Firefox Beta使用者部署,以監控這項屬性變更帶來的影響。

雖然Mozilla目前還沒有看到明確的網站故障案例,但Mozilla提到,這有可能是因為沒有明確網站故障定義的原因,也可能這種情況很難以遙測資料判斷,因此Mozilla正由Bugzilla、社交媒體或是部落格等各種管道,收集相關的故障報告。目前他們還沒有將這項屬性更改,部署到Firefox穩定版頻道的時間表,另外,Mozilla也希望IETF能夠進一步推動提案,透過標準化來改進網路生態系。

SameSite屬性並非只有Firefox變更預設,Chrome也從今年2月開始,開始強制預設SameSite屬性為Lax,以一定比例向穩定版、測試版和金絲雀版頻道推出,而Mozilla也與Google合作,共享錯誤追蹤資料,以及網站故障報告。


Advertisement

更多 iThome相關內容