淺論四個微服務(wù)安全應(yīng)用的最佳實踐
第一條:發(fā)現(xiàn)并監(jiān)控服務(wù)間的通訊
通常來說,安全管理者并不了解:在微服務(wù)應(yīng)用中不同服務(wù)間的交互哪些是允許的。盡管在需要確保應(yīng)用安全性時,管理者需要配置安全策略,并基于應(yīng)用部署指南或者其它來自開發(fā)者的非正式指導(dǎo)來管理相應(yīng)的交互。隨著應(yīng)用發(fā)展,新服務(wù)上線,規(guī)則也可能會修改。
迎接這一挑戰(zhàn),緩解問題的方式之一就是觀察并可視化服務(wù)間的通訊,通過對應(yīng)用行為的理解,建立起相應(yīng)的策略基準(zhǔn)線。服務(wù)發(fā)現(xiàn)機制能自動檢測到應(yīng)用中出現(xiàn)的新服務(wù),而使用這些功能可以讓開發(fā)者與管理者了解服務(wù)的實時交互與性能表現(xiàn),也有助于安全團隊發(fā)現(xiàn)異常的溝通模式,甚至識別潛在的漏洞。
第二條:對應(yīng)用與服務(wù)進(jìn)行分段或獨立
微分段是在應(yīng)用之間通過策略建立起屏蔽,按顆粒度分段來保障各部分的安全。微分段可以使用相對較粗的顆粒度,比如將開發(fā)環(huán)境與生產(chǎn)環(huán)境相隔離;或者更細(xì)致一些的,比如管理電子商務(wù)應(yīng)用中的目錄服務(wù)與訂單管理服務(wù)之間的交互。對于在微服務(wù)中的分段執(zhí)行工作,在每個主機所運行的服務(wù)實例中,策略以集群為級別來執(zhí)行。
第三條:加密傳輸數(shù)據(jù)與靜態(tài)數(shù)據(jù)
對應(yīng)用或服務(wù)間數(shù)據(jù)傳輸進(jìn)行加密,使得應(yīng)用合乎要求,同時也提高其安全性(特別是公共網(wǎng)絡(luò)上的數(shù)據(jù)安全性)。保持證書更新、管理軟件版本、修復(fù)已知SSL問題。在工具上的投入有助于管理與分發(fā)密匙,在解決資源擴展的問題時保持更新密匙,這樣加密就不會影響到性能了。
第四條:自動化策略管理與配置
跨越不同系統(tǒng)與重復(fù)任務(wù)的復(fù)雜管理功能經(jīng)常會出現(xiàn)人為的錯誤,最應(yīng)當(dāng)避免卻時常出現(xiàn)的安全事故源頭仍是人為的錯誤,比如配置錯誤或者忘記更新。我們的目標(biāo)是:將諸如可在不同應(yīng)用間復(fù)制的策略定義、將管理與開發(fā)角色相分離、管理SSL證書與密匙等任務(wù)自動化,以減少人為錯誤發(fā)生;而距離這一目標(biāo),我們還有很長的路要走。同樣,想要將整個堆棧的部署、管理與維護(hù)等任務(wù)自動化,以提高整體動態(tài)環(huán)境的安全狀態(tài)評估值,也有許多的工作需要完成。