DevSecOps
DevSecOps 在軟件開(kāi)發(fā)生命周期的每個階段自動實施安全措施,支持以敏捷方法和 DevOps 的速度開(kāi)發(fā)安全的軟件。
什麼(me)是 DevSecOps?
DevSecOps 是“開(kāi)發(fā)、安全和運營”的縮寫,在軟件開(kāi)發(fā)生命周期的每個階段自動集成(chéng)安全性 - 從最初的設計到集成(chéng)、測試、部署直至軟件交付。
DevSecOps 表示開(kāi)發(fā)組織實施安全性的自然和必要的發(fā)展過(guò)程。 過(guò)去,安全性總是由單獨的安全團隊在開(kāi)發(fā)周期結束時(shí)(幾乎是事(shì)後(hòu))添加到軟件中,并由單獨的質量保證 (QA) 團隊進(jìn)行測試。
當軟件更新每年僅發(fā)布一次或兩(liǎng)次時(shí),這(zhè)種(zhǒng)方法是可管理的。 但是,由于軟件開(kāi)發(fā)人員采用了敏捷和 DevOps 實踐,能(néng)夠將(jiāng)軟件開(kāi)發(fā)周期縮短到幾周甚至幾天,傳統的“添加式”安全方法會(huì)形成(chéng)不可接受的瓶頸。
DevSecOps 可將(jiāng)應用和基礎架構安全無縫集成(chéng)到敏捷和 DevOps 流程和工具中。 它解決了安全問題,因爲這(zhè)些問題出現後(hòu),用戶可以更輕松、更快速、以更低的成(chéng)本加以解決(在投入生産環境之前)。 此外,DevSecOps 使應用和基礎架構安全性成(chéng)爲開(kāi)發(fā)、安全和 IT 運營團隊的共同責任,而不僅僅是安全職能(néng)的職責。 它使“軟件更安全,更快完成(chéng)開(kāi)發(fā)” - 這(zhè)是 DevSecOps 的座右銘 - 在不減慢軟件開(kāi)發(fā)周期的情況下自動交付安全的軟件。
DevSecOps 的優勢
DevSecOps 的兩(liǎng)個主要優勢是速度和安全性。 開(kāi)發(fā)團隊更快地交付更安全的代碼,因此,成(chéng)本更低。
DevSecOps 宣言的共同作者 Shannon Lietz 表示:“DevSecOps 的目的和意圖是建立每個人都(dōu)負責安全的理念,目标是在不犧牲必要安全性的前提下,快速、安全、大規模地將(jiāng)安全決策分配給那些擁有最高背景級别的人。”
快速、經(jīng)濟有效的軟件交付
當軟件在非 DevSecOps 環境中開(kāi)發(fā)時(shí),安全問題會(huì)導緻巨大的時(shí)間延遲。 修複代碼和安全問題既耗時(shí)又昂貴。 DevSecOps 的快速安全交付可節省時(shí)間并減少成(chéng)本,最大程度減少在事(shì)後(hòu)重複執行流程以解決安全問題的需要。
由于集成(chéng)安全性消除了重複評審和不必要的重新構建,從而産生了更安全的代碼,因此 DevSecOps 更高效,成(chéng)本效益更高。
改進(jìn)的主動安全性
DevSecOps 從開(kāi)發(fā)周期開(kāi)始就(jiù)引入網絡安全流程。 在整個開(kāi)發(fā)周期中,對(duì)代碼進(jìn)行評審、審計、掃描和測試,以發(fā)現安全問題。 一旦發(fā)現問題,就(jiù)會(huì)立即處理。 在引入其他依賴關系之前,解決安全問題。 如果在周期中盡早确定和實施防禦技術,就(jiù)可以降低安全問題的成(chéng)本。
此外,開(kāi)發(fā)、安全和運營團隊之間更好(hǎo)的協作有助于改進(jìn)組織對(duì)發(fā)生的事(shì)件和問題的響應。 DevSecOps 實踐有助于縮短修補漏洞的時(shí)間,并使安全團隊能(néng)夠專注于更高價值的工作。 這(zhè)些做法還(hái)可确保并簡化合規性,節省應用開(kāi)發(fā)項目的精力,使其不必爲安全性進(jìn)行追溯。
加速安全漏洞修補
DevSecOps 的一個主要優勢是它能(néng)夠快速管理新發(fā)現的安全漏洞。 随著(zhe) DevSecOps 將(jiāng)漏洞掃描和補丁集成(chéng)到發(fā)布周期中,發(fā)現和修補常見漏洞和風險 (CVE) 的能(néng)力逐漸退出舞台。 這(zhè)限制了威脅制造者在面(miàn)向(xiàng)公衆的生産系統中利用漏洞的時(shí)間窗口。
與現代開(kāi)發(fā)相适應的自動化
如果組織使用持續集成(chéng)/持續交付管道(dào)交付軟件,那麼(me)可將(jiāng)網絡安全測試集成(chéng)到運營團隊的自動化測試套件中。
安全檢查自動化很大程度上取決于項目和組織目标。 自動化測試可确保整合的軟件依賴關系處于适當的補丁級别,并确認軟件通過(guò)安全單元測試。 此外,在最終更新升級到生産環境之前,它可以使用靜态和動态分析來測試和保護代碼。
可重複、自适應的過(guò)程
随著(zhe)組織逐步成(chéng)熟,其安全姿态也日趨成(chéng)熟。 DevSecOps 將(jiāng)自身實施爲可重複、自适應的過(guò)程。 這(zhè)确保在環境中一緻地應用安全性,随著(zhe)環境發(fā)生變化,安全性也會(huì)适應新要求。 成(chéng)熟的 DevSecOps 實現將(jiāng)具有堅實的自動化、配置管理、編排、容器、不可改變的基礎架構甚至無服務器計算環境。
DevSecOps 的最佳實踐
DevSecOps 可將(jiāng)安全控制自然融入開(kāi)發(fā)、交付和運營流程。
左移
“左移”是 DevSecOps 的一種(zhǒng)說(shuō)法: 它鼓勵軟件工程師將(jiāng)安全性從DevOps(交付)流程的右側(末尾)移至左側(開(kāi)頭)。 在 DevSecOps 環境中,安全性從一開(kāi)始就(jiù)成(chéng)爲開(kāi)發(fā)流程不可分割的組成(chéng)部分。 使用 DevSecOps 的組織將(jiāng)其網絡安全架構師和工程師作爲開(kāi)發(fā)團隊的一部分。 他們的工作是确保技術棧中的每個組件和每個配置項都(dōu)已修補、安全地配置并妥善記錄。
左移讓 DevSecOps 團隊能(néng)夠及早發(fā)現安全風險,并确保立即解決這(zhè)些安全威脅。 開(kāi)發(fā)團隊不僅要考慮高效地構建産品,還(hái)在構建時(shí)實施安全性。
安全教育
安全性是工程與合規性的結合。 組織應在開(kāi)發(fā)工程師、運營團隊和合規團隊之間形成(chéng)聯盟,确保組織中的所有人了解公司的安全狀況,遵循相同的标準。
參與交付過(guò)程的每個人都(dōu)應該熟悉應用安全性的基本原則、開(kāi)放式 Web 應用安全項目 (OWASP) 的前 10 大實踐、應用安全測試和其他安全工程實踐。 開(kāi)發(fā)人員需要了解線程模型和合規性檢查,并了解如何衡量風險以及如何實施安全控制
文化: 通信、人員、流程和技術
出色的領導能(néng)力能(néng)夠促進(jìn)良好(hǎo)的企業文化,推動組織内的變革。 在 DevSecOps 中,傳達流程和産品所有權的安全職責至關重要。 隻有這(zhè)樣,開(kāi)發(fā)人員和工程師才能(néng)成(chéng)爲流程負責人,爲其工作承擔責任。
DevSecOps 運營團隊可使用适合其團隊和當前項目的技術和協議,創建适當的系統。 通過(guò)支持團隊創建适合自己需求的工作流程環境,他們成(chéng)爲項目成(chéng)果中的投資利益相關方。
可跟蹤性、可審計性和可視性
在 DevSecOps 流程中實現可跟蹤性、可審計性和可視性,獲得更深入的洞察,建立更安全的環境:
- 可跟蹤性旨在跟蹤開(kāi)發(fā)周期中的配置項,确定在代碼中實現需求的位置。 這(zhè)可以在組織的控制框架中發(fā)揮關鍵作用,因爲它有助于實現合規性,減少錯誤,确保應用開(kāi)發(fā)中的安全代碼,以及建立代碼可維護性。
- 可審計性對(duì)于通過(guò)安全控制确保合規性而言非常重要。 技術、程序和管理安全控制必須可審計,形成(chéng)正式文件,并由所有團隊成(chéng)員遵守。
- 可視性通常是良好(hǎo)管理實踐,但對(duì)于 DevSecOps 環境非常重要。 這(zhè)意味著(zhe)組織實施了牢固的監控系統,用于衡量運營狀況,發(fā)送警報,提高對(duì)變更和網絡攻擊的認識,并在整個項目生命周期内建立問責機制。
Micro Focus (原HPE)鉑金合作夥伴
SonarQube中國(guó)總代理
HCL中國(guó)合作夥伴
極狐GiLab中國(guó)鉑金合作夥伴
掃二維碼用手機看
更多資訊