SecOps:DevOps的进阶形式
全球IT支出現已觸及4萬億美元。在當今科技密集的環境中,數據是最大的商品,其價值和力量比以往任何時候都要大。正如彼得·帕克的叔叔本所說,“能力越大,責任越大”。
對於珍貴事物而言,安全性始終是一個大問題,IT也不例外。整個IT領域正試圖在開發週期中提前加入安全性—試圖在開發過程的每一步中涉入安全性。就在開發和運營團隊習慣了我們稱之為DevOps的“團隊精神”之際,我認為是時候加入第三個劍客:安全性了。
什麼是SecOps?
SecOps是安全性和運營團隊之間的合作,就像開發和運營團隊在DevOps前沿合作一樣。SecOps是組織需要遵循的一套實踐、他們需要執行的過程以及他們需要使用的工具,以確保應用環境的安全。SecOps確保組織在達到既定的性能和正常運行指標時不會犧牲安全性。
在典型的開發週期中—需求收集、設計、開發、測試、實施或部署和維護—安全性通常在較晚的階段引入,可能是在測試和部署之間,甚至更晚。但SecOps就是要確保在軟體開發生命週期(SDLC)的每個階段或更早引入安全性相關方面。
我知道你在想什麼:這會使事情變得複雜,並增加交付時間。這就是開發和運營團隊需要聯合起來,使事情變得簡單且有效率的地方。你可能會想,為什麼要這麼麻煩?反過來想想。當你在交付或實施的時候就解決了安全性問題,難道不是更節省時間嗎?這需要安全小組、開發團隊和運營團隊的融合;一點計劃;以及大量的執行。
SecOps + 容器
容器化正慢慢地從一種全虛擬化的替代方案轉變為運行應用的嚴肅平台。容器具有一些明顯的優勢,包括可擴展性和靈活性,這解決了應用開發中與資源相關的大多數問題。減小的大小;減少應用環境和測試的準備時間;平台包括Docker、Solaris Zones、BSD Jails;以及編排平台包括Kubernetes、CoreOS Fleet、Amazon ECS和OpenShift使容器成為應用開發環境更受偏好的選擇。
這種向容器化的增加關注點明確了需要集中注意安全性方面。以下是一些最佳SecOps實踐,適用於容器環境,你和你的組織團隊可以遵循:
- 真實來源和圖像:總是檢查容器圖像的真實性。有各種工具,例如Docker的安全掃描。通過Docker Cloud和Docker Hub,您可以掃描圖像以檢查潛在的安全漏洞。大多數圖像都是基於某些基礎圖像構建的,而不是從頭開始構建的,因此使用的圖像總是存在威脅。
- 漏洞管理工具:市場上有工具可用於在您實際開始使用它們之前,分析容器圖像格式和庫以尋找威脅。
- 遵循基準和加固指南:在開始生產之前,請務必進行檢查並遵循容器、圖像、主機和平台的加固指南。有一些容器的標準和基準檢查,如CIS的Docker安全基準、PCI合規清單等。
- 定期審計:定期審計您的應用環境可以幫助您避免未來的麻煩。此外,審計過程的自動化可以幫助檢測未使用的圖像和容器。
- 使用管理框架:使用可以自動化行為概述的框架,並控制所有用戶,授權訪問容器、圖像和主機的訪問。
- 容器引擎系統和第三方安全解決方案內建的安全性:第三方供應商除了容器管理平台的安全系統外,還有許多用於容器安全的應用程序。
Dev + Sec + Ops
隨著對新應用和軟件的業務需求不斷增加,以及如DevOps、敏捷開發、雲計算、自動化、CI/CD等新的實踐和開發趨勢的出現,傳統的安全需求需要在新範式下進行升級。值得慶幸的是,這些實踐中的一些有助於安全性。以CI/CD為例:持續集成需要持續集成工具,或者我們所說的構建服務器。一些流行的例子包括Jenkins、TeamCity、GitLab CI、Travis CI、Bamboo、Go CD、CircleCI和Codeship。最佳的SecOps實踐是在CI/CD工作流程的早期階段檢查並修復漏洞。在身份驗證、掃描、管理工具和CI/CD管道工具之間的整合可能是解決您安全相關問題的最佳方案。一些易於實施的解決方案可以包括自動化安全測試、靜態代碼分析、身份驗證檢查和登錄跟踪。
SecOps使組織能夠在生命周期管理、安全威脅分析、事件管理、優化和測量安全控制的有效性、減少違規響應時間、減少安全風險和增加業務安全方面發揮作用。SecOps工作的基本原則是避免、分析、響應、審查、重複。通過分析安全事件和數據,您可以構建事件響應計劃,以避免未來的不希望事件。
框架和工具
- Docker原生工具:如果您使用Docker作為平台,則可以使用Docker本身提供的一些安全工具來保護生產環境的安全:Docker Bench和Docker Notary。Docker Bench是一個腳本,檢查在生產中部署Docker容器的常見最佳實踐。Docker Notary使您能夠檢查內容是否來自受信任的發布者。
- Chef:Chef提供包括Inspec在內的不同工具來自動化安全測試。
- Puppet:Puppet提供安全合規和政策定義框架。
- Ansible:Ansible提供系統跟踪、設置防火牆規則、用戶鎖定和合規自動化解決方案。
- CoreOS Clair:CoreOS Clair是一個開源項目,用於應用和Docker容器的漏洞分析。
- SaltStack:SaltStack可以幫助在容器的安全實踐解決方案中進行編排和自動化。
這只是一些最受歡迎的工具和框架的概覽。如果您願意,還有許多其他工具和框架可以照顧到您的應用環境的安全,
在任何組織中實施SecOps實踐的主要動機是在所有可能的階段涉入安全團隊,以消除開發階段的任何不明確性,而不是安全團隊向運營團隊提供分析報告,然後坐下來享受成果。當這些團隊以協同的方式執行時,業務重點可以轉移到其他重要事項上。