ak(accesskey)是代表使用者身份的鑰匙,是使用者訪問阿里雲api的身份認證金鑰。如果部署在ecs例項中的應用程式需要訪問各種阿里雲服務api,使用者通常會將ak儲存在應用程式的配置檔案中,使得應用程式能讀取ak來呼叫阿里雲服務api。這裡存在兩個問題:(1) 保密性問題。不管ak以何種形式存在於例項中,它都可能隨著快照、映象及映象建立出來的例項被洩露。(2) 難運維性問題。由於ak存在於例項中,如果要更換ak(比如週期性輪轉或切換使用者身份),那麼需要對每個例項和映象進行更新並重新部署,這會極大增加對例項和顯像管理的複雜性。
針對保密性問題的通常解法是借助加解密(crypto)或訪問控制(access control)技術。
加密方案
由於ak本身也是一種金鑰,而加解密技術通常不適合保護金鑰本身,因為總有最後一把金鑰(last key)是需要保護的,所以加密技術這裡不實用。當然可能有少數區域的ecs例項提供了可信加密裝置支援(比如hsm、tpm或sgx),但基於硬體來保護last key的方法是另乙個專題,本文不做討論。訪問控制方案
一種簡單有效的ak保護做法是採用訪問控制技術。比如,可以使用作業系統提供的訪問控制機制來保護存放ak金鑰的配置檔案,比如針對難運維性問題就難解了,只要ak存在於例項檔案中,對大量例項和映象的管理複雜性就無法降低。$ chmod 400 ~/.aliyuncli/credentials (只允許當前使用者可讀) 在使用者登入管理嚴格的條件下,這種機制可以起到一定的保護作用。但由於ak本身沒有加密,通過快照或映象洩露之後就可能繞過訪問控制機制,仍然可能洩漏。
我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要搶光了。
站在作業系統設計的角度,使用者態中難解的問題,在核心態看來根本不是事。同樣,ecs例項中難解的問題交給ecs管控來解,也不是難題。
阿里雲ecs結合ram (resource access management)提供的訪問控制能力,針對此問題提供了乙個根本的解決方法 —— 通過給ecs例項配置ram角色來避免ak洩露及運維難的問題。
MongoDB最佳安全實踐
近幾年,mongodb應用越來越多,mongodb也越來越火。從2015年開始,mongodb被一些 非法組織 黑客 盯上了。他們的做法也很簡單,連到你的資料庫上,把你的資料拿走,然後把你的庫清空,留乙個訊息給你,索要位元幣。跟最近流行的勒索病毒乙個套路。我在某個雲上有一台伺服器,主要用來做各種研究...
Dockerfile 安全最佳實踐
容器安全雖然是乙個很寬泛的問題,但其實有很多小技巧可以幫助我們降低使用的風險。編寫 dockerfile 時遵循一些規則就是乙個很好的出發點。保密字典 secrets 的發布是乙個棘手的問題,很容易出錯。對於容器化的應用,可以通過掛載卷或者環境變數的方式顯示它們。使用env儲存 secrets 則是...
雲伺服器 ECS 安全 ECS安全組實踐(一)
ecs安全組實踐 一 在雲端安全組提供類似虛擬防火牆功能,用於設定單個或多個 ecs 例項的網路訪問控制,是重要的安全隔離手段。建立 ecs 例項時,您必須選擇乙個安全組。您還可以新增安全組規則,對某個安全組下的所有 ecs 例項的出方向和入方向進行網路控制。本文主要介紹如何配置安全組的入網規則。安...