如何將安全護欄引入應用安全程序中
譯文?譯者 | 李睿
審校 | 孫淑娟
企業不應該期望開發人員成為安全專家,因為安全不是他們的本職工作,也不是他們的擅長的領域。與其相反,企業應該讓應用安全團隊為開發人員提供支持,讓他們可以訪問安全的框架、庫和默認設置,使最安全的選項成為最簡單的選擇。安全護欄旨在幫助企業做到這一點。
可視化安全護欄將如何使企業的開發人員和安全團隊受益,這將幫助員工入門。本文提供了一些可以實施的基本步驟,以將安全護欄引入其應用安全程序。
當提供通過將安全工具無縫集成到應用開發工作流中來編排安全工具的安全護欄時,開發人員有權創建安全代碼。他們通過保持低干擾的政策和控制來保持生產力,并且只報告影響很大的相關安全問題。
采用安全護欄可以確保開發團隊在不需要安全團隊積極參與的情況下快速運行。同樣,應用安全程序團隊可以通過在開發人員的工作流程中自動化安全控制來進行擴展,確保執行而不是人工執行審查以及跟蹤錯誤修復來擴展。
當控件被納入開發過程時,開發團隊不太可能忽視和繞過安全性。他們不必采取額外的步驟聯系安全團隊。安全護欄確保最快的部署路徑也是最安全的路徑。
1、如何將安全護欄帶入應用安全程序
Netflix和Airbnb等公司承認有必要讓開發人員團隊能夠構建安全的軟件,同時為他們提供做出適當安全決策的靈活性。這些企業和許多其他企業已經在持續集成(CI)/持續交付(CD)中實施了安全護欄。以下一些步驟可以幫助企業開始為開發人員提供一致、可操作的自助式安全治理和控制。
(1)定義護欄:企業可以在開發人員工作流程中實施許多不同類型的安全護欄。對于技術企業內的安全團隊來說,從良好的安全策略開始都是至關重要的。應用安全團隊已經與開發人員進行交流的安全控制就是一個很好的起點。這些可以是定義軟件工件的所有權、遵循特定的依賴許可策略、使用內部工件注冊表、使用或不使用特定庫、代碼審查控制等。
(2)設置范圍:并不是所有的代碼庫都是平等創建的,根據項目的業務風險和關鍵性,不同的安全護欄可能適用于不同的代碼庫。一旦知道要實施哪些安全護欄來構建適當的安全性,就可以確定在哪里應用這些安全護欄。
(3)定義觸發器:根據為其應用防護機制的基礎資產(即代碼庫、依賴項、拉取請求、容器、EC2實例等),可以在何處以及如何使用它可能會有所不同。例如,可以在創建代碼存儲庫、合并拉取請求、部署容器或每天晚上作為日程安排時使用一些護欄。可以在任何這些事件中觸發護欄,以便開發人員可以在適當的時間采取適當的行動。
(4)采取適當的行動:根據設計,護欄可以是預防性的或反應性的,對違規行為可能采取的行動取決于是否打算采取預防性或反應性措施。可以使用反應式護欄按預定義的時間表運行,識別各種護欄的違規行為,并通知相應的所有者。例如,每周找出未配置依賴項掃描和SAST工具的關鍵代碼庫,并將違規情況通知所有者。
預防性護欄實時識別違規行為,并通知開發人員。例如,如果未在該存儲庫上啟用依賴掃描,則自動對拉取請求進行注釋或使構建失敗,或者如果容器不是來自批準的容器注冊表,則阻止在Kubernetes中部署容器。
(5)報告:定期報告企業對護欄的遵守情況。護欄的報告消除了許多關于這個安全問題是否必要的非生產性辯論,并使安全風險二元化。決策變得與底層軟件資產是否滿足預期控制一樣簡單,而不需要進一步的安全策略或FUD(恐懼、不確定性和懷疑)。
2、為什么安全護欄是應用安全程序的未來
工程和安全團隊已經解決了在DevOps期間實施安全的復雜問題。企業往往缺乏安全可見性,開發人員工作流中的安全檢查不足,無法以DevOps的速度擴展應用安全程序。安全護欄簡化了關聯特定于場景的安全策略和控件,這些策略和控件可以在開發人員工作流中定義和應用。這種策略是應用安全程序的未來,因為企業必須授權開發人員在不受安全把關影響的情況下生成安全代碼。
安全護欄是確保開發團隊在現代軟件開發生命周期(SDLC)中采用安全策略和控制的唯一方法。這種采用消除了開發人員與安全團隊之間的摩擦,并確保開發人員能夠快速且安全地開發應用程序。
通過應用自動化的安全護欄,企業可以降低安全風險,并使部署路徑盡可能安全。安全護欄讓開發人員能夠完全自主地實現與時間相關的關鍵性能指標,同時讓安全團隊的瓶頸最小化,與此同時讓安全團隊騰出時間將他們的知識和技能應用于最緊迫的事項。
安全護欄代表了最終的安全轉變,使開發人員能夠安全地從代碼到云平臺。借助持續集成(CI)/持續交付(CD)中預先構建的、場景相關的實時安全策略和控制,企業可以影響開發人員的行為并在軟件開發生命周期(SDLC)中構建安全性。
原文鏈接:https://dzone.com/articles/how-to-bring-the-power-of-security-guardrails-to-y