注意安全!3.網(wǎng)站升級HTTP2與強(qiáng)制HTTPS

nginx 升級1.12 開啟HTTP2

最近把網(wǎng)站升級到了HTTPS茁彭, 之后還將把當(dāng)前一些應(yīng)用的WebSocket 連接升級為 WSS連接,以安全地傳輸消息扶歪。最開始我本是為了測試 HTTP2 不限制請求并發(fā)數(shù)在切片請求中的優(yōu)勢。 但為了實現(xiàn)這一點摄闸,就順手給網(wǎng)站在 Godaddy 上申請了域名和解析善镰,并且通過Let's Encrypt (這篇博文很清楚) 申請了SSL 證書。
ssllabs 安全評測

網(wǎng)站安全評級

關(guān)于OpenSSL 和 Nginx 新版本的本地編譯安裝就不多說了年枕,我基本都是在linux 云服務(wù)器上搞炫欺,注意make 之前給Nginx configure 一下, 使得編譯時導(dǎo)出這倆與HTTP2相關(guān)的module

.configure --prefix=/etc/nginx --with-http_ssl_module --with-http_v2_module

make 結(jié)束后熏兄,便會在objs 文件夾中生成按照剛才配置編譯的 nginx品洛,軟連接一下即可树姨,殺掉原來的nginx 服務(wù)實例。啟動這個帶有http2 module 的nginx桥状,在網(wǎng)站配置中加入對端口的監(jiān)聽帽揪,并采用HTTP2 協(xié)議即可:

# ssl configuration
listen 443 ssl http2 default_server;
ssl on;
# ... 指定 證書和密鑰地址
可以看出網(wǎng)站目前都通過HTTP2 協(xié)議傳輸數(shù)據(jù)

開啟HSTS

這回主要記一下關(guān)于STS 的事兒。HTTP Strict Transport Security (通常簡稱為HSTS) 是一個安全功能辅斟,它通過服務(wù)器response header的形式告訴瀏覽器只能通過HTTPS訪問當(dāng)前資源, 禁止HTTP方式.

摘自:https://developer.mozilla.org
一個網(wǎng)站接受一個HTTP的請求转晰,然后跳轉(zhuǎn)到HTTPS,用戶可能在開始跳轉(zhuǎn)前士飒,通過沒有加密的方式和服務(wù)器對話查邢,比如,用戶輸入http://foo.com或者直接foo.com酵幕。

這樣存在中間人攻擊潛在威脅扰藕,跳轉(zhuǎn)過程可能被惡意網(wǎng)站利用來直接接觸用戶信息,而不是原來的加密信息芳撒。

網(wǎng)站通過HTTP Strict Transport Security通知瀏覽器邓深,這個網(wǎng)站禁止使用HTTP方式加載,瀏覽器應(yīng)該自動把所有嘗試使用HTTP的請求自動替換為HTTPS請求

現(xiàn)實案例

你連接到一個免費(fèi)WiFi接入點番官,然后開始瀏覽網(wǎng)站庐完,訪問你的網(wǎng)上銀行,查看你的支出徘熔,并且支付一些訂單门躯。很不幸,你接入的WiFi實際上是黑客的筆記本熱點酷师,他們攔截了你最初的HTTP請求讶凉,然后跳轉(zhuǎn)到一個你銀行網(wǎng)站一模一樣的釣魚網(wǎng)站。 現(xiàn)在山孔,你的隱私數(shù)據(jù)暴露給黑客了懂讯。

Strict Transport Security解決了這個問題;只要你通過HTTPS請求訪問銀行網(wǎng)站台颠,并且銀行網(wǎng)站配置好Strict Transport Security褐望,你的瀏覽器知道自動使用HTTPS請求,這可以阻止黑客的中間人攻擊的把戲串前。

Nginx 設(shè)置HSTS

編輯你的Nginx具體網(wǎng)站配置文件瘫里,在SSL Configuration 中添加SSL key和cert 簽名證書,并且配置add header荡碾,讓每一個http response 都具有STS 字段谨读。

// nginx 網(wǎng)站部分配置內(nèi)容
# ssl configuration
listen 443 ssl http2 default_server;
ssl on;
ssl_certificate [cert 路徑]
ssl_certificate_key [private key 路徑]
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; "
  • max-age 表示STS 策略的過期時間,也就是瀏覽器在收到帶有 Strict Transport Security -
    response header 多久后過期坛吁,就可以轉(zhuǎn)為http 請求.
  • includeSubdomains 表明 STS 策略也應(yīng)用到 當(dāng)前域名的子域名劳殖。

如此這般铐尚,就已經(jīng)開啟了STS,這使得服務(wù)器每次response都告訴瀏覽器所有請求都強(qiáng)制使用https哆姻,就算用戶手動輸入http 地址也會在瀏覽器內(nèi)部替換為https 請求宣增,在根源上杜絕瀏覽器與服務(wù)器建立非安全連接。

307 瀏覽器內(nèi)部重定向填具,Request URL 本來是http统舀,瀏覽器自動替換為https,重新發(fā)送了第二個請求

寫在最后

為什么我一定要對網(wǎng)站啟用https劳景,主要是為了測試 https 對數(shù)據(jù)傳輸?shù)募用苡颍W(wǎng)站性能。特別是涉及到用戶個人聊天記錄盟广、支付信息等隱私數(shù)據(jù)闷串,必須采用 SSL加密傳輸,才能防止數(shù)據(jù)傳輸過程被中間人劫持筋量、篡改烹吵。
如今網(wǎng)絡(luò)安全形式愈演愈烈,不論是阿里巴巴還是百度桨武,都在幾年前率先全站升級為HTTPS肋拔,GeoQ Ana這樣的在線制圖平臺也采用HTTPS 來實現(xiàn)用戶隱私數(shù)據(jù)(往往是商業(yè)數(shù)據(jù))的上傳,保證平臺的數(shù)據(jù)安全性呀酸。

So凉蜂,作為一個兼職網(wǎng)絡(luò)安全的前端工程師,希望大家注意安全性誉,哈哈哈窿吩。

參考文章:
快速搭建HTTP2 網(wǎng)站
你所不知道的 HSTS
一休哥升級到HTTP2的網(wǎng)站 ,
前后端都經(jīng)過SSL 加密的資源代理DEMO
注意安全系列第一篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市错览,隨后出現(xiàn)的幾起案子纫雁,更是在濱河造成了極大的恐慌,老刑警劉巖倾哺,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轧邪,死亡現(xiàn)場離奇詭異,居然都是意外死亡羞海,警方通過查閱死者的電腦和手機(jī)忌愚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扣猫,“玉大人,你說我怎么就攤上這事翘地∩暧龋” “怎么了癌幕?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長昧穿。 經(jīng)常有香客問我勺远,道長,這世上最難降的妖魔是什么时鸵? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任胶逢,我火速辦了婚禮,結(jié)果婚禮上饰潜,老公的妹妹穿的比我還像新娘初坠。我一直安慰自己,他們只是感情好彭雾,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布碟刺。 她就那樣靜靜地躺著,像睡著了一般薯酝。 火紅的嫁衣襯著肌膚如雪半沽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天吴菠,我揣著相機(jī)與錄音者填,去河邊找鬼。 笑死做葵,一個胖子當(dāng)著我的面吹牛占哟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜂挪,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼重挑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棠涮?” 一聲冷哼從身側(cè)響起谬哀,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎严肪,沒想到半個月后史煎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡驳糯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年篇梭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酝枢。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡恬偷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帘睦,到底是詐尸還是另有隱情袍患,我是刑警寧澤坦康,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站诡延,受9級特大地震影響滞欠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肆良,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一筛璧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惹恃,春花似錦夭谤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至曲秉,卻和暖如春采蚀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背承二。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工榆鼠, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亥鸠。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓妆够,卻偏偏與公主長得像,于是被迫代替她去往敵國和親负蚊。 傳聞我的和親對象是個殘疾皇子神妹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容