今天,大多數(shù)組織已經采用了DevOps實踐,這些實踐有助于自動化,提供了一種團隊可以集成流程的文化,并且應該能夠以更快的方式交付可靠的軟件和更新。隨著對軟件應用程序需求的不斷增長,對擴展的需求也隨之增長,這反過來又導致了安全漏洞和威脅。因此,對于DevOps團隊來說,在軟件開發(fā)周期工作流的每個階段添加安全措施變得非常重要。安全問題應得到比以往任何時候都更高的優(yōu)先地位。提供一種文化,使團隊能夠集成流程,并且應該能夠以更快的方式交付可靠的軟件和更新。因為隨著軟件應用需求的不斷增長,對擴展的需求也隨之增長,這反過來又會導致安全漏洞和威脅。因此,對DevOps團隊來說,在軟件開發(fā)周期工作流程的每個階段都加入安全措施變得非常重要,安全性應該得到比以往任何時候都更高的優(yōu)先級。
一、DevOps(DevSecOps)中的安全性是什么?
DevSecOps或DevOps中的安全性是一套實踐、文化和功能方法,以及一套DevOps安全工具,在這些工具中,我們將開發(fā)、操作和安全性結合在一起,以高效和安全的方式交付應用程序和服務。通過DevSecOps,安全性被注入到持續(xù)集成和連續(xù)交付(CI/CD)管道中,這有助于開發(fā)人員解決安全問題。
早些時候,在軟件開發(fā)生命周期結束時引入了安全考慮,這導致了網絡安全攻擊的增加,開發(fā)團隊正在為應用程序開發(fā)更頻繁的版本修復。下面的文章分享了將安全性應用于DevOps環(huán)境的基本注意事項,并提供了DevOps安全挑戰(zhàn)和最佳實踐的概述。本文介紹了將安全性應用于DevOps環(huán)境的基本考慮事項,并概述了DevOps安全挑戰(zhàn)和最佳實踐。
二、DevOps的安全挑戰(zhàn)是什么?
實現(xiàn)DevOps安全性帶來了幾個挑戰(zhàn)。從一個大的組織到小的組織,我們在任何地方都可以看到安全采用方面的斗爭和挑戰(zhàn)。DevOps安全挑戰(zhàn)分為技術、人員、工具等。我們將了解團隊面臨的大多數(shù)挑戰(zhàn):
文化變遷
對于任何人來說,引入一種新的方法并進行文化轉換是相當具有挑戰(zhàn)性的,特別是如果它需要正確的DevOps安全方法和思想轉變,將安全作為軟件開發(fā)中考慮的第一步。此外,安全團隊主要關注應用程序的安全性,以便環(huán)境和代碼應該是安全的,而開發(fā)人員則關注于開發(fā)和由于及時性而加快交付。意見和目標的不同導致了操作摩擦,這對今后的發(fā)展具有很大的挑戰(zhàn)性
這可以通過讓來自安全性和開發(fā)人員的人員參與到共同的實踐中來解決,并共同朝著一個統(tǒng)一的目標努力。人們期望代碼能夠更快、更安全地交付
云的復雜性
許多組織正在使用多個云來提高管理效率,利用最佳的云解決方案和多重自動化的實現(xiàn),這使得安全設置成為團隊非常具有挑戰(zhàn)性的任務
缺乏技能和知識
專業(yè)技能和知識在實施DevOps實踐中也起著關鍵作用。缺乏安全實現(xiàn)技能成為團隊在DevOps管道中實現(xiàn)安全性的障礙
對DevOps和DevOps cyber security中的安全工具相關的員工進行內部培訓可以幫助他們獲得DevOps安全模型的知識并提高意識,從而為團隊培養(yǎng)更有經驗的DevOps安全工程師,并進一步成為指導其他團隊成員的機會
工具集成不足和復雜
靜態(tài)應用安全測試(SAST)和軟件組合分析(SCA)對早期狀態(tài)漏洞的檢測非常有幫助,但不支持更快的部署和較長的運行時間,因此開發(fā)人員傾向于避免將工具集成到應用程序中。此外,當安全工具需要與不同的DevOps工具集成時,場景會變得更加復雜
找到一個可以解決安全問題的工具,或者使用更多的clouddevops安全服務來避免SAST和SCA工具的問題,這將很有幫助
角色與責任不匹配
將DevOps和安全團隊的角色和職責協(xié)調起來是非常具有挑戰(zhàn)性的。首先,主要關注點是更快的發(fā)布和部署,而安全團隊則專注于確保DevOps的安全實踐,這就造成了安全性和DevOps之間的不兼容性。需要DevOps的安全實踐和系統(tǒng)是安全的,保持可追溯性,容錯,并解決問題。但由于文化的轉變,它變得具有挑戰(zhàn)性,這一點在上文中也已經討論過。
DevOps安全檢查表中最好的方法之一是向左移動,即在軟件開發(fā)生命周期(SDLC)中將DevOps安全實踐移到更早的位置,這樣開發(fā)人員就可以及早發(fā)現(xiàn)安全問題。
三、在組織中啟用DevSecOps的步驟
與DevOps類似,DevSecOps要求組織文化和程序發(fā)生轉變,以升級DevOps應用程序安全性。以下是可用于在組織中啟用DevSecOps的方法之和:
將安全作為第一步
這是一個重要的步驟,即左移,這意味著所有與證券有關的活動都應包括在早期階段,從而在整個過程中繼續(xù)進行。安全專家不僅應該從開發(fā)階段就參與進來,而且應該從計劃階段本身就參與進來。如果能在開發(fā)的早期階段發(fā)現(xiàn)錯誤或bug,總比在生產或后期階段修復錯誤或bug要好
DevOps管道安全測試自動化
自動化的安全性測試不僅有助于使用DevOps pace維護安全性而不存在任何漏洞或問題,而且有助于以警報形式通知任何失敗的測試。
讓開發(fā)人員編寫安全代碼
既然在上面討論過,我們需要從開發(fā)或規(guī)劃階段的開始就實現(xiàn)安全性。因此,通過內部、外部的培訓課程來培訓開發(fā)人員,以便從代碼中從一開始就實現(xiàn)安全性,并將重點放在安全性上,而不僅僅是交付速度
除了對團隊進行安全意識培訓外,有關安全風險、安全編碼需求、DevOps中的安全測試以及創(chuàng)建安全代碼的工具的知識也非常有益。對組織進行安全文化教育總是可以更好地幫助組織
基礎設施安全
當應用程序被部署時,試著把它部署到一些安全的工具上,比如OSSEC,這樣它可以幫助保護所有的應用程序主機
持續(xù)集成和構建
在為應用程序創(chuàng)建映像或包時,請確保構建工具或系統(tǒng)具有適當?shù)陌踩?。市場上可用于持續(xù)集成和構建的工具有Jenkins、Circle CI、AWS CodeBuild、Google云函數(shù)、docker等。
四、減輕安全威脅的策略
DevOps實踐提供了許多保護和審核應用程序的方法,以及諸如更快的反饋、自動化、定期發(fā)布等特性
監(jiān)測和警報
DevSecOps為團隊提供的跟蹤管道和發(fā)布的方法之一是通過日志記錄和監(jiān)控系統(tǒng)來幫助CI/CD管道中的故障和問題更快地通過連續(xù)反饋進行跟蹤
不僅如此,它還有助于跟蹤軟件開發(fā)生命周期,更好地理解在運行時環(huán)境中部署了什么,并保持跟蹤
保持審計和合規(guī)性
為了使任何行業(yè)能夠無縫地工作,審計和合規(guī)在減輕威脅和漏洞方面發(fā)揮著重要作用。采用DevSecOps實踐,有助于團隊確保應用軟件遵循所有必需的遵從性的基本實踐。?
云使用
在DevSecOps服務和實踐中采用云時,云的使用也有助于減輕威脅。當軟件在任何云提供商中開發(fā)和部署時,它有助于分析代碼、監(jiān)控合規(guī)性、調查威脅等等。接受DevOps認證培訓深入研究DevOps安全緩解措施。
五、DevSecOps最佳實踐
當我們談論DevSecOps時,它不僅僅是關于速度或敏捷性,還有一些挑戰(zhàn)。DevSecOps實踐背后的一個目標是使安全性成為軟件開發(fā)周期的核心組成部分。下面是幾個DevOps security的最佳實踐,它們將使應用程序進程平穩(wěn)運行:
自動化
通過引入安全性,不應該在交付速度上有太大的妥協(xié),這是DevOps過程的一個重要方面。我們可以在軟件開發(fā)生命周期中進行自動化的安全控制和測試,以確保軟件交付的安全性和速度。
培訓和提升員工技能
為了使DevSecOps團隊取得成功,必須為員工提供良好的培訓和專業(yè)課程,讓安全專家和培訓人員提高團隊的技能和意識。提高技能的另一種方法是使用編碼標準來教育開發(fā)人員安全編碼實踐,這本身可以提供更好的學習。
文化變遷
要在組織中實現(xiàn)DevSecOps目標,需要付出更多的努力,同時也需要技術的升級。這里可以使用的一種方法是左移文化,在這種文化中,DevOps團隊作為組織模式的一部分,在軟件開發(fā)生命周期的早期階段移動安全性。
合規(guī)性
這可以由安全策略用于標記,以便實現(xiàn)體系結構中的安全性。
安全編碼實踐
所有的編碼標準都必須根據(jù)最新的安全實踐進行審查,這應該被設置為事件驅動的,這樣就可以在更早的階段發(fā)現(xiàn)問題,而不是開發(fā)人員在代碼投入生產后進行修復。
所有的修改都要檢查,因為沒有太小的變化,這種方法可以證明是有利的。
紅隊、藍隊和臭蟲獎
使用紅色團隊、藍色團隊和缺陷獎勵有助于及時發(fā)現(xiàn)漏洞和安全漏洞。具體情況如下:
紅色團隊:這是一個道德黑客團隊,目的是測試安全程序的有效性,并在空間中發(fā)現(xiàn)潛在的攻擊,以便在實際的漏洞發(fā)生之前將其緩解?;旧希ㄟ^這個,團隊試圖用不同的方法接管系統(tǒng)。
藍隊-藍隊負責事故的及時反應和安全保衛(wèi)。該隊對紅隊的進攻采取必要的行動,提供防御。
缺陷獎勵:根據(jù)該計劃,組織向報告軟件應用程序缺陷或安全問題的個人提供獎勵,可進一步用于確保系統(tǒng)無風險且不存在漏洞。
部署前后審計
為了確??鐟贸绦虻陌踩?,在軟件開發(fā)生命周期中對部署前和部署后進行審計變得非常重要。部署前檢查的目標是代碼修改,而部署后檢查包括策略和代碼修改。
部署前和部署后審計的目標是確保部署前和部署后經過認證的安全檢查是相同的,這證明部署沒有引入任何安全漏洞。
日志和監(jiān)控
我們可以使用日志和監(jiān)控工具來收集數(shù)據(jù)、審計系統(tǒng)、記錄用戶的活動等,這有助于進一步調試和調查安全事件。市場上提供的一些不同的日志和監(jiān)控工具有Splunk、Grafana、Kibana、Nagios等。
事件管理
我們應該確保為事件響應制定一致的工作流程和可衡量的行動計劃。在DevSecOps中,應該對漏洞進行連續(xù)的檢測和響應,以使過程更順暢。
安全測試
如上所述,DevSecOps需要組織中的文化轉變才能成功。以下是促進文化變革的安全測試方法:
自上而下的強制變更,執(zhí)行人員將在整個組織內傳達所需的變更。
自下而上的有機變化,跨團隊的安全協(xié)作從小規(guī)模開始,逐漸擴展到其他團隊。
這兩種方法都不容易實現(xiàn),但在創(chuàng)建文化變革方面非常有效,這些變革集中于在生產和用戶報告問題之前解決安全問題。有些組織傾向于采用這兩種方法中的一種,而有些組織則傾向于同時采用這兩種方法。
自動生成問題單
每個檢測到的漏洞或威脅都應該自動鏈接到Jira,以便在正確的工具的幫助下提高團隊的性能和效率。因此,一旦問題得到解決,可以更新和關閉類似方式的票證。
自動化安全掃描
通過仔細檢查并列出應用程序中的所有步驟,可以創(chuàng)建和自動化使用DevOps安全實踐的應用程序。
六、結論
DevOps和DevSecOps面臨著很多威脅,但也有許多最佳實踐可用于改進DevSecOps,這在組織中正呈增長趨勢。通過實施上述最佳實踐,組織可以幫助保護您的系統(tǒng)免受攻擊。
DevSecOps是一個非常廣泛的話題,如果您想了解更多關于DevOps和up skill的知識,請隨時查看有關認證培訓的信息?實踐中的DevSecOps方法是什么樣的。
DevSecOps常見問題解答
為什么DevOps的安全性很重要?
安全性現(xiàn)在已經成為任何軟件必不可少的,而不是可選的。早期的安全性在SDLC(軟件開發(fā)生命周期)中常常是后遺癥。由于受到多起黑客攻擊,數(shù)據(jù)遭到破壞,安全問題已成為一個重要問題。在數(shù)字時代,安全與效率并重。這基本上是保護軟件免受不計后果的網絡攻擊的經濟方法安全性現(xiàn)在已經成為任何軟件必不可少的,而不是可選的。早期的安全性在SDLC(軟件開發(fā)生命周期)中常常是后遺癥。由于受到多起黑客攻擊,數(shù)據(jù)遭到破壞,安全問題已成為一個重要問題。在數(shù)字時代,安全與效率并重。它基本上是保護軟件免受不計后果的網絡攻擊的經濟方法。
你如何確保DevOps的安全?
好的證券策略對組織的每一部分都至關重要。對于采用DevOps模型的公司來說,安全性對于保護使用其產品的組織和客戶更加重要??梢宰裱淖罴褜嵺`包括:-設置治理策略、盡可能多地自動化DevOps安全性、執(zhí)行漏洞管理和定期的安全審核。對于代碼保存和工作,首選版本控制。密碼至關重要,而且往往是安全的薄弱環(huán)節(jié)。為了更好地保護,強烈和頻繁的變化總是首選,這變得非常煩人和復雜的員工記住它。所以,密碼管理器出現(xiàn)了,它允許團隊將信息存儲在一個中心位置,以防被盜。就像公司每年或每半年進行一次安全審計一樣,它也應該被用來確定DevOps團隊中的區(qū)域。很煩人,員工很難記住。所以,密碼管理器出現(xiàn)了,它允許團隊將信息存儲在一個中心位置,以防被盜。就像公司每年或每半年進行一次安全審計一樣,它也應該被用來確定DevOps團隊中的區(qū)域。
何時在DevOps中進行安全測試?
當我們在DevOps中集成安全性時,它就變成了DevSecOps。與其提供一個安全層作為軟件開發(fā)生命周期的最后一步,更重要的是要考慮整個過程中的安全性。在安全軟件開發(fā)生命周期中,它允許開發(fā)團隊采用安全監(jiān)視和工具,以接近如何使用監(jiān)視和操作等工具:當我們在DevOps中集成安全性時,它就變成了DevSecOps。與其提供一個安全層作為軟件開發(fā)生命周期的最后一步,更重要的是要考慮整個過程中的安全性。在安全軟件開發(fā)生命周期中,它允許開發(fā)團隊采用安全監(jiān)視和工具,以接近如何使用監(jiān)視和操作等工具。
安全性應該始終在DevOps中扮演重要角色,所以“左移”的概念就出現(xiàn)了。在這兩個測試中,質量和安全都需要在SDLC中向開發(fā)者靠攏,這將使安全測試更快,也將提高效率。
如何在華為云DevOps中實現(xiàn)安全性?
如今,安全性已變得至關重要,在華為云 DevOps中應遵循的一些實踐包括:
使用多因素身份驗證:身份驗證在驗證用戶或服務id的身份時起著重要作用。而多重身份驗證是一種附加密碼保護的方法,它提供兩個或多個驗證因子來訪問資源?;旧?,它不僅通過詢問用戶名和密碼,還添加了其他多種方法,如電話、短信、移動應用程序通知等,增加了更多的安全性。
限制用戶訪問:該訪問控制僅授予用戶執(zhí)行任務所需的訪問級別,并提供預定義角色以幫助將角色分配給團隊及其成員。
開發(fā)過程漏洞掃描VSS:漏洞掃描服務(Vulnerability Scan Service,簡稱VSS)集Web漏洞掃描、操作系統(tǒng)漏洞掃描、資產及內容合規(guī)檢測、安全配置基線檢查、弱密碼檢測、開源合規(guī)及漏洞檢查、移動應用安全檢查七大核心功能為一體,自動發(fā)現(xiàn)網站或服務器在網絡中的安全風險,為云上業(yè)務提供多維度的安全檢測服務,滿足合規(guī)要求,讓安全弱點無所遁形。
代碼質量檢查:代碼檢查(CodeCheck)是基于云端實現(xiàn)代碼質量管理的服務,軟件開發(fā)者可在編碼完成后執(zhí)行多語言的代碼靜態(tài)檢查和安全檢查,獲取全面的質量報告,并提供缺陷的分組查看與修復建議,有效管控代碼質量,確保產品原生高質量和產品安全,幫助產品成功。代碼檢查默認支持Java、C++、PHP、C#、JS、TypeScript、HTML、CSS、Go和Python語言的規(guī)則集,且每種語言類型對應多種不同級別的規(guī)則集。提供近2000條典型檢查規(guī)則。提供多維度質量統(tǒng)計報表,包括質量門禁和代碼健康度徽標等。
原文標題:什么是DevSecOps?理解DevOps安全性
文章出處:【微信公眾號:華為DevCloud】歡迎添加關注!文章轉載請注明出處。
-
華為
+關注
關注
216文章
34462瀏覽量
251848
原文標題:什么是DevSecOps?理解DevOps安全性
文章出處:【微信號:華為DevCloud,微信公眾號:華為DevCloud】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論