精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

從DevOps到DevSecOps,貫穿始終的安全棧

責(zé)任編輯:cres

2019-12-24 14:03:46

摘自:蟲(chóng)蟲(chóng)安全

不管是自動(dòng)化DevOps,大數(shù)據(jù)還是AI,安全都是第一要?jiǎng)?wù)和基礎(chǔ),甚至國(guó)家層面安全也都提到國(guó)家戰(zhàn)略中。

"二十一世紀(jì)最重要的啥?人才!"。葛大爺在《天下無(wú)賊》曾經(jīng)這樣呼喊。但是在時(shí)下蟲(chóng)蟲(chóng)要說(shuō)最重要是數(shù)據(jù)安全。不管是自動(dòng)化DevOps,大數(shù)據(jù)還是AI,安全都是第一要?jiǎng)?wù)和基礎(chǔ),甚至國(guó)家層面安全也都提到國(guó)家戰(zhàn)略中。在開(kāi)發(fā)即上線的DevOps一棧式模式下,對(duì)Devops做安全升級(jí),在全棧每一階段都進(jìn)行安全檢查和整改,建設(shè)成安全棧式DevSecOps勢(shì)在必行。本文蟲(chóng)蟲(chóng)就就來(lái)給大家談?wù)凞evSecOps各階段進(jìn)行的安全實(shí)踐活動(dòng)和工具。

DevSecOps基本上基礎(chǔ)也采用DevOps實(shí)踐,并在相應(yīng)階段增加安全性檢查,并集成到的CI/CD管道中,擴(kuò)展現(xiàn)有的devops工具和實(shí)踐。

給Pipeline增加安全罩

安全無(wú)易事!當(dāng)給DevOps集成安全功能時(shí)候,最容易變得不堪重負(fù)并迷失!了解當(dāng)前的工作流程和工具是給管道集成安全檢查和安全控制的關(guān)鍵。一般來(lái)說(shuō)DevOps持續(xù)集成(CI),持續(xù)交付和連續(xù)部署(CD)管道分為6階段:

編碼:開(kāi)發(fā)階段,在代碼進(jìn)入源代碼存儲(chǔ)庫(kù)之前。

構(gòu)建:構(gòu)建并執(zhí)行系統(tǒng)的基本自動(dòng)化測(cè)試。

測(cè)試:成功構(gòu)建后,工件將部署到臨時(shí)和測(cè)試環(huán)境中。

主機(jī)運(yùn)行:此階段涉及需要應(yīng)用于基礎(chǔ)架構(gòu)的配置和版本更新。

運(yùn)行:如果主機(jī)運(yùn)行通過(guò),則表明應(yīng)用程序已準(zhǔn)備好部署到生產(chǎn)環(huán)境中,可以灰度發(fā)布和升級(jí)。

監(jiān)控:持續(xù)測(cè)量和監(jiān)控生產(chǎn)活動(dòng)。

本文中,我們基于以上6個(gè)階段進(jìn)行安全集成實(shí)踐和探索。

開(kāi)發(fā)階段

DevOps實(shí)踐強(qiáng)調(diào)編寫良好的代碼。代碼運(yùn)行良好,易于更改和理解。 DevSecOps通過(guò)添加用于編寫良好和安全代碼的安全檢查來(lái)擴(kuò)展這些實(shí)踐。

傳統(tǒng)的單元測(cè)試,靜態(tài)代碼分析,代碼審查,預(yù)提交Hooks(git 客戶端鉤子)等實(shí)踐可以擴(kuò)展到該階段的安全性檢查。為了不影響開(kāi)發(fā)人員的工作效率,可以在將代碼提交到源代碼存儲(chǔ)庫(kù)之前查找并修復(fù)常見(jiàn)的安全問(wèn)題。

代碼審查

代碼審查是提搞代碼安全性的重要手段。它可以增加開(kāi)發(fā)人員的責(zé)任感和透明度,降低來(lái)自內(nèi)部威脅的風(fēng)險(xiǎn)(比如有人代碼中投毒、隱藏后門以及邏輯炸彈等),同時(shí)代碼審查也有助于提高代碼質(zhì)量。除了代碼外一些關(guān)鍵配置文件比如Puppet清單,Ansible playbooks,Dockerfiles,.gitlab-ci.yml等也需要納入代碼審查的范疇。

靜態(tài)分析工具

市面上有大量的靜態(tài)分析,包括開(kāi)源和商業(yè)工具,可以將其集成到喜歡的IDE中,幫助我們檢查代碼的一致性,可維護(hù)性,清晰度,錯(cuò)誤模式等等,還可以通過(guò)添加基本的規(guī)則(工具針對(duì)該語(yǔ)言)來(lái)識(shí)別基本安全漏洞。

工具列表

可以在此階段使用的非詳盡工具列表包括:

Gerrit,Phabricator,SpotBugs,PMD,CheckStyle,F(xiàn)ind Security Bugs等等

項(xiàng)目構(gòu)建

將代碼提交到源存儲(chǔ)庫(kù)后(比如gitlab),將執(zhí)行應(yīng)用程序的構(gòu)建和基本自動(dòng)化測(cè)試,以確保代碼始終可編譯可構(gòu)建。

同樣,需要在此階段添加檢查,以檢測(cè)嚴(yán)重和高危安全性問(wèn)題。如果發(fā)現(xiàn)嚴(yán)重問(wèn)題,則需要進(jìn)行安全控制,設(shè)定構(gòu)建為失敗并發(fā)送警報(bào)通知。

依賴組件安全性分析

根據(jù)Sonatype的2018年軟件供應(yīng)鏈報(bào)告,在該年度開(kāi)發(fā)人員總共下載使用過(guò)逾3000億的開(kāi)源組件,其中八分之一都包含已知的漏洞。而且今年內(nèi)由于基礎(chǔ)庫(kù)被注入木馬的安全事件也頻繁發(fā)生,這蟲(chóng)蟲(chóng)之前的文章曾專門介紹過(guò),大家可以搜索歷史文章。

使用依賴組件安全性分析可以發(fā)現(xiàn),依賴的開(kāi)源組件(類庫(kù))是否包含已知的安全漏洞。運(yùn)行SCA工具有助于識(shí)別具有已知安全漏洞的過(guò)時(shí)庫(kù)和框架。

SAST(靜態(tài)分析安全測(cè)試)

在此階段提高安全性并向團(tuán)隊(duì)提供快速反饋的另一種有效方法是運(yùn)行靜態(tài)分析軟件測(cè)試。這些工具可以找到審核者遺漏的隱藏錯(cuò)誤,這類錯(cuò)誤往往很難通過(guò)其他類型的測(cè)試找到。

單元測(cè)試

在重構(gòu)代碼或進(jìn)行其他更改時(shí),單元測(cè)試對(duì)于撲捉回歸漏洞非常重要。對(duì)每一功能塊添加單元安全測(cè)試很有必要。

工具列表

可以在該階段使用的工具包括:眾所周知的Sonarqube,OWASP依賴性檢查,sourceclear,Retire.js和snyk等。

測(cè)試階段

成功構(gòu)建后,通過(guò)選擇生成的工件并將其部署到到容器或者測(cè)試環(huán)境來(lái)觸發(fā)測(cè)試階段。這些測(cè)試包括功能測(cè)試,集成測(cè)試,性能測(cè)試,高級(jí)SAST,安全性和DAST。

這個(gè)階段通常需要更多的時(shí)間和資源來(lái)執(zhí)行,并且遵循失敗快速方法優(yōu)先原則,即更費(fèi)勁和耗時(shí)的測(cè)試要盡可能后延,只有在其他測(cè)試都通過(guò)時(shí)才執(zhí)行。

有針對(duì)性的動(dòng)態(tài)掃描

一旦部署,應(yīng)用程序就會(huì)暴露到各類可能攻擊中,例如跨站點(diǎn)腳本,SQL注入或身份驗(yàn)證越過(guò)等等。而這些正是動(dòng)態(tài)應(yīng)用程序安全測(cè)試(DAST)發(fā)揮作用的地方。可以根據(jù)OWASP Top 10中總結(jié)的常見(jiàn)關(guān)高危漏洞來(lái)分析當(dāng)前測(cè)試的應(yīng)用程序。

從DevOps到DevSecOps,貫穿始終的安全棧

模糊測(cè)試(Fuzzy)

模糊測(cè)試是一種黑盒測(cè)試,暴力可靠性測(cè)試技術(shù),主要包括以自動(dòng)方式使用非預(yù)期的數(shù)據(jù)測(cè)試結(jié)果以發(fā)現(xiàn)漏洞的測(cè)試方法。

自動(dòng)攻擊

作為自動(dòng)化測(cè)試周期的一部分,我們可以進(jìn)一步嘗試模擬對(duì)運(yùn)行應(yīng)用程序的攻擊,對(duì)系統(tǒng)執(zhí)行基本的針對(duì)性自動(dòng)滲透測(cè)試。

工具列表

該階段可用的工具(開(kāi)源和商業(yè))包括:Acunetix Web Vulnerability Scanner,BDD Security,JBroFuzz,Boofuzz,OWASP ZAP,Arachi,IBM AppScan,Mittn,GAUNTLT,SecApp套件等等

主機(jī)運(yùn)行(單機(jī))

在主機(jī)運(yùn)行階段主要立足于保護(hù)運(yùn)行時(shí)環(huán)境和保護(hù)其上運(yùn)行的應(yīng)用程序。多年來(lái),業(yè)界提出了很多最佳安全實(shí)踐,模式,指南和工具,以幫助加強(qiáng)基礎(chǔ)架構(gòu)并使其更具彈性。

降權(quán)、最低權(quán)限

PoLP聲明每個(gè)模塊(例如進(jìn)程,用戶或程序,取決于主題)必須只能訪問(wèn)其合法用途所必需的信息和資源。

配置自動(dòng)化

配置管理工具可以輕松地反復(fù)大規(guī)模部署和創(chuàng)建安全基礎(chǔ)架構(gòu)。通過(guò)標(biāo)準(zhǔn)化配置,CM工具可以減少與補(bǔ)丁管理相關(guān)的問(wèn)題,最大限度地降低黑客可以利用未修補(bǔ)的服務(wù)器的風(fēng)險(xiǎn),并有助于減少不同環(huán)境之間的差異。值得一提的是,使用CM工具可以在中央存儲(chǔ)庫(kù)和版本控制下跟蹤配置信息。

不可變基礎(chǔ)架構(gòu)

使用不可變基礎(chǔ)架構(gòu),一旦在系統(tǒng)中創(chuàng)建工件,它就不會(huì)通過(guò)用戶修改而改變,則不會(huì)有增量更改:創(chuàng)建新服務(wù)器實(shí)例并替換舊服務(wù)器實(shí)例,而不是一系列增量更新和更改。一。

安全標(biāo)準(zhǔn)

許多社區(qū)提供了基礎(chǔ)架構(gòu)加強(qiáng)指導(dǎo)和建議。這些標(biāo)準(zhǔn)包括Internet安全中心(CIS)基準(zhǔn)測(cè)試和NIST配置清單等。

從DevOps到DevSecOps,貫穿始終的安全棧

工具列表

該階段可使用工具包括:Ansible,Puppet,(R)?ex,HashiCorp Terraform,Chef,Docker等等

運(yùn)行階段

如果上述所有階段成功運(yùn)行,則需要準(zhǔn)備投入生產(chǎn)環(huán)境運(yùn)行。該階段目標(biāo)主要是驗(yàn)證在配置或部署時(shí)間內(nèi)是否存在任何錯(cuò)誤,這些錯(cuò)誤是否會(huì)降低系統(tǒng)的可靠性和彈性,是否可以在故障情況通過(guò)這些進(jìn)行攻擊。

該階段使用自動(dòng)化運(yùn)行時(shí)檢查和測(cè)試中發(fā)揮重要作用的地方,特別是發(fā)現(xiàn)安全違規(guī)和漏洞的安全問(wèn)題,并突出了風(fēng)險(xiǎn),如訪問(wèn)控制策略或防火墻規(guī)則的變化。

工具列表

這方面我們要特別提及一個(gè)Netflix開(kāi)源的工具chaosmonkey,利用混沌學(xué)原理,在分布式系統(tǒng)上進(jìn)行實(shí)驗(yàn), 目的是建立對(duì)系統(tǒng)抵御生產(chǎn)環(huán)境中失控條件的能力以及信心。

從DevOps到DevSecOps,貫穿始終的安全棧

監(jiān)控階段

系統(tǒng)投入生產(chǎn)后,安全性不會(huì)終止,而是真正開(kāi)始。在DevSecOps中,自動(dòng)安全檢查和監(jiān)視反饋循環(huán)迭代是生產(chǎn)操作的基本部分。

持續(xù)監(jiān)控可以深入了解應(yīng)用程序正在接收的流量類型,并幫助識(shí)別惡意用戶的攻擊模式。

運(yùn)行時(shí)應(yīng)用程序安全保護(hù)

RASP技術(shù)可實(shí)時(shí)識(shí)別和阻止應(yīng)用程序安全威脅。通過(guò)向應(yīng)用程序運(yùn)行時(shí)環(huán)境添加檢測(cè)和保護(hù)功能,RASP使應(yīng)用程序能夠通過(guò)自動(dòng)重新配置來(lái)"自我保護(hù)",無(wú)需人工干預(yù),以響應(yīng)某些條件。

安全監(jiān)控

首先是自動(dòng)收集和分析潛在安全威脅指標(biāo)的過(guò)程,定義應(yīng)觸發(fā)警報(bào)的行為類型,并對(duì)警報(bào)采取嚴(yán)肅措施。比如IDS,主機(jī)進(jìn)程監(jiān)控,工作目錄變更監(jiān)控,流量監(jiān)控等等。

漏洞懸賞

通過(guò)漏洞懸賞計(jì)劃,借助第三方的力量,深入漏洞挖掘,充分了解現(xiàn)實(shí)的風(fēng)險(xiǎn)水平,系統(tǒng)弱點(diǎn)和漏洞。他們通常可以自由地采取行動(dòng),不會(huì)破壞系統(tǒng)或破壞或泄露敏感數(shù)據(jù)。

工具列表

市場(chǎng)上存在許多運(yùn)行時(shí)防御工具:Prevoty,Alert Logic,HALO,EVIDENT等等。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 洪雅县| 阿克苏市| 神池县| 通道| 冕宁县| 朝阳市| 肥西县| 德令哈市| 二连浩特市| 屏东县| 双江| 雅安市| 义乌市| 黄骅市| 锦屏县| 双鸭山市| 铜川市| 临邑县| 海晏县| 大悟县| 南投市| 广饶县| 商丘市| 武汉市| 宁陵县| 夏邑县| 高青县| 淳安县| 高阳县| 河东区| 华蓥市| 东至县| 中超| 武宣县| 吉林省| 张掖市| 平定县| 奉贤区| 乐安县| 留坝县| 峨边|