Firefox 4 針對 SSL/TLS 的新保安功能

上星期 Mozilla 釋出 Firefox 4 第一個 RC 版本 (wiki.mozilla.org),Linux/Mac/Windows 版本已供下載,大家也來下載試用,來看看 FF4 在正式推出前還有沒有小問題。

我想這是我最遲開始主用 FF4 的時候了,也可以試試 FF4 的功能,早些得多一點日常使用上的經驗。昨天開始在 Ubuntu 上主用 FF4 瀏覽器,我所用的是 Launchpad PPA 的 beta 13 版本 (並不是 RC 版)。

打算去看 Black Swan 電影前,先上網購票訂位,最後卻因網上付款時出現問題,而不能完成訂位手續。之後開動 FF4 新功能的 Web Console (上圖中間偏上的部份) 和舊有的 Error Console (上圖右下方的小視窗) (可在 Tools 底下找到這兩個 Consoles) 重覆再試訂位也不能成功,但發現 www.p網上付款$.com : server does not support RFC 5746, see CVE-2009-3555 字句。

預設上 Firefox 4 不能用「那個網上付款服務」,是因為 FF4 預設上防止針對 SSL/TLS 瑕疵的中間人攻擊 (CVE-2009-3555),而已支援 RFC 5746 號技術文件上說明。

不幸很多 web server 仍使用易受攻擊的 SSL/TLS 協定版本,所以 Firefox 4 預設上未能使用「那個網上付款服務」,但可透過修改 FF4 設定來容許 FF4 bypass 這項安全功能。

security.ssl.renego_unrestricted_hosts (預設是一個沒有任何字的字串值)

可在這設定容許這值列出的 web server,採用舊 SSL/TLS 協定來作 renegotiation,多個 web server 可以以 , 號作分隔。

security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref (預設值: false)

如果設定為 “true” 會完全使這項新保護失效。建議在有需要時,依舊保持此設定值為 false,而使用 security.ssl.renego_unrestricted_hosts 來容許跟部份採用舊 SSL/TLS 的 web server 作 renegotiation。

security.ssl.treat_unsafe_negotiation_as_broken (預設值: false)

如果設定為 “true”,FF 在跟採用舊 SSL/TLS 的 web server 連線時,會在狀態列顯示網站保安損毀警告來提示用家。

security.ssl.require_safe_negotiation (預設值: false)

如果設定為 “true”,FF 會拒絕跟任何採用舊 SSL/TLS 的 web server 連線,而提高安全性。將來當大部份 web server 升級後,這設定會預設為 “true”。

(註:看完電影後回來,在短短發現網上付款服務數小時後,寫本篇網誌時打算重新「製作」 screen capture,誰不知那個網上付款服務好像已解決 SSL/TLS 問題 (因為我並沒有修改 FF4 設定),可能是跟我發過有關的推 tweet 或之類的原因吧。如此有效率值得一讚! (雖然我也算是那個網上付款服務的商業客戶,但我不是賣廣告的。)