什麼是 DevSecOps?
DevSecOps 的實踐之旅開始於 DevSecOps 增權、賦能和培養。下面就介紹如何開始學習使用 DevSecOps。
Stephen Streichsbier 說過: DevSecOps 使得組織可以用 DevOps 的速度釋出內在安全的軟體。
DevSecOps 是一場關於 DevOps 概念實踐或藝術形式的變革。為了更好理解 DevSecOps,你應該首先理解 DevOps 的含義。
DevOps 起源於通過合併開發和運維實踐,消除隔離,統一關注點,提升團隊和產品的效率和效能。它是一種注重於構建容易維護和易於平常自動運營的產品和服務的新型協作方式。
安全在很多團隊中都是常見的隔離點。安全的核心關注點是保護團隊,而有時這也意味著建立延緩新服務或是新產品釋出的障礙或策略,用於保障任何事都能被很好的理解和安全的執行,並且沒有給團隊帶來不必要的風險。
因為安全隔離點方面的明顯特徵和它可能帶來的摩擦,開發和運維有時會避開安全要求以滿足客觀情況。在一些公司,這種隔離形成了一種產品安全完全是安全團隊責任的期望,並取決於安全團隊去尋找產品的安全缺陷或是可能帶來的問題。
DevSecOps 看起來是通過給開發或是運維角色加強或是建立安全意識,或是在產品團隊中引入一個安全工程師角色,在產品設計中找到安全問題,從而把安全要求匯聚在 Devops 中。
這樣使得公司能更快釋出和更新產品,並且充分相信安全已經嵌入產品中。
堅固的軟體哪裡適用 DevSecOps?
建造堅固的軟體是 DevOps 文化的一個層面而不是一個特別的實踐,它完善和增強了 DevSecOps 實踐。想想一款堅固的軟體就像是某些經歷過殘酷戰鬥過程的事物。
有必要指出堅固的軟體並不是 100% 安全可靠的(雖然它可能最終是在某些方面)。然而,它被設計成可以處理大部分被拋過來的問題。
踐行堅固軟體最重要的原則是促進競爭、實踐、可控的失敗與合作。
你該如何開始學習 DevSecOps ?
開始實踐 DevSecOps 涉及提升安全需求和在開發過程中儘可能早的階段進行實踐。它最終在公司文化上提升了安全的重要性,使得安全成為所有人的責任,而並不只是安全團隊的責任。
你可能在團隊中聽說過“左上升”這個詞,如果你把開發週期線扁平化到一條橫線上,以包括產品變革的的關鍵時期:從初始化到設計、建造、測試以及最終的執行,安全的目的就是儘早的參與進來。這使得風險可以在設計中能更好的評估、交流和減輕。“左提升”的含義是指促使安全能在開發週期線上更往左走。
這個過程始於三個關鍵要素:
- 增權
- 賦能
- 培養
增權,在我看來,是關於釋放控制權以及使得團隊(在理性分析下)做出獨立決定而不用害怕失敗或影響。這個過程的唯一告誡資訊就是要嚴格的做出明智的決定(不要比這更低要求)。
為了實現增權,商務和行政支援(通過內部銷售、展示來建立,通過建立矩陣來展示這項投資的回報)是打破歷史障礙和割裂的團隊的關鍵。合併安全人員到開發和運維團隊中,提升交流和透明度有助於開始 DevSecOps 之旅。
這個整合和移動使得團隊只關注單一的結果:打造一個他們共同負責的產品,讓開發和安全人員相互依賴合作。這將引領你們共同走向增權。這是產品研發團隊的共同責任,並保證每個可分割的產品都保持其安全性。
賦能涉及正確的使用掌握在團隊手中的工具和資源。這是建立一種通過論壇、維基、資訊聚合的知識分享文化。
打造一種注重自動化、重複任務應該編碼來儘可能減少以後的操作並增強安全性的理念。這種場景不僅僅是提供知識,而是讓這種知識能夠通過多種渠道和媒介(通過某些工具)可獲取,以便它可以被團隊或是個人以他喜歡的方式去消化和分享。當團隊成員正在編碼時一種媒介可能工作的很好,而當他們在進行中時另一種可能更好。讓工具簡單可用,讓團隊用上它們。
不同的 DevSecOps 團隊有不同的喜好,因此允許他們儘可能的保持獨立。這是一個微妙的平衡工作,因為你確實希望實現規模經濟和產品間共享的能力。在選擇中協作和參與,並更新工具方法有助於減少使用中的障礙。
最後,也可能是最重要的,DevSecOps 是有關訓練和興趣打造。聚會、社交或是組織中通常的報告會都是讓同事們教學和分享他們的知識的很棒的方式。有時,這些會突出其他人可能沒有考慮過的共同挑戰、顧慮或風險。分享和教學也是一種高效的學習和指導團隊的方法。
在我個人經驗中,每個團隊的文化都是獨一無二的,因此你不能用一種“普適”的方法。走進你的團隊並找到他們想要使用的工具方法。嘗試不同的論壇和聚會並找出最適用於你們文化的方式。尋找反饋並詢問團隊如何工作,他們喜歡什麼以及對應的原因。適應和學習,保持樂觀,不要停止嘗試,你們將會有所收穫。
via: https://opensource.com/article/19/1/what-devsecops
作者:Brett Hunoldt 選題:lujun9972 譯者:PandaWizard 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 什麼是DevSecOps?開發人員如何為安全而左移dev
- AppSec與DevSecOps有什麼區別?APPdev
- 我們為什麼需要 DevSecOps 和製品倉庫?dev
- 什麼是cookie,什麼是sessionCookieSession
- 這是什麼這是什麼
- 什麼是分而治之?什麼是WBS?
- 什麼是DNS,什麼是HostsDNS
- 什麼是WebAuthn、FIDO 是什麼?Web
- ###什麼是Linux核心###什麼是MMULinux
- ITIL是什麼意思?ITIL是什麼?
- SNP全稱是什麼? SNP是什麼公司? SNP是什麼意思?
- 人是什麼?人生是什麼?人為什麼會變?
- ftp是什麼,ftp是什麼東西?FTP
- 什麼是正向代理?什麼是反向代理?
- NLA是什麼?NLA的原理是什麼?
- Java是什麼_Java是做什麼的?Java
- 什麼是this
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- IDFA、IMEI、OAID 是什麼,區別是什麼AI
- GNU是什麼?和Linux是什麼關係?Linux
- 什麼是SSRF攻擊?SSRF用途是什麼?
- 什麼是API介面,具體是什麼意思?API
- DRBD是什麼意思?優缺點是什麼?
- 什麼是塊元素?什麼是行內元素?
- 什麼是Tornado?它的特點是什麼?
- nginx 是什麼,能幹什麼?Nginx
- 什麼是zoom?它有什麼作用?OOM
- 什麼是NLA,它有什麼用?
- 什麼是Django?有什麼用途?Django
- AI三重問:什麼是AI?什麼是AI模型?什麼是AI大模型?AI大模型
- 什麼是重繪repaint?什麼是迴流reflow?AI
- DHCP是什麼?DHCP伺服器是什麼意思?伺服器
- 什麼是eval()?eval是用來幹什麼的?
- 域名是什麼?申請域名的流程是什麼?
- 什麼是CDN?CDN的技術原理是什麼?
- 什麼是樂觀鎖,什麼是悲觀鎖
- 車上HOLD是什麼意思,AUTO HOLD是什麼功能,有什麼作用?