管理云中的應(yīng)用程序依賴關(guān)系:策略和優(yōu)秀實踐
人們需要了解了應(yīng)用程序依賴關(guān)系映射的基礎(chǔ)知識,應(yīng)用程序依賴在云計算環(huán)境中的重要性,以及涵蓋了四個關(guān)鍵的最佳實踐。
什么是應(yīng)用程序依賴映射?
應(yīng)用依賴映射(ADM)可以讓企業(yè)創(chuàng)建整個生態(tài)系統(tǒng)的綜合地圖。它有助于避免盲點(diǎn),避免出現(xiàn)錯誤或漏洞。應(yīng)用依賴映射(ADM)解決方案可以識別和映射整個生態(tài)系統(tǒng)中的所有實例、應(yīng)用程序和通信通道,包括端口和服務(wù)。
有各種應(yīng)用依賴映射解決方案,包括供應(yīng)商原生、開源和商業(yè)供應(yīng)商不可知論工具。而供應(yīng)商不可知論的解決方案可以快速而輕松地識別幾個云計算提供商(例如MicrosoftAzure、谷歌云和AWS)上的子網(wǎng)、Vpc和安全組。
應(yīng)用依賴映射解決方案可以顯示直觀的地圖,直觀地表示應(yīng)用程序的依賴關(guān)系??梢怨蚕怼z查并使用此映射進(jìn)行規(guī)劃和故障排除。地圖可視化可以幫助支持業(yè)務(wù)戰(zhàn)略制定,根據(jù)業(yè)務(wù)場景進(jìn)行組織,實時對警報和信息進(jìn)行優(yōu)先級排序。
為什么應(yīng)用程序依賴映射在云計算中至關(guān)重要?
應(yīng)用程序依賴關(guān)系映射可以幫助企業(yè)遷移所有應(yīng)用程序的依賴關(guān)系。否則,可能會錯過一個關(guān)鍵的依賴項,而遷移時沒有它。因此,企業(yè)的應(yīng)用程序可能會出現(xiàn)性能問題或中斷。應(yīng)用程序依賴關(guān)系映射可以幫助避免這些問題。
云計算提供商在遷移之前就知道映射依賴關(guān)系的重要性,并提供了內(nèi)部部署環(huán)境的應(yīng)用依賴關(guān)系映射工具,包括Azure、AWS和谷歌云。由于這些工具提供了特定于其環(huán)境的結(jié)果,所以應(yīng)該只在遷移到其中一個云平臺時使用它們。
或者,也可以使用與供應(yīng)商無關(guān)的工具。有多種可用的選擇,包括免費(fèi)的、開源的工具。大多數(shù)工具都會分析應(yīng)用程序,為服務(wù)器間關(guān)系建模,并識別入站和出站連接延遲、必要的TCP端口和正在運(yùn)行的進(jìn)程。
云計算提供程序ADM工具
(1)AWS應(yīng)用程序發(fā)現(xiàn)服務(wù)
AWS應(yīng)用發(fā)現(xiàn)服務(wù)收集內(nèi)部部署數(shù)據(jù)中心的信息,幫助企業(yè)規(guī)劃遷移項目。數(shù)據(jù)中心遷移通常涉及數(shù)千個深度相互依賴的工作負(fù)載,因此在遷移過程的早期階段分析服務(wù)器利用率數(shù)據(jù)并執(zhí)行依賴關(guān)系映射是至關(guān)重要的。
AWS應(yīng)用程序發(fā)現(xiàn)服務(wù)聚合并呈現(xiàn)服務(wù)器的使用、行為和配置數(shù)據(jù),以幫助企業(yè)更好地理解其工作負(fù)載。該服務(wù)使用數(shù)據(jù)存儲,以加密格式保存收集到的數(shù)據(jù)。
用戶可以將數(shù)據(jù)導(dǎo)出為CSV文件,并使用它來估計AWS總擁有成本(TCO),并相應(yīng)地計劃其云遷移。也可以在AWS遷移樞紐中找到這些數(shù)據(jù),它可以讓用戶遷移服務(wù)器并跟蹤遷移進(jìn)度。
(2)Azure應(yīng)用見解
Azure應(yīng)用見解是AzureMonitor的一個特性,為實時Web應(yīng)用程序提供監(jiān)視和可擴(kuò)展的應(yīng)用程序性能管理(APM)。用戶可以使用Azure應(yīng)用見解自動檢測性能異常,并使用分析工具診斷問題。
該功能提供了關(guān)于用戶行為的信息,幫助用戶了解他們使用應(yīng)用程序做了什么。Azure應(yīng)用見解可以利用這些數(shù)據(jù)來不斷提高應(yīng)用的可用性和性能。默認(rèn)的應(yīng)用程序儀表板可以讓Azure應(yīng)用見解跟蹤負(fù)載、性能和響應(yīng)性,并監(jiān)視依賴關(guān)系、AJAX調(diào)用和頁面加載。
云中依賴管理的最佳實踐和策略
(1)版本固定
版本固定包括限制應(yīng)用程序中軟件依賴的版本,確保使用特定的版本(理想情況下是一個版本)。
固定依賴版本可以及時凍結(jié)應(yīng)用程序。盡管使應(yīng)用程序可復(fù)制是一種很好的做法,但它可能會產(chǎn)生不利影響,阻止應(yīng)用程序?qū)⒏潞喜⒌狡湟蕾図椫小e過了安全性和錯誤修復(fù)。
用戶可以通過使用自動化的依賴管理工具來處理源代碼控制存儲庫來緩解這個問題。依賴管理器監(jiān)視新版本的軟件依賴關(guān)系,并更新應(yīng)用程序。通常,這包括更新細(xì)節(jié),如變更日志數(shù)據(jù)。
(2)哈希和簽名驗證
有幾種方法可以確保軟件包發(fā)布的某個工件是想要安裝的工件。通過將工件的散列與工件存儲庫進(jìn)行比較,可以驗證工件的真實性和安全級別。
哈希驗證可以讓用戶確保依賴項包含正確的文件,并且惡意行為者沒有篡改它們。相信在工件的驗證或初始檢索期間工件存儲庫中列出的散列是安全且未被破壞的。
用戶還可以使用簽名驗證來為工件驗證過程添加一層安全層。工件可以由軟件維護(hù)者或工件存儲庫(或兩者)簽名。
(3)避免混淆私人和公共依賴關(guān)系
云原生應(yīng)用程序通常依賴于各種組件,包括開源軟件、第三方代碼、閉源組件和內(nèi)部庫。私有存儲庫對于跨多個應(yīng)用程序共享業(yè)務(wù)邏輯和重用相同的工具來安裝外部和內(nèi)部庫尤其有用。
然而,將公共依賴和私有依賴結(jié)合起來可能會使應(yīng)用程序遭受依賴混淆攻擊。當(dāng)威脅行為者將與內(nèi)部項目名稱相同的項目發(fā)布到開源存儲庫時,就會發(fā)生混淆攻擊。接下來,該行為者試圖使用錯誤配置的安裝程序在合法的內(nèi)部包上秘密安裝惡意庫。
這里有一些實踐可以幫助你避免依賴混淆攻擊:
?通過在鎖文件中列出所有依賴項的散列或簽名來驗證它們。
?確保內(nèi)部依賴和第三方依賴的安裝過程是分開的,使用兩個不同的步驟。
?在私有存儲庫中顯式鏡像第三方依賴,使用代理或人工處理。
(4)漏洞掃描
與其他組件一樣,依賴關(guān)系可能包括新發(fā)現(xiàn)的或零日漏洞。用戶必須設(shè)置一個進(jìn)程,該進(jìn)程掃描其依賴項,并在發(fā)現(xiàn)漏洞時獲得通知。然而,人工監(jiān)控漏洞數(shù)據(jù)庫的依賴關(guān)系和可靠地審計第三方軟件的依賴關(guān)系是很困難的。
漏洞掃描器會自動并持續(xù)地分析依賴項,在它們被發(fā)現(xiàn)時尋找漏洞。漏洞掃描工具會消耗鎖文件來識別您所依賴的工件,并在新的漏洞出現(xiàn)時通知您。有些工具可以建議升級路徑。
結(jié)論
以上解釋了應(yīng)用程序依賴映射的基礎(chǔ)知識,應(yīng)用程序依賴在云計算環(huán)境中的重要性,以及涵蓋了四個關(guān)鍵的最佳實踐,可以幫助用戶更好地利用云應(yīng)用程序映射,避免安全風(fēng)險:
?版本固定——確保依賴關(guān)系被限制在一定范圍的安全版本中,或者理想情況下只有一個版本。
?哈希和簽名驗證——確保軟件包中的構(gòu)件是真實的,不包含惡意組件。
?避免混合私有和公共依賴——在確保第三方依賴安全之后,更傾向于將第三方依賴鏡像到一個受信任的私有存儲庫中。
?漏洞掃描——確保所有依賴項都進(jìn)行了已知漏洞的掃描。
希望這將對人們提高可見性和對云計算部署的控制有所幫助。