還記得前幾天在說明用 S3 建立網頁時,最後看到的成果嗎?在 Chrome 瀏灠器上方出現了一個超級顯眼包 - 紅色驚嘆號!!不安全!!!
這是為什麼呢?因為我們現在建立的網頁並沒有SSL憑證,那網站到底需不需要 SSL?
答案當然是:要。不然你的網站就像在網路上裸奔,還貼了個「歡迎偷看」的告示。現在的瀏覽器也會很雞婆的幫你掛個「⚠️ 不安全」大旗。
更慘的是,使用者一看到這個警告,馬上關掉網頁,然後去跟朋友說「這網站看起來怪怪的」。就算是什麼都不懂的網路小白,也被YouTube的廣告教到看到這個就知道不安全啊,辛辛苦苦弄出來的網站,瞬間什麼都不是了。
講正經的,SSL 是 Secure Sockets Layer 的縮寫,專有名詞是 SSL/TLS 憑證,是一種數位物件,讓系統驗證身分並隨後使用 Secure Sockets Layer/Transport Layer Security (SSL/TLS) 協定,與另一個系統建立加密網路連線。聽起來很高大上,其實翻成白話就是「給網站套一層保護罩」。
它能幹嘛?很簡單,幫你把網路傳輸的資料加密。沒有它,你的帳號密碼在網路上跑來跑去,駭客只要抓到封包一聽就懂,直接複製貼上登入你帳號。
有了它,駭客就算偷聽到,也像是聽到外星語錄音帶,解碼還要去找 Google 翻譯幫忙(當然是翻不出來啦!)。
一句話總結:SSL 就是防止你資料在網路裸奔的一件衣服。
那 SSL 憑證哪裡來?它不是免費的糖果,得向「憑證機構」(像 DigiCert、Let’s Encrypt)買或申請。有的免費(Let’s Encrypt 大放送!),有的貴到讓你懷疑人生,但為了安全,值得啦!網站主人裝好憑證後,瀏覽器就會秀出那個超放心的鎖頭,讓你安心逛。
SSL 憑證不是買了就一勞永逸,它跟牛奶一樣有保存期限。常見是 90 天或 1 年,到期就 GG。
忘了換會怎樣?簡單講,你網站會立刻變成「過期牛奶」,瀏覽器直接擋住,還貼警告說「此網站的憑證已過期」。
這就是為什麼很多工程師都有「半夜驚醒症候群」——因為老闆打來說:「欸,網站 SSL 掛了,客戶刷不進去,你快修!」
講了這麼多,終於要介紹今天的男主角:AWS ACM (AWS Certificate Manager)。
這服務的功能很簡單:幫你管 SSL 憑證。
重點是:免費!!沒看錯,這個服務在特定的服務搭配下是不用錢的(還不用爆)。
你不用再花錢去買第三方憑證,AWS 大方送你 SSL,還能無縫整合到 CloudFront、ALB、API Gateway 等服務,直接一鍵套用,完全不用下載憑證檔再手動上傳那種原始人流程。
重點來了:ACM 不只免費,還幫你自動續約。
以前要換憑證,你得:
自動換證的好處:
今天稍微介紹一下 AWS ACM,用來管理 SSL 憑證。明天再向大家介紹一下 Amazon CloudFront 的用途,我們就可以來解決我們範例網頁的不安全告警的問題啦!!