百年老店惠譽評級公司成功升級到DevSecOps應對了哪些挑戰?
譯文【51CTO.com快譯】2015年Mir Ali加入惠譽評級(Fitch Ratings)時,公司已經在熱議改變軟件流程,原因是軟件堆棧不可靠。惠譽評級是一家金融公司,與穆迪和標準普爾同為美國證券交易委員會(SEC)認定的三大全國公認的統計評級機構。
現為惠譽共享服務主管的Ali表示,讓一家百年歷史的公司改用DevSecOps(開發安全運維)并非易事。但再也不能無視存在的問題了。他說,大家基本上不明白出現在生產環境中的情況。故障太多,無法追根溯源,整條管道上下缺乏合作。事件發生時,沒有人知道原因,也不知道該怎么做。標準程序就是重啟數據庫服務。這在SEC監管的公司顯然是不可接受的。
重大挑戰
一個挑戰是普遍缺乏安全知識。另一個挑戰是缺乏合作或對個人的責任缺乏了解。***是自動化不足。
起初,有很多事情要做,很難分清輕重緩急。團隊冷靜下來思考,對于他們想要的內容從長計議,而這個愿景為他們隨后的所有決策提供了指導。
他們決定將消除安全缺陷放在首位。剩余的任務分為三個方面。他們希望在整個開發過程中確保安全,并在整個公司中實現這套流程標準化。***,他們希望盡可能地簡化流程。
Ali表示,簡而言之,DevSecOps擴大了DevOps合作的范圍,包括安全。
devsecops.org聲稱:“DevSecOps的目的和意圖是立足于‘每個人都對安全負責’這個理念,目的是在不犧牲所需安全的情況下,盡快讓***層的人員做出安全決策。”
在整個開發過程中運用安全
Ali表示,關鍵是將安全整合到DevOps管道中,因而讓安全成為整個軟件開發過程中不可或缺的一部分。
圖1:惠譽的DevSecOps管道中的安全檢查點
管理團隊一開始在打破整個DevOps管道的孤島時,將安全專家安插到了每個團隊。他說:“讓他們覺得自己是團隊的一員,聽取他們的意見,運用他們的技能。讓這成為自動化的一部分。”安全專家讓你洞察上下文,提供了專業知識,了解***風險以及我們需要注意什么。安全成了每個人的工作。
接下來,他們部署了安全工具。Ali說:“這不僅僅與工具有關,你還要部署使安全成為可能的工具。”比如說,良好的儀表板以及自動化是關鍵。為了確保持續交付管道的安全性,適當的訪問控制、嚴加保護構建系統以及統一命名約定是幾個優先事項。
他們從容易見效的方面著手。雅虎的數據泄露是由于它的系統沒有落實密碼保護機制,因此有人克隆了其數據庫。他表示,應該避免這樣的情況。所以***步是,默認任何人都無權訪問。必須授予權限,而且完全基于角色并自動化。
“加密一切”成了新的座右銘。深入了解管道是另一個關鍵方面。Ali建議:“確保日志條目一目了然。”許多日志看起來像亂碼,這在排除故障時毫無助益。
設立安全檢查點
一旦基本的整體安全到位,他們開始為管道設立自動化安全檢查點。他說:“如果系統沒有通過,工程師會關閉系統,說‘稍后我再處理’,但他們永遠不會處理。”通過自動化檢查點,你不給他們這樣的機會。他們使用Gauntlt,這個工具讓用戶可以專門針對安全編寫自動化測試。
圖2:惠譽的DevSecOps管道
Ail加入時,工程師們一直在部署擴展數據規模的解決方案,但是每個團隊獨立工作,因此部署了各種各樣的解決方案,工程師們給出了一大堆不同的選擇。一段時間后,工程師們為管道的每個部分選擇了滿足要求的***解決方案,并使其成為標準。
與PagerDuty自己的DevOps轉型相似,這個項目耗時大概三年。
DevSecOps的誤區
Ali表示,DevSecOps方面有幾個誤區需要揭穿。***個誤區是,如果你實現安全自動化,就放棄了控制。事實上,這讓貴公司更加合規。自動化提供了一致性和可追溯性。
下一個誤區是,只要添加安全工具即可打造DevSecOps。關鍵不是添加新工具,也不是增加更多的開發人員。他表示,DevSecOps不是一種能力,而是一種理念。“可以借助已有的開發人員輕松做這項工作。”讓安全成為他們工作的一部分,成為績效評估的一部分。
從哪兒開始?
仍然不知所措?答案是從小處入手。Ali先從電子郵件集成入手,慢慢地添加了工具,開始打破孤島,改變期望目標。電子郵件集成完成后,該公司開始使用PagerDuty的警報服務,這促使公司集成了Atlassian的Jira錯誤跟蹤系統,整條管道集中起來,擁有日志和智能監控功能。
三年后的今天,他們在故障發生之前就能發現隱患。
開發人員面臨的***挑戰
你要站在開發人員的角度來考慮。如果你告訴他們,你要自動化,要使用DevOps工具,現在說‘還要融入安全’,那么從他們的角度來看,突然之間有三份工作,而不是只有一份工作。
Ali說:“有鑒于此,我會討厭那樣的工作。”于是他加入公司,積極提供指導和支持。他告訴團隊,他們要提供培訓、工具和框架,并支持開發人員的工作。
看到大部分工作已完成,開發團隊意識到他們不得不充分利用自動化。現在,沒人簽入代碼,每個人都很自然地完成工作。部署不再是個問題。
他說:“仍然存在挑戰,但我們已經為他們開始采用DevSecOps開辟了一條道路。”
***提示
他說:“你要意識到你把數據放在哪里,弄清楚里面有什么數據,如何檢查數據,誰與數據交互以及數據如何受到保護。”
“除非你提出這些問題,否則你的應用程序和數據是不安全的。”
原文標題:100-Year-Old Fitch Ratings Upgrades to DevSecOps,作者:TC Currie
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】