在QCon倫敦2016大會上,Boxfuse首席執行官Axel Fontaine談了“可引導應用(Bootable App)”模式,,這是一個將不可變基礎設施部署到云上的裸機鏡像。這個最小鏡像包含了棧中的所有層次,包括OS內核、庫和運行時環境,但空間占用仍然很小(MB級而不是GB級),減少了鏡像上傳時間和存儲成本,同時還顯著縮小了運行實例的攻擊面。
Fontaine提出,這個最小鏡像只包含棧底層中絕對必要的組件。該鏡像然后會包含應用程序本身、應用程序服務器、相應的語言運行時及所需的庫、OS內核。下圖是可引導應用(歸功于Axel Fontaine)中典型組件集與傳統全功能鏡像的對比:
由于這個最小鏡像省略了許多常常成為攻擊點(例如SSH)的標準OS工具,得到的實例就避開了已知的和將來的漏洞(Fontaine建議采用集中式日志系統,確保日志在任何實例終止很長一段時間后仍然可以訪問)。
對于應用程序安全而言,實例生命期短暫是一個永恒的優勢,因為它們每次部署時會被替換,這樣,對于任何特定實例的成功攻擊,其持續時間和范圍就受到了限制。Fontaine對其影響提出了警告:實例需要在任何時點都是可拋棄的(數據存儲應該有自己的安全和可靠性機制),而會話應該加密并登記到客戶Cookies中。
對于成本和安全效率,Fontaine還建議最小化不必要的復雜性。例如,在彈性負載均衡器就足夠的情況下安裝復雜的服務發現工具;當應用程序可以使用云平臺提供的原生服務運行和擴展時引入容器(及相關的鏡像管理、調度&編排、容量管理和網絡方案)。組織應該專注于提升應用程序的業務價值,簡化應用程序交付過程,考慮運行一項服務的整體成本(包括安裝配置的時間及管理的復雜性),而不只是云托管成本。
查看英文原文:Bootable Apps for Immutable Infrastructure and Security