自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

采用五大行動步驟實現(xiàn)有效的DevSecOps

譯文
安全 網(wǎng)站安全
系統(tǒng)安全從來不是某個團隊的單獨責(zé)任,本文討論如何通過企業(yè)內(nèi)部的共同協(xié)作,實現(xiàn)DevSecOps策略的落地。

【51CTO.com快譯】眾所周知,系統(tǒng)安全并不只是一本寫滿了要求開發(fā)人員和運營人員需要遵循的各種規(guī)則與策略的小冊子。系統(tǒng)安全也并不只是在項目進展到失去了方向時,網(wǎng)絡(luò)安全小組用來確保開發(fā)和運營安全的工具。

通常情況下,公司的安全團隊會通過各種會議來貫徹不同的規(guī)則和策略;并在發(fā)生安全泄漏事件之后,通過查詢電子郵件或聊天記錄,來獲知企業(yè)當(dāng)前安全態(tài)勢,以追蹤罪犯。這些都是典型的安全攻防方式。

可以說系統(tǒng)網(wǎng)絡(luò)安全在我們的企業(yè)中無時不刻、無處不在地影響著每位員工。

[[240295]]

讓我們更有效

將公司的安全重任集中歸責(zé)于某個單一團隊是一種普遍的錯誤。其實每一個直接接觸、或間接參與公司數(shù)據(jù)與系統(tǒng)的人員都承載著安全的責(zé)任。

在DevSecOps的落地過程中,我自己曾有過一些誤解,也走過不少彎路。在此,我將通過本文和您分享:如何在避免出現(xiàn)錯誤方法的前提下,實現(xiàn)有效的DevSecOps。

執(zhí)行規(guī)則和策略

雖然我們的確需要各種章程來指導(dǎo)自己的行動,但這絕非是靠單向地從作戰(zhàn)室(war room)或咖啡間里發(fā)出指令來完成的。正如我們不應(yīng)將整體安全重任歸責(zé)于某個單一團隊那樣,我們需要通過軟件定義和嵌入到DevOps管道(pipeline)中的模式來貫徹執(zhí)行。

在執(zhí)行規(guī)則和政策的過程中,我們有著許多可選的工具和方法。下面,我將向您展示如何通過有效地激發(fā)DevSecOps的能動性,來使企業(yè)收獲實施的效果。

為了達到該目標(biāo),我們應(yīng)采用以下的行動步驟:

  • 定義目標(biāo)
  • 創(chuàng)建藍圖
  • 開展宣傳
  • 具體執(zhí)行
  • 考量效果

在此,我假設(shè)您的公司已經(jīng)達到了成熟的DevOps水平。

定義目標(biāo)

為了知道自己將要達到什么樣的效果,我們必須首先制定好目標(biāo)和努力的方向,以避免出現(xiàn)“腳踩西瓜皮,滑到哪里算哪里”的情況。我們可以采用小組討論、集思廣益的形式,羅列出一個個“小目標(biāo)”,以方便深入討論。例如包括:

  • 不暴露密碼:保證不會泄漏任何密碼、口令、證書鏈或私鑰等。
  • 無過期的證書:特別是要避免TLS證書的過期。
  • 無過時或無效庫:掃描各種項目依賴項、操作系統(tǒng)庫、系統(tǒng)服務(wù)和實用程序。
  • 無代碼漏洞:靜態(tài)掃描各種源代碼,以發(fā)現(xiàn)其中的漏洞和bug。
  • 遵守OWASP Top 10(開放式Web應(yīng)用程序安全項目):動態(tài)掃描各種運行中的應(yīng)用,以查找潛在漏洞。

除了上述安全目標(biāo),我們還能以頭腦風(fēng)暴的形式快速列出更多的方便:消除未授權(quán)的進程、未授權(quán)的端口、未授權(quán)的存儲庫、未授權(quán)的帳戶、有bug的軟件庫,實現(xiàn)生命周期管理、漏洞管理,遵守公共漏洞和暴露(Common Vulnerabilities and Exposures,CVE)規(guī)范,實現(xiàn)TLS全覆蓋等。

創(chuàng)建藍圖

藍圖是我們定義如何讓開發(fā)(development)與運營(Operations)在安全(security)的基礎(chǔ)上協(xié)同工作的關(guān)鍵步驟。因為我們將定義一些開發(fā)和運營人員都值得關(guān)注的安全問題。在藍圖中,我們需要為整個公司定義各種規(guī)則,并準(zhǔn)備好下一步執(zhí)行的步驟。

下面的圖表,是基于上面的目標(biāo)定義所繪制出的一個藍圖范例:

如表所示,我用四個深色模塊:密碼管理、代碼質(zhì)量的靜態(tài)應(yīng)用程序安全測試(SAST)、安全加固、和運行質(zhì)量的動態(tài)應(yīng)用程序安全測試(DAST),來對應(yīng)我們的上述目標(biāo)。與此同時,針對DevSecOps的實施計劃,我們還需要將它們下方的各個具體要點,按照規(guī)則、執(zhí)行、工具集的分類逐一映射到相應(yīng)的目標(biāo)之中。

至此,您可以在公司的內(nèi)網(wǎng)開始創(chuàng)建一個共享空間,寫上簡明清晰的標(biāo)題,注明在藍圖中所表述的每一個細節(jié),并重點做到如下方面:

  • 將藍圖與各個目標(biāo)相連接
  • 詳細說明深色模塊里的內(nèi)容
  • 如何對它們予以實施
  • 會用到哪些工具集
  • 強調(diào)安全的第一性
  • 建立安全體系
  • 列出例外之處
  • 如何遵守相關(guān)法規(guī)
  • 畫出路線圖

如上述流程圖所示,我們必須嘗試著將藍圖中的深色模塊映射到自己的DevOps管道之中,以輔助我們?nèi)ナ占涂剂吭趫?zhí)行過程中的參數(shù)指標(biāo),并將它們作用到日常項目之中。

開展宣傳

現(xiàn)在,我們需要設(shè)法在公司內(nèi)部“營銷”這些新的安全舉措了。畢竟再好的藍圖,如果沒人采納的話,也將絲毫不會讓企業(yè)受益。

由于公司中的每個人都會在DevSecOps中扮演著相應(yīng)的角色,因此大家首先需要理解藍圖的重要性。我們不應(yīng)當(dāng)以一種“大爆炸”式的節(jié)奏去迅速推進,而應(yīng)該讓每一個人都參與進來,促進藍圖的逐步完成。因此,我們在宣傳方面需要做到如下方面:

  • 廣開傳播渠道,可以拉橫幅、發(fā)布到內(nèi)部網(wǎng)絡(luò)、分發(fā)視頻、以及用電子看板等方式展示路線圖。
  • 制作T恤、水瓶、粘紙、帽子等衍生小禮物。
  • 招募愿意提前試用的“早鳥”。
  • 舉辦研討會,造勢預(yù)熱。
  • 舉行內(nèi)部主題活動。
  • 推送列舉了諸多優(yōu)點與好處的郵件。
  • 提供與安全相關(guān)的場景演練。

可見,良好的方案往往源自良好的溝通和營銷方式。如果沒人真正參加進來,那么再好的藍圖也只能停留在紙面上。我們要確保每一個IT人員在開發(fā)軟件、或提供和配置基礎(chǔ)結(jié)構(gòu)的時候,能夠清楚地知曉何為正確、何為錯誤的。

具體執(zhí)行

至此,企業(yè)中的每個人都應(yīng)該知道自己在DevSecOps中所處的角色和作用了,那么我們來看看如何具體遵守規(guī)則,并執(zhí)行各種策略。

如果在管道中,人工操作無法滿足各種有關(guān)軟件和基礎(chǔ)設(shè)施的執(zhí)行,那么我們就需要使用工具來自動化地實現(xiàn)上述定義好的各項目標(biāo)與任務(wù)。下面我將為您列舉與之相關(guān)的一套工具集。

注意:我在此不會去羅列那些專有的工具,因此您可以通過訪問諸如

stackshare.io(http://stackshare.io/)的網(wǎng)站,來尋找它們的付費版本。

不暴露密碼

此處所涉及到的密碼包括:密碼串、私鑰、數(shù)據(jù)庫帳戶、或令牌。

為了不暴露密碼,首先我們不能將密碼簡單地保存在未加密、或使用硬編碼的文件,以及Git存儲庫中,當(dāng)然也應(yīng)該定期更換密碼。因此我們自然而然地會想到必須使用一個中央存儲工具來管理各種密碼。

該存儲工具必須能夠管理密碼的整個生命周期,并能在泄漏發(fā)生時減少自身漏洞的暴露。通過使用成熟的此類工具,我們還可以管理許多不同類型的信任憑據(jù),如數(shù)據(jù)庫、操作系統(tǒng)、云服務(wù)提供商等。同時,這些工具也能夠讓用戶通過API,以編程方式來獲取不同的密碼。例如:

  • 用HashiCorp Vault來管理密鑰 - https://www.vaultproject.io/
  • 用Gitrob掃描Git存儲庫以發(fā)現(xiàn)漏洞 - http://michenriksen.com/blog/gitrob-now-in-go/

如果您在管道中使用了SSH密鑰,那么就可以直接從自動化運行程序(例如Jenkins)中調(diào)用它。

無過期的證書

如今在各種Web應(yīng)用中TLS已成為了標(biāo)配,那么我們就必須管理好證書的過期問題,以防止出現(xiàn)SSL的握手錯誤。

因此我們可以使用如下工具,來監(jiān)控公司內(nèi)部(私有域)和外部(公有域)中的每一種證書:

  • 用Sensu來檢查TTL證書 - https://sensu.io/
  • 用HashiCorp Vault來管理私有域中的證書 - https://www.vaultproject.io/

注意:Sensu雖然沒有開箱即用(out-of-the-box)的功能,但它有個很好的插件 - https://github.com/sensu-plugins/sensu-plugins-ssl。通過它,我們可以監(jiān)控許多相關(guān)的方面。您可以通過https://sensu.io/features/core來了解更多信息。

無過時或無效庫

大公司一般會并行開展數(shù)千的項目,那么當(dāng)您的團隊開始研發(fā)新的微服務(wù)時,他們很容易會使用到一些過時或無效的庫。因此,我們需要盡量避免這種情況的發(fā)生。

注意:上述提到的是“開始研發(fā)新的......”,也就是說:我們對于生產(chǎn)環(huán)境中現(xiàn)有系統(tǒng)的執(zhí)行應(yīng)非常小心,不要僅僅為了跟風(fēng),而在現(xiàn)有環(huán)境中強制推行實施。我們需要在了解新策略可能帶來的影響,然后通過團隊合作,來避免產(chǎn)生混亂的局面。

可見,我們要選取適合手頭項目平臺和語言的特定工具。通過運用如下“必要”的工具,我們將能夠及時地識別出,那些依賴項中存在的各種過時的、且?guī)в衎ug的庫:

  • OWASP依賴項檢查:適用于Java和.NET項目。 - https://www.owasp.org/index.php/OWASP_Dependency_Check
  • RetireJS:適用于JavaScript項目。 - https://retirejs.github.io/retire.js/

我們必須在自己的管道中創(chuàng)建相應(yīng)的步驟,以實現(xiàn)在每一次編譯中都能被執(zhí)行到的既定目標(biāo)。同時,這也保證了我們不會輕易地放過任何一個未經(jīng)授權(quán)的、過時的或帶有bug的依賴項。

另外,如果面對的是服務(wù)器的集群,我們還可以使用Chef和Inspect之類的工具,來管理配置并維護系統(tǒng)的穩(wěn)定性。這些工具能夠在操作系統(tǒng)級別執(zhí)行維護,當(dāng)然它們也需要在各個主機上安裝好代理程序。

無代碼漏洞

SAST(靜態(tài)應(yīng)用程序安全測試)的目標(biāo)是查出各種bug、錯誤的實踐、潛在的內(nèi)存泄漏、無限循環(huán)、以及任何程序上的漏洞。SonarQube(https://www.sonarqube.org/)是該領(lǐng)域的一個知名工具,它提供了多種方法來掃描各個源文件、查找bug和錯誤的實踐方法,而且它能夠被用在許多種編程語言的場景中。

  • Infer by Facebook:這是Facebook提供的一種工具,我們可以用來掃描Java、C/C++和Object-C。 - http://fbinfer.com/

遵守 OWASP Top 10

OWASP Top 10是業(yè)界常用的十大安全風(fēng)險的集合,它的最新版本已于2017年被更新(您可以通過該鏈接查看到全部:https://www.owasp.org/index.php/Top_10-2017_Top_10)。我們可通過遵循該準(zhǔn)則,來提供更好的Web安全應(yīng)用。如今網(wǎng)上已有許多工具能在遵循該準(zhǔn)則的基礎(chǔ)上,實施自己的檢查策略。在此,我僅列出如下兩種常用工具供您參考:

  • OWASP ZAP:源自O(shè)WASP的滲透測試和漏洞挖掘工具。 - https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
  • IronWASP:一款開源的Web應(yīng)用滲透測試與漏洞掃描工具。 - https://ironwasp.org/

考量效果

通過考量效果,我們能夠獲知上述各項DevSecOps策略的執(zhí)行情況,從而避免整個公司長期處于“黑暗球場”的狀態(tài)。

同樣,網(wǎng)上也有許多十分優(yōu)秀的開源工具,可被用來考量各項指標(biāo),并通過界面予以顯示。我個人非常喜歡使用Grafana(https://grafana.com/),它既能清晰地呈現(xiàn)各種監(jiān)測到的指標(biāo),又能將它們進行存儲。另外,我也建議您使用

InfluxDB(https://www.influxdata.com/)。它可以被集成到我們的管道中,從而獲取精確的考量參數(shù)值。當(dāng)然Grafana與InfluxDB之間也有著很好地相互集成。

那么我們具體能夠考量哪些指標(biāo)呢?一般包括如下:

  • 在Git存儲庫中發(fā)現(xiàn)的密碼值
  • 各種過期的證書
  • 續(xù)訂過期證書的平均時間
  • 過時無效的依賴項
  • 過時無效的操作系統(tǒng)庫
  • 在源代碼中所找到的各種嚴重漏洞
  • 在應(yīng)用程序中發(fā)現(xiàn)的前十大漏洞

上述便是我對于實現(xiàn)有效DevSecOps的一些可行性的建議?,F(xiàn)如今DevSecOps的概念已經(jīng)被炒作得有些過熱了,因此,我強烈建議大家:與其坐而言,不如起而行。

原文標(biāo)題:Effective DevSecOps,作者:Fabio Jose Moraes

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:趙寧寧 來源: 51CTO.com
相關(guān)推薦

2018-09-17 18:07:22

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技術(shù)周刊

2010-04-19 10:30:27

Unix操作系統(tǒng)

2009-05-18 09:23:00

網(wǎng)管遠程備份

2010-01-22 00:06:26

戴爾綠色

2021-05-06 15:04:48

5G基站網(wǎng)絡(luò)

2022-08-17 17:05:57

物聯(lián)網(wǎng)

2019-06-28 15:31:36

物聯(lián)網(wǎng)技術(shù)大數(shù)據(jù)

2013-12-10 23:17:00

2021-07-18 22:54:05

VRAR技術(shù)

2024-12-11 12:35:43

2016-02-24 16:52:46

企業(yè)IT方案

2012-07-17 16:27:50

BYOD

2010-07-06 15:40:34

UML圖形

2014-08-27 16:22:16

百度機器大腦挖掘數(shù)據(jù)

2012-06-14 09:58:28

異構(gòu)AMDARM

2019-06-04 10:40:07

2012-06-18 09:38:42

桌面虛擬化

2012-12-26 14:40:05

IT運維企業(yè)管理

2012-12-27 08:57:30

CA TechnoloIT管理IT運營
點贊
收藏

51CTO技術(shù)棧公眾號