不用 https 的網站在想什麼?

不用 https,乃至用了 https 但不重定向到 https 的網站在想什麼?明明現在已經有 letsencrypt 了。


http用了20多年成為一種習慣,目前仍在繼續使用http的網站,要麼錢少,要麼偷懶,要麼網站是大爺,愛上不上…

2017年互聯網的加密流量首次超50%以上,而非加密流量則低於50%,網路安全加密已經成為大勢所趨,要不了幾年哪個網站再用http,都不好意思和人打招呼。

對於缺錢的網站,可以使用免費證書,Let"s Encrypt,這是一家非贏利的公益組織,可以實現證書註冊、簽名、分發、註銷的全自動處理,用戶只需要點點滑鼠,輸入一下關鍵信息即可完成。

Let"s Encrypt 贊助商:

大家可以看到,贊助並支持這一免費證書的機構很多,大家有沒有想想為何這些主流大企業如此熱心這一計劃?

往大了說,這是主流國際大企業的社會責任感,為了推動Internet安全、可靠地通信;往小了說,這也是為了自身的安全。這就好比從古至今,只要鄰居家失火了,所有的鄰居都會拎水桶來救火,即使是前兩天還吵架的鄰居也不會袖手旁觀,因為不救會燒到自家的房子。

眾所周知,明文傳輸的http,很容易被劫持注入,打個比方,劫持注入是AIDS病毒,由於http客戶端A沒有採取安全措施,被感染了。

然後A訪問其它https網站,https的加密只是一個基於TLS加密技術,位於傳輸層(四層)與應用層(七層)之間,只是能防止第三方的劫持注入,換句話說,只能保證七層以下的安全,不能保證http里的內容是否安全合法,如果A的https請求本身帶有惡意代碼,https無法保護,依然還需要應用層防火牆如WAF來進行惡意代碼過濾。

還有一個因素制約升級到https,是由於網頁里硬編碼了http鏈接,這就是所謂的混合頁面(Mixed Content),需要將這些鏈接重新改寫成沒有http打頭的形式。

越來越多的人採用了安全措施,AIDS病毒就不會輕易地傳播;互聯網越來越多網站https,將使得互聯網越來越安全。

歡迎來參加下一個live,與其說是live,不如說是一個《計算機網路》課程的一節課。在這個live里會詳細講解如何利用簡單工具做深入網路診斷:https://www.zhihu.com/lives/917034736428404736


看到很多回答說沒有敏感信息不需要 https,但 https 除了帶來保密性以外,還確認內容完整性和伺服器的身份,這可以檢測出 (進而提醒 / 阻止訪問):

- 運營商或者二級運營商插入廣告,替換鏈接等等
- 應用軟體安裝包替換 (加入廣告 / 木馬等)
- 整個網站重定向,完全替換為另一個網站
- ...

對於客戶端兼容,大多數瀏覽器 (即使很舊的) 基本都支持 SSL / TLS,只是對 cipher suite 的支持程度不同而已,可以根據業務需求來調整。只有在極個別的情況下,https 無法使用 (比如 WiFi captive portal 的連接性檢測,或者特殊客戶端 / 服務端等)。

說性能問題的話,現代處理器基本已經提供 AES 硬體加速,有一些提供 RSA 硬體加速。有多少人實際進行過壓力測試?handshake 3 RTT 對一個完整請求增加了多少時間?對一個引用多個資源的頁面的載入增加了多少時間?http2 帶來的性能提升有考慮進去嗎?還有更多問題,都是在選擇 http(s) 需要考慮的。

在美帝 https 基本已經是所有網站的必備,加上各大瀏覽器都在努力推進。我認為國內因為瀏覽器和各種觀念限制,推進相對慢一些。


這些網站一般體積不小,頁面多,改動量較大,除了網頁本身,網頁內部的鏈接、圖片等資源的https支持也是個問題,尤其是外部資源(css/js/圖片)很難一下子支持到。

推動https改造,這種事情有些吃力不討好,出了問題你得負責,不出問題,你也得不到什麼好處。

如果"瀏覽器版本低、系統老舊"的用戶(對https支持較差)數量佔比較大,這些長尾的用戶,公司一般不願意放棄。

我在工作過的每家公司,都強力推https,理由也很充分,更安全更快速,現在大型搜索引擎也很友好,開啟http/2後,支持多路復用,資源載入說不定能更快。

確實一些舊的瀏覽器(少數)兼容不夠好,比如chrome的個別版本,不能將"//"解析成為"https://"。

尤其是對搜索引擎敏感的公司,倒不是擔心百度、Google的搜索引擎爬蟲抓取,反而是搜狗、UC神馬、360等這些搜索引擎可能會對https頁面支持不好,會導致網站降權等隱患。

移動端情況應該會好一些,像百度一直在推的mip(類似Google的amp)移動網頁加速器,百度跟各大公司說使用mip會有一些優待,在抓取、SEO等方面有種種好處(是不是真的我有些懷疑),強制要求https+utf8,所以支持的公司(中小網站居多)還是不少。

在移動頁面中,不少都支持https,但為了SEO,通常僅推薦使用http,有些可以手動改https訪問,有些訪問https會跳轉回http,都有各自的考慮。

另外,https要比http耗費更多計算資源,加密的握手,勢必會增加一定延時,配合http/2可以抵消掉這些影響,但不少cdn對http/2其實沒有一個很好的支持計劃。

對商業公司而言,https的推動還是要靠各大搜索引擎,如對https的網站有權重、流量等傾斜。


真當伺服器不要錢啊…

沒有敏感信息的時候無所謂了

反而上了會打開變慢影響體驗

而且伺服器壓力也會變大

沒錯我說的就是某些資源站


以我司為例,切HTTPS前後用了一年時間,原因有幾個方面:
1、產品需求優先順序最高;
2、混合頁面的協議統一更改;
3、多個團隊產品聯調測試;
4、對HTTP安全性認識不足。
公司越大,產品越大,切HTTPS難度越大,反之亦然。
兩者的區別某種程度上相當於換用了十年的手機號和換用了十天的手機號。


他們只是不會申請免費 HTTPS 證書而已。

我才不會告訴他們七牛有一年免費的 HTTPS 證書用呢。

另外,他們也不會做 HTTPS 升級。


其實我倒是更想問有的只有login用HTTPS,之後用http傳cookie的網站,和一些頁面https,其中用http載入javascript的網站,再有就是用過期證書https的網站,都在想什麼……

不過畢竟網路發展還沒多久,安全意識不夠啦。還有明文傳密鑰的呢、還有能下載資料庫的呢、還有輸入不過濾的呢……也不能指望那麼多對吧。

畢竟十幾年前的密碼好多都是明文post,或者base64一下當加密。現在至少都hash一下,還有認真地跑一個0-knowledge的。比之前還是好了不少的。

想來到下一輩人一切會更好的吧。

(更希望我們能趕得上)

(趕不上就去推動它吧)

(一起加油)


其實今年才發生的sbeam大面積101、103錯誤事件,沒有https導致觸發關鍵字,進而導致(
想不通g胖為什麼沒有全站https


就想問問用https的網站是怎麼想的?

能詳細解釋一下為什麼一定要用https呢?

在我看來,除了用戶登錄註冊這些敏感信息,由用戶發送給伺服器的需要走https外,其他信息,特別不是跟具體用戶相關的,似乎都沒有必要走https,因為這些信息就是公開的。

防電信dns劫持,頁面注入其實不需要從技術層面上解決,他本身是一個違法行為。

在我看來,全站使用https,會有以下問題:
1. cdn,代理,緩存都會失效。因為他們不能用自己的證書,也不可能用源伺服器的證書,所以結果必然是二選一。
2. 企業出於安全考慮,是需要監控和保護員工上網行為的。我之前所在的趨勢科技就有這樣的網關軟體。走全站https之後,員工外傳敏感信息就無法攔截和監控。
3.其實https也無法保證絕對安全,因為流氓網站一樣可以申請https證書。如果說可以通過吊銷他們的證書來保證用戶安全的話,那麼瀏覽器一樣可以通過禁止訪問某些域名來保證用戶安全。
4.除了通信信道的安全之外,端到端的安全也很重要,但https對此無能為力。

這裡的大神很多,有人可以回答一下我上面的疑問嗎?


好嘛,從http遷移到https,您這張張嘴就瞬間無縫遷移好了一剛。

考慮過業務對https的支持性么?
考慮過用戶對https的兼容性么?(IE6 IE8)
考慮過伺服器的性能么?(當然16core 32g 內存當我沒說)

更何況你一個辣雞cms 一堆sql注入/任意文件讀取,上了https有啥用?能增加安全么?並不能。
只會被人鄙視到你看這個站這麼多洞還上https這管理員是怎麼想的。

所以說一切脫離實際談需求都是耍流氓。

全站https是趨勢,沒毛病,但是在這個歷史進程下還要根據自身情況靈活採取實施方案。
凡事都要一步一步來,不能一口吃個胖子。
更何況對大型網站來說升https得逐步來,不能在沒做好充分測試的情況下就貿然全站https,除非不怕死=w=


=======================================

當然我是滋磁乾死IE8的23333
但是有些老掉牙的東西只能用IE8就十分憂傷了


=======================================

哦對,我自己的站是直接只開443,80拜拜


這個問題就像:

「不用APP打車,還在路邊招手攔計程車的人在想什麼?」

「不用APP,乃至於用了APP 但不用手機付款的人在想什麼?」

答案很簡單:

既然不是非用不可,為什麼一定要用?


1.伺服器設立在境外的網站在境內訪問時,https速度明顯比http慢。
2.https特別消耗伺服器的cpu資源。
3.如果某些程序員寫代碼的時候沒有用「://」,你需要挨個修改代碼(把「http://」改成「https://」)。


最重要的一點是這樣的。

https不能和http通信。

網站不是全部自建,用了別人的服務(比如某某表單)。
然後因為別人的服務http免費https收費。
雖然自建轉發也不是不行,但總歸是個工作量。不給批時間,維護也很麻煩。
然後老闆覺得沒有必要。就全站http了。
風險都說了。盡人事聽天命吧。
碼農只是工具,攔不住非要用拳頭砸釘子的人。


其實還有一大波政府的網站都還沒有推行←_←感覺應該是「只要能正常運轉就啥都不要動」的信條
連高考報名都不用https(?_ ?) ?


「http又不是不能用」


在想下次域名 伺服器續費是什麼時候~


別打了,我升還不行嗎?


不知道為啥給我推送這個問題…彷彿我不用https就做錯了什麼似的

我的大部分網站都是https了。但是…

http://tracer.aiursoft.com/

Tracer是我們專門用來測量網速的和延遲情況的一個小程序,它強制使用http。沒有用https是出於https會讓測試結果不準…

如果我要回答這個問題,是這樣的:

許多系統在最初開發時從未考慮到可能會使用https的情況。比如我們大學的財務系統,仍然在使用http。我已經給他們寫了無數次警告了,但是他們的系統實在是太複雜了,許多都是代碼里寫硬了的http和80埠。他們也沒什麼辦法…

而其它的網站,大多是懶…或者就是你不上就沒地方去的那種網站。


1,性能是硬通貨

2,性能需要錢來買

3,安全需要性能這種硬通貨來換

4,安全需要錢

5,網站運營要考慮投入這些錢值不值的

有人說到證書可以免費,但是加密需要的計算能力呢?這可是硬東西


因為純靜態html要啥https?


推薦閱讀:

高拍儀效果和掃描儀比如何?
為什麼知乎上關心那些大眾喜聞樂見的話題比較多,而有學術價值的話題則少有人關注和解答?
如何評價小米新出的「米兔積木機器人」?
如何評價雷軍獲得「第三屆首都傑出人獎」?
諾基亞有哪些黑科技?

TAG:互聯網 | 網路安全 | 科技 | HTTPS | 計算機科學 |