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