中通自動化安全運營的一些思考
2018年 第8篇 本文共3310字 預計閱讀時間10分鐘
作者簡介
馬辰,中通快遞資訊保安工程師,負責中通訊息安全運營,從安全測試到安全運維,從審計合規到安全培訓,現專注於SDL和DevSecOps的研究。關於甲方資訊保安建設的話題歡迎新增微信(Misaki_MaChen)相互交流。
甲方安全運營的發展現狀
在早期,大多數甲方企業的安全建設都是事件驅動型的,由一個安全漏洞或者事件驅動開始建設安全。隨著安全的不斷建設和發展,很多企業很快就會發現事件驅動型的安全建設大多數都只是不斷的救火,遠遠滿足不了企業安全體系化建設的需求。微軟的SDL為體系化安全建設提供了一個很好的思路,DevSecOps的理念也被越來越多的提起,雖然SDL和DevSecOps為如何在企業中建設安全體系提供了一個很好的參考,但是在實際的落地建設中會發現存在各種各樣的問題,而中通安全也面臨著同樣的困擾。
圖1:微軟的SDL(Security Development Lifecycle)
我的理解是不管是SDL還是DevSecOps,對於甲方企業來講是否執行標準化的SDL和DevSecOps並不重要,我們也完全沒有必要照搬,而是應該學習其安全建設的思路,以SDL和DevSecOps為指導思想進行最適合自己企業的安全建設,然後在企業中逐步建設最適合自己的安全體系。
目前,中通安全的建設也是處於不斷落地和完善的階段,和大家分享下甲方安全運營的一些思考,歡迎大家一起討論。本篇文章主要討論在甲方安全運營中的兩個核心問題:
-
在有限安全資源的情況下怎麼利用自動化提高安全工作的效率。
-
使用賦能的方式打破安全孤島狀態,即各個安全產品的孤島以及獨立安全部的部門孤島。
為了解決以上的兩個問題,中通安全的做法是通過安全運營的方式輸出安全影響力,建設中通安全管理運營平臺,打通各個軟硬體安全產品,提高安全自動化和視覺化水平 ;通過安全服務給全員賦能,讓安全成為其能力中的一部分。
DevSecOps和SDL思想引導的安全自動化
為了解決上述的問題,中通安全部學習DevSecOps的思想,將安全整合到DevOps以及其他研發相關的工作中。
中通自主研發的CI/CD平臺名為星雲釋出系統,與星雲自動釋出系統整合的主要有安全測試、程式碼掃描、運維安全以及主機安全等安全模組。
圖 2:中通DevSecOps
自動釋出平臺與安全測試
中通安全自主研發了安全風險管理系統(名為同安)用於管理中通所有安全漏洞和風險事件。同安安全風險管理系統通過與CMDB(Configuration Management Database,配置管理資料庫)以及星雲系統的對接,實現了對系統上線前安全測試的管控。
同安安全風險管理系統通過與CMDB的對接,獲取應用的基礎資料,包含應用、IP、負責人等應用基礎資料資訊(自動釋出平臺與CMDB對接同步資料),通過與自動釋出平臺的對接控制系統上線前的安全測試。
SDL有一個很重要的思想,即安全風險的處理越是前置處理的成本越低,而在前置環節中最簡單和快速的就是系統上線前的安全測試。經過與自動釋出平臺的整合可以確保所有的釋出均通過安全測試。當新的應用在自動釋出平臺建立後,安全工程師對系統進行評估後設置安全測試方式,包括自動安全掃描、被動掃描(關於被動掃描的介紹可以參考《中通分散式被動安全掃描實踐》)以及人工安全測試。當應用釋出到測試環境,自動釋出系統會將測試資訊與同安安全風險管理系統同步。完成安全測試後,同安安全風險管理系統會同步測試結果給到自動釋出平臺,若系統存在安全風險則會限制其釋出,需完成安全風險修復後才可以上線。對於需進行緊急釋出的系統,除經負責人稽核同意外,還需經過自動安全掃描後才可以進行釋出,同時同安安全風險管理系統也會收到緊急釋出通知,以便在釋出後進行安全測試。
圖3:中通安全風險管理系統
自動釋出平臺與堡壘機
很多公司對於生產伺服器的訪問控制都很嚴格,但是有些時候研發人員有檢視生產伺服器日誌的需求,我們通過堡壘機對接自動釋出平臺和CMDB,在有堡壘機進行安全控制和審計記錄的情況下允許開發人員訪問生產伺服器日誌。中通目前使用的堡壘機其中一個為開源的jumpserver,通過重寫jumpserver的登入對接中通的SSO,可以讓開發在同樣對接SSO的自動釋出平臺上訪問jumpserver。在與CMDB對接後,自動給應用的對應研發人員分配低許可權的帳號,僅允許研發人員訪問生產伺服器的日誌。
圖 4:jumpserver
自動釋出平臺與主機安全
為了保障線上系統的安全,中通安全對線上系統的主機進行了安全監控,防止線上主機遭到入侵和安全攻擊。為了保障線上系統的伺服器均納入安全監控,在自動釋出平臺進行部署環境檢查的時候,會自動檢查伺服器是否部署了主機安全系統的agent。如即將上線的伺服器未部署主機安全系統的agent,會自動進行部署。在完成部署後自動進行主機安全檢查並輸出主機安全報告,確認主機無問題後才可以進行釋出上線。
安全培訓
安全培訓作為SDL裡最前置流程的同時也是自動化建設的重點。中通學院線上教育平臺,可以直接把安全技術培訓做成線上課程,要求新入職員工全部線上學習後進行線上考試,提高全員安全意識和安全技術能力。另外,通過同安安全風險管理系統的資料,可以發現各個部門的安全薄弱點,自動為部門各個成員推送適合的安全培訓課程。
圖 5:中通訊息安全培訓體系
很多安全漏洞的產生並不是因為研發人員安全技能不足,而是其安全意識薄弱,所以安全意識的培養也很重要。安全意識的培養並不是靠一兩次的培訓就可以搞定,而是需要長期的培養。中通安全除了通過各個渠道推送資訊保安小常識和海報外,還有以線上答題的方式提高員工資訊保安意識。
圖 6:中通訊息安全意識海報
安全應急響應
針對SDL最後置的應急響應,中通上線了中通安全應急響應中心(插播小廣告:歡迎各位大佬入駐,豐富禮品等你來兌)。白帽子提交的漏洞自動同步到同安安全風險管理系統,經安全工程師稽核完成後自動進行漏洞分發和提醒,後續可以通過同安安全風險管理系統直接進行漏洞狀態跟蹤以及自動定期輸出資料提供給質量管控部門。
安全自動化後的安全賦能
安全部門的影響力應該靠輸出服務去建立而不是靠輸出規則。在很多的甲方企業中會出現安全部成為孤島的狀況,一方面是由於在甲方企業中安全還沒有成為生產力,另一方面是因為很多安全部並沒有服務意識。解決安全部孤島狀態一個很好的思路就是去學習乙方安全公司的做法,向其他的部門輸出安全部的專業安全服務,甚至可以去引導其他部門發現安全需求,而不是以安全為名要求其他部門配合安全工作。
在中通安全管理運營平臺上,針對公司不同的人員和崗位提供了不同的安全賦能。針對APP安全,安全部提供專業的APP安全加固功能;針對實人認證需求,中通安全提供實人認證SDK。用心去發現,其實在甲方企業中有各種各樣的安全需求可以去做,小到驗證碼大到安全風控,當安全部去滿足這一個個安全需求的時候,不斷的刷出存在感,就會發現甲方的安全並沒有那麼難做。
圖 7:中通安全管理運營平臺
除了不斷的去輸出安全部人員的安全能力外,還有一個很好的方式就是安全賦能,讓非安全人員擁有安全能力。在甲方企業中,即使是有安全研發團隊,也很難做到全部的安全體系均使用自己研發的產品,在權衡研發的各種成本後,總會用到第三方的產品,而不同廠商的產品很少提供聯動。中通安全通過安全管理運營平臺將各個安全產品打通進行聯動,既可以利用系統代替人工的方式自動化處理安全工作,還可以通過封裝的方式將安全工具提供給研發人員、測試人員等使用。
中通安全部不僅給安全部的好夥伴QA人員提供了被動掃描工具外,安全部還提供各類主動安全掃描工具,可滿足研發人員以及其他業務部門對待測試系統的安全掃描需求。在安全營運管理平臺上,通過提交掃描地址等基礎資訊即可主動對待測試系統進行安全掃描,掃描完成後即可直接檢視掃描結果。
正所謂運維和安全不分家,安全部的很多工作和運維部都存在交叉,密不可分,通過安全管理運營平臺,可以將運維相關的產品直接開放給運維人員使用,讓運維可以更直接的瞭解到運維相關的安全狀態。如通過主機安全產品,運維可以批量檢查和執行安全基線;通過安全日誌管理中心,可直接檢視各個安全裝置的日誌,快速進行故障排除;通過外發流量管理系統精細化管理對外訪問的流量。
甲方安全運營的未來
我們期望可以在一個平臺上集中安全能力,輸出安全服務,安全管理運營平臺除了上面有提到的功能,其實還有很多其他的功能,例如針對領導、研發、測試、運維和安全等不同崗位提供不同視角的安全大盤,讓不同的人員可以直觀的看到自己關心的安全內容。
圖 8 :一起期待詩和遠方
我們在甲方企業要做的不僅僅是建立一個安全體系,更應該去運營一個安全生態,讓安全成為企業的生產力,成為甲方企業文化的一部分。甲方企業安全建設任重而道遠,仍需砥礪前行,跨過當下的黑暗和苟且,讓我們一起期待詩和遠方。
參考資料:
1.Microsoft 安全開發生命週期:https://www.microsoft.com/en-us/SDL
2.OWASP DevSecOps Studio Project:https://www.owasp.org/index.php/OWASP_DevSecOps_Studio_Project