Docker之所能達到輕量、快速部署的特性,其中映像檔是個關鍵,平時它僅儲存在映像檔儲存庫,直到
開發者有部署需求,再發布到容器主機執行即可。而李勁頤表示,Docker為了確保映像檔來自可信來
源,推出了內容認證機制(ContentTrust),透過更新框架(TheUpdateFramework,TUF)這個公開
金鑰基礎架構(PKI),驗證、簽署Docker映像檔,不需要額外申請特殊憑證。
「TUF是所有認證機制的根源」,李勁頤表示,在每個相異的帳號都有一隻Root金鑰,用於簽署Root中介
檔案文件。而Root金鑰又可往下細分,其中包括了時間戳記金鑰(TimestampKey)、目標金鑰
(TargetKey)、快照金鑰(SnapshotKey)以及授權金鑰(DelegationKey)。
每個金鑰也擁有不一樣用途,例如時間戳記金鑰,除了用於簽署時間戳記中介檔案,確保檔案都是最新版
本外,它也用於確保快取文件的一致性。再者是目標金鑰,其目的是用於簽署目標中介檔案,此文件的重
要性在於確保容器儲存庫內檔案的一致性。第三個金鑰則是簽署快取中介檔案的快取金鑰,而快取中介文
件紀錄容器儲存庫內所有中介檔案的大小、雜湊值等資訊。
在2015年時,Docker推出了Notary專案,其運作的Notary服務是由Notary伺服器及Notary簽署工具所
組成。使用者可以透過Notary伺服器,對已經過簽署的中介檔案,進行更新、儲存,而Notary簽署工具
的用途則是儲存私密金鑰,並且協助Notary伺服器簽署中介檔案。
而李勁頤表示,Docker內容認證機制的運作原理,是透過Notary伺服器,管理TUF中介資料以及相關金
鑰。除了Notary客戶端,開發者也可以利用Docker客戶端與Notary伺服器溝通,「但是更進階的金鑰管
理,必須透過Notary客戶端操作。」
但是危險的不僅是容器映像檔,提供映像檔儲存的基礎架構也是一大隱憂,根據趨勢科技的研究就發現,
去年光是美國就有超過1,000個公開儲存庫,緊接著在中國也發現超過500個公開儲存庫。李勁頤表示,公
開儲存庫的危險在於,駭客可以上傳遭感染的映像檔,「一旦它被部署到正式環境,攻擊者就可以透過這
個容器,攻擊容器網路或是容器主機。」為了加強容器儲存庫的安全性,他建議開發者必須開啟TLS認證。
也能靠漏洞掃描工具加強容器安全
同時李勁頤建議,開發者也要搭配容器漏洞掃描工具,確保映像檔內容安全。像是Docker官方推出的漏
洞掃描工具DockerSecurityScanning,讓開發者可以在私人容器儲存庫,對容器映像檔進行掃描,確認
它們是否暴露在已知風險,或是存在漏洞。開發者啟用Docker內容認證機制後,當映像檔上傳至儲存庫
後,系統自動會啟動DockerSecurityScanning,進行漏洞掃描。