5個步驟實現有效的DevSecOps
幾年來,DevSecOps一直是技術對話中的熱門話題。這個想法並不新鮮。
但改變的是DevSecOps在軟體交付中扮演的角色。當DevSecOps成為一個概念時,它被視為一種使安全性更好的方法,但不一定是健康CI / CD鏈的重要組成部分
今天,DevSecOps不是可選的。如果您想保持現代應用交付安全,那麼這是必須的選項。我們來看看為什麼。
DevSecOps
DevSecOps認為每個人,無論他們的工作角色如何,都要對安全負責。
DevSecOps背後的驅動概念是,你可以而且應該能夠讓開發人員、DevOps工程師或網路工程師(例如)在不犧牲他們正在處理的應用程式或專案的安全性的情況下制定基於安全的決策,並允許快速做出這些決定,以免扼殺生產力。
那麼,為什麼DevSecOps是必選項?
在許多企業中,DevOps作為一個概念正在被大量使用 - 應用程式開發人員與運營工程師一起被迫在開發、部署和互操作性方面變得敏捷。隨之而來的是對工程師技能交叉的要求,這使得他們不僅需要理解其他團隊的工作,而且在某些情況下還可以替代他們工作。
全棧工程師傾向於成為這種思維模式的一個很好的例子。現代DevOps /全棧工程師需要熟悉的一項關鍵任務就是安全性。
實現DevSecOps
那麼,一般的軟體工程師如何才能獲得DevSecOps所需的安全技能?讓我們來看看。
1.合作
在過去,通常情況下,人們會將自己歸入專業的工作角色,相互之間害怕參與對方角色(因為這是他們不熟悉的事情),或者只是因為公司文化的情況。。
識別安全風險和漏洞需要所有不同元素和人員之間的協作,最終使新產品或服務脫穎而出。同樣,這並不意味著有關人員應該掌握所有這些技能,但瞭解它們是有用的。
這方面的一個例子是運營工程師與開發人員合作,以確定他們的應用程式中的安全漏洞 - 同樣,開發人員與運營工程師密切合作。事實上,隨著開源軟體處於許多業務的最前沿,不僅要了解部署它,還要修補它,如果你發現問題的話。
2.分享資訊
與協作一樣,在安全性方面,共享資訊至關重要。例如,如果您碰巧了解到新漏洞,那麼請務必與他人共享。保持開放並表現出興趣。這種溝通將使各方能夠在解決問題方面取得進展,並將為所有相關方的學習過程做出貢獻。
3.主動監控
另一種可以將自己從DevOps工程師轉變為DevSecOps工程師的方法是:在設計任何正在投入生產的監控系統時主動考慮安全性。起初可以像在監視服務中構建檢查一樣簡單,監視系統以獲取重要的安全更新,並提醒員工他們需要進行修補。這也可以使用SIEM來監控應用程式日誌,並在失敗的登入嘗試,基於DoS / DDoS的攻擊模式等方面構建警報儀表板。
4.安全即程式碼
這將我們帶到了另一個角度:安全即程式碼的概念。如果你正在讀這篇文章,那麼你很可能熟悉Ansible,Puppet和Chef。這些讓你在檔案中定義基礎結構,並形成我們所知的基礎架構程式碼。如果您正在執行上述操作,那麼將知道在許多情況下,很可能必須在程式碼中定義要建立的安全組,併發布你希望的服務暴露。這需要一些網路知識,以及對這種從外部世界開啟“漏洞”到您的應用程式或網路的影響的理解。你還可以使用NMAP等安全工具編寫自動檢查,這些工具將掃描新部署的伺服器以檢視哪些埠處於開啟狀態,並且如果發現不應該開啟的埠如果被暴露,應該會失敗。
5.使用相關工具集
在考慮安全性時使用相關工具。例如,Twistlock具有連續整合工具,可直接插入現有的CI / CD管道系統(例如Jenkins)。這可以讓您相對輕鬆地設定安全性和合規性的閾值,包括HIPAA,PCI,CIS基準測試,並在構建本身中執行此操作。您可以繼續使用自定義警報設定警報或阻止不安全構建的策略,並指導下一步操作。
與上述類似,利用始終提供最新資訊的API的安全服務遠比堅持在某處建立的任意指南(可能會很快過時)更有效。
結論
DevSecOps的重要性不容小覷。隨著邪惡的個體(人之初性本惡)能更加聰明地發現軟體和硬體中的漏洞,IT專業人員也必須適應不斷變化的環境。我們需要敏捷地採用我們的安全方法,並集體採取行動解決未來的問題。這樣做可以減少我們最終部署的服務的攻擊足跡,並使我們更好地瞭解安全性。
DevSecOps不僅是一種心態變化,而且應該為那些負責人提供正確的工具和指導,以便將安全性放在業務決策的最前沿。DevSecOps工程師提供了巨大的價值,他們可以不斷評估日常工作中的安全性,並在發現問題時採取行動。它還消除了對更廣泛的DevOps團隊中單獨的安全團隊或單一安全工程師的依賴,他們可能無法全面瞭解基礎架構或最近開發的應用程式。最後,為了實現這種思維方式的改變,讓業務的高層決策者參與進來並瞭解DevSecOps的重要性是關鍵。
相關文章
- 實現企業網路現代化的5個步驟
- 有效採購流程的7個步驟
- 成功實施CRM流程的5個步驟
- 成功實施BPM計劃的5個步驟 - ProServROS
- 實現個人目標的七個步驟
- 實現安全設計模式的7個步驟設計模式
- 有效的製造運營管理策略的10個步驟
- 專案的實現:成功的八個步驟(轉)
- BADI的實現步驟
- 採購流程的5個理想步驟
- BAPI的簡單實現步驟API
- 實現網路基礎設施現代化的幾個步驟
- vnc安裝步驟,4個vnc安裝步驟實現vnc與Linux的連線VNCLinux
- 達到有效軟體專案管理的六個主要步驟 (轉)專案管理
- 達到有效軟體專案管理的六個主要步驟(轉)專案管理
- 智慧資料視覺化的5個步驟視覺化
- 制定供應商管理流程的5個步驟
- BAPI的簡單實現步驟(轉)API
- smartbi電子表格的實現步驟
- 成功備戰微服務的5個準備步驟微服務
- 避免Java堆空間錯誤的5個步驟Java
- 5個步驟搞定protoc環境安裝
- 動態連結的步驟與實現
- 【JDBC的實現步驟……MySQL資料庫】JDBCMySql資料庫
- CDN加速實現方式步驟——VecloudCloud
- 資料中心現代化的7個步驟
- 理解 JSON Web Tokens (JWT) 的 5 個簡單步驟JSONWebJWT
- Keras 中構建神經網路的 5 個步驟Keras神經網路
- 實現智慧機器預測性維護收益的三個步驟
- 實施 GitOps 的三個關鍵步驟Git
- 一文看懂自然語言處理-NLP(4個典型應用+5個難點+6個實現步驟)自然語言處理
- 使用Java加密與解密實現步驟Java加密解密
- 有效雲檢測和響應的5步
- 切實有效的三個步驟:如何通過劃分有界上下文設計微服務? - Robert Reppel微服務
- 現階段實踐“拿著錘子找釘子”的六個步驟
- 將移動 App 創意變成現實的 10 個關鍵步驟APP
- 大資料開發過程中的5個通用步驟大資料
- 3個步驟輕鬆整合Push Kit,實現App訊息推送APP