在IT業(yè)的今天,DevOps正成為一個公認的概念。DevOps模型最初被創(chuàng)建來用于加強開發(fā)和運營團隊之間的聯(lián)系,以此達到更高效的軟件交付。盡管很多公司通過DevOps獲得了敏捷性,DevOps還是有其缺點—尤其是在安全方面。
在一般情況下,DevOps關(guān)注于加速應(yīng)用,以及包括那些會在云端運行的應(yīng)用的交付過程。但是,安全性往往是事后才考慮的。許多組織如果有實施安全也是在開發(fā)過程結(jié)束的時候才做。這種追加的方式意味著安全過程沒有滲透到整個服務(wù),因而讓服務(wù)易于遭受攻擊。
DevOps和安全之間的差距可能會成為一個主要的問題,但是一個已知的概念叫做堅固DevOps可以有助于解決該問題。
實現(xiàn)面向云的堅固DevOps模型
Rugged DevOps是一種將安全注入到DevOps早期過程中的方式。與堅固軟件開發(fā)類似,堅固DevOps提供一種防御性更強和更安全的結(jié)構(gòu)而不會阻礙持續(xù)集成和軟件交付。組織應(yīng)該將安全代碼嵌入扎根到他們的DevOps過程中。
遵循這五大技巧將堅固DevOps嵌入到你的云應(yīng)用開發(fā)生命周期中。
1.自動化手動安全測試
自動化在DevOps中很重要因為它提供了準確性和速度。應(yīng)用交付需要高效,而手動安全測試就是不夠快。更重要的是,第三方在外部手動測試中往往會漏掉測試錯誤。
盡管組織不需要完全拋棄手動測試,他們應(yīng)該將自動化過程提上日程。安全團隊應(yīng)該確定如何自動實施他們的手動過程。當嵌入堅固DevOps到你現(xiàn)有的云環(huán)境中時,對安全測試工具進行審核以確保可以將其加入到持續(xù)集成和應(yīng)用交付過程中。然后,刪除或替換不適合DevOps的工具或者不能與你的云業(yè)務(wù)集成的工具。
2.盡早優(yōu)先處理安全性
盡管IT行業(yè)采用敏捷和DevOps過程的比例很大,安全測試周期仍然還是基于傳統(tǒng)繁瑣的瀑布模型。這意味著許多組織忘記做安全資格測試,如PCI檢查和風險評估,直到幾乎為時已晚。為了更有效地同步安全和DevOps周期,從開發(fā)過程一開始就進行安全測試。
3.建立跨職能團隊參與
實施堅固DevOps,安全團隊需要開發(fā)和運營團隊緊密合作。當這么做時,安全專家應(yīng)該保持開放的心態(tài)去了解他們同事的文化和語言。這樣,這種關(guān)系就成了一種真正的伙伴關(guān)系而不是一種機械的形式。
4. 在運營中嵌入安全工具
在一個堅固DevOps模型中,安全團隊應(yīng)該讓組織的其他部門也了解安全工具。通過分享技術(shù)知識,企業(yè)將有更廣闊的勞動力,可以解決在第一線的安全問題。為了幫助小的安全團隊在更大的DevOps組織內(nèi)擴展其業(yè)務(wù)影響力,可以把安全工具包括在通用的操作工具包里。
5.監(jiān)控和審計集成過程
緊密監(jiān)控和記錄集成和交付流程,以確保高質(zhì)量的軟件。這也有助于識別安全問題。使用粒度變化日志為審計人員準備信息,以及可擴展的云安全監(jiān)測工具。這些工具應(yīng)能夠自動跟蹤和測量新添加的資源。此外,它們應(yīng)匯總監(jiān)測數(shù)據(jù)和快速檢測實際的問題,同時消除誤報。
Netflix借助FIDO實現(xiàn)堅固DevOps
Netflix做為DevOps和云的代表,提供了一個堅固DevOps的范例。今年,該公司發(fā)布了一個叫做Fully Integrated Defense Operation(FIDO)的新的開源系統(tǒng),可以自動協(xié)調(diào)對安全威脅的評定,評估和響應(yīng)。Netflix的系統(tǒng)還會在目標計算機或網(wǎng)絡(luò)上同外部威脅信息進行事件比較然后決定是否需要采取行動,以及應(yīng)該采取什么行動。
業(yè)界向云的遷移加速了向DevOps的遷移,并在自動化和可重用應(yīng)用交付上引發(fā)了令人驚喜的變化。隨著全世界最大的企業(yè)遷移到云并使用敏捷和DevOps模型交付他們的服務(wù),安全性已變得至關(guān)重要。組織應(yīng)該像處理服務(wù)質(zhì)量,包括性能的其他方面一樣處理安全管理。請務(wù)必在集成和交付的過程中自動化和簡化事件模擬和測試。這將確保你的最終用戶能享受到一個安全可靠的云服務(wù)。