SSL安全性與nginx配置

服務器SSL/TLS的配置不僅包括證書和私鑰,還需要配置合適的SSL參數以保證安全性: 1. 禁用SSLV1,SSLV2等不安全的協議 2. 使用適當的ciphers:能夠抵禦beast attack (針對SSL 3.0和TLS 1.0)和其它攻擊,並且提供perfect forward secrecy (PFS). 下面的nginx配置能夠在Qualys’s SSL Server Test中得到A Grade。而nginx默認的ssl配置只能得到B(不能防止beast attack)。 ssl_prefer_server_ciphers On; ssl_ciphers AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH; nginx官方文檔里推薦的ciphers設置: ssl_ciphers RC4:HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; 但此ciphers在Internet Explorer和Safari下可能不能提供足夠的安全性。 另外,對於客戶端來說,推薦使用Firefox或Chrome瀏覽器。Internet Explorer和Safari由於優先使用的ciphers較弱,訪問絕大多數SSL網站時都無法保證PFS。

Continue reading

淘寶我去年買了個表的

月初手機欠費停機,想到淘寶充點話費,結果登陸時要求安全驗證輸入手機驗證碼。驗證你麻痹。我去年買了個表的。淘寶越來越噁心了。。 我個人非常厭惡各種所謂的“安全”措施,比如: 1.要求安裝數字證書或安全控件(如支付寶、網銀) 2.不能保存cookie下次自動登陸。(如淘寶、Paypal) 3.第一次嘗試登陸就需要輸入驗證碼。(如360buy) 4.其它亂七八糟安全措施,比如必須手動輸入密碼,不能用Lastpass自動填寫、禁止複製黏貼等(如Web QQ)。 5.要求輸入手機驗證碼。(如網銀) 這些措施本質上是通過人為添加額外的限制,妨礙信息的自由流通,最終干涉了人們的自由。而自由是第一位的自然權利(natural rights)和普世價值;即使犧牲安全,也必須首先保證自由。為了所謂的“安全”而限制自由,是本末倒置。 網站和在線服務提供商應該只使用業界和工業標準的、對用戶無干擾的技術手段來保障安全性。如SSL client authentication(正面例子是StartSSL)。像手機驗證碼這種是最嚴重的干擾,因為它只能用手機接收和人工輸入,無法使用程序或腳本自動化完成,強制割裂了完整的在線操作流程。在任何情況下都不應該使用這種手段;至少也應該提供用戶選擇的權利。

Continue reading