安全運營紅藍對抗探索與實踐
一、紅藍對抗起源
紅藍對抗作為一個軍事概念,近年來被廣泛應用到網(wǎng)絡信息安全領域。藍軍采用模擬真實網(wǎng)絡攻擊來評估企業(yè)的現(xiàn)有防守體系的安全能力,而紅軍則會對發(fā)現(xiàn)的問題進行相應的優(yōu)化整改。通過這種周期性的紅藍對抗攻防演習,企業(yè)可以持續(xù)性地提高在攻擊防護、威脅檢測、應急響應等能力。G行正是借用這一模擬實戰(zhàn)、攻防對抗理念,通過建立應用系統(tǒng)故障紅藍對抗體系,來提升管理員在突發(fā)事件中的處理能力和效率,保障好業(yè)務連續(xù)和安全運營工作。
二、紅藍對抗目標
在G行安全生產運營體系中,應用管理員作為系統(tǒng)第一負責人,對應用系統(tǒng)安全運營至關重要。隨著G行業(yè)務連續(xù)性管理水平的持續(xù)提升,每年發(fā)生較大生產事件的概率逐步降低,大多數(shù)應用管理員沒有處置重大事件的經驗。而每一次生產事件的發(fā)生都是一場遭遇戰(zhàn),讓每個應用管理員經歷“炮聲”,讓遭遇戰(zhàn)變成有準備之戰(zhàn),打贏沒有硝煙的安全運營之戰(zhàn)是紅藍對抗的首要目標,具體有以下三個方面:
1. 真演實練,提升技術能力和效率:通過多次參加真實故障模擬演練,讓管理員親身體驗故障處置的緊迫感,培養(yǎng)管理員故障處置的套路,形成“肌肉記憶”,從而提升故障處置效率。
2. 身臨其境,培養(yǎng)主動防范的意識:讓管理員處置同業(yè)或者是其他系統(tǒng)發(fā)生的事件,深刻體會故障危害,確保同類型故障在其他人和其他系統(tǒng)上“不二過”。
3. 以練促治,消除系統(tǒng)潛在的風險:通過演練中的故障注入,查找當前系統(tǒng)潛在問題和不足,并進行針對性的優(yōu)化和整改,提升系統(tǒng)健壯性。
三、紅藍對抗環(huán)境的建設
為真實模擬生產環(huán)境故障,紅藍對抗環(huán)境對照生產環(huán)境進行建設,具體包含:應用系統(tǒng)環(huán)境、業(yè)務背景壓力測試模擬環(huán)境、監(jiān)控報警體系、混沌平臺等?;诮当驹鲂г瓌t,主要資源投入采用環(huán)境復用方式,具體如下:
應用系統(tǒng)環(huán)境:復用我行投產驗證環(huán)境,系統(tǒng)架構和生產環(huán)境基本一致,關鍵數(shù)據(jù)與生產環(huán)境相當,系統(tǒng)數(shù)量覆蓋我行大部分的重要系統(tǒng)。
業(yè)務背景壓力測試模擬環(huán)境:主要復用G行非功能測試環(huán)境,另外包含部分生產環(huán)境交易回放環(huán)境和第三方擋板服務器。
監(jiān)控報警體系:搭建統(tǒng)一監(jiān)控告警平臺驗證環(huán)境,對接驗證環(huán)境中應用系統(tǒng)所有主機。監(jiān)控告警策略與生產保持一致,當應用系統(tǒng)產生告警時,可實時查看。
混沌平臺:使用行內混沌平臺做故障注入。在主機安裝混沌平臺探針,通過平臺自動注入經典故障,模擬演練場景。
四、紅藍對抗組織形式
G行紅藍對抗演練的人員包含紅方、藍方、組織方、評價方。
演練方式既可以針對單個重要系統(tǒng),也可以多個系統(tǒng)同時參與。藍方人員主要負責在應用系統(tǒng)中進行故障注入。紅方人員為本次演練應用系統(tǒng)的應用管理員和專業(yè)領域人員。評價方人員一般為科技運營中心領導和專家人員,有豐富的生產事件處置經驗,可對演練中紅方人員在處置過程中的不足進行評價和針對性的指導。組織方負責演練的人員召集,保證演練順利開展。
一次紅藍對抗演練實踐包括:環(huán)境準備,故障場景設計、正式演練開展、演練總結等4部分。
圖片
1.環(huán)境準備
演練環(huán)境在架構上與生產環(huán)境基本保持一致,其背景測試交易主要來自生產上的高頻交易。
圖片
2.故障場景設計
正式演練開始前,需要提前針對演練的應用系統(tǒng)進行故障設計。故障場景設計尤為重要,有效而真實的故障設計不僅可以有效考察到紅方的應急處置能力,也可以發(fā)現(xiàn)應用系統(tǒng)弱點。故障場景設計主要來源于以下3個方面:
- 歷史事件中的典型場景或該場景的延伸和變體,一些應用系統(tǒng)生產事件場景具備通用性,可以移植于其他應用系統(tǒng)復現(xiàn)事件場景,增加其他應用系統(tǒng)管理員該類事件處置經驗。
- 基于對系統(tǒng)架構的理解,針對某個組件或模塊人為制造故障,此類故障場景未曾發(fā)生過。故障設計需要基于架構的理解,分析該系統(tǒng)所涉及的基礎設施、云平臺、數(shù)據(jù)庫、中間件以及應用配置信息等,在這些組件中注入故障。通過此類故障,讓管理員加深對系統(tǒng)架構的整體理解。
- 利用混沌平臺隨機進行故障注入,例如網(wǎng)絡持續(xù)抖動、磁盤性能下降、MEM故障。對JAVA類應用還可以注入堆內存故障等。此類故障可考察應用管理員對未知故障的處置能力。
3.正式演練開展
演練開始前,組織方確定演練具體時間,提前通知紅方和藍方預留時間做好準備。演練開始后,組織方召集人員到指定現(xiàn)場地點,請藍方在驗證環(huán)境中注入故障,確定引發(fā)交易失敗,服務異常等告警。然后紅方開始真正的事件處置,根據(jù)告警描述信息,執(zhí)行對應的工具箱,初步定位到問題所在應用服務器,登錄服務器,檢查系統(tǒng)狀態(tài)、服務狀態(tài)是否正常。找到日志文件,對日志中錯誤信息進行解讀,定位到引發(fā)錯誤的原因,制定故障修復方案后,應用管理員申請授權進行處置后,檢查業(yè)務恢復情況,最終在組織方確認修復成功后,演練結束。
4.演練總結
在演練結束后的復盤和總結中,紅方會介紹在本次演練中故障處置步驟以及思路,并分享演練后感想。演練評價方會針對演練中應用管理員處置事件時,暴露出的問題進行總結,并給出指導意見,分享事件處置過程中的經驗,并針對演練中所涉及到的技術問題擴展延伸。通過演練,管理員既能加強對系統(tǒng)的熟悉程度,增加事件處置經驗;也能發(fā)掘應用系統(tǒng)存在的薄弱點,并做好風險規(guī)避措施和推進優(yōu)化整改。
五、紅藍對抗演練特點
紅藍對抗和傳統(tǒng)演練有著本質區(qū)別:傳統(tǒng)演練方式一般不制造真實故障,是按照設定的場景和流程進行的桌面推演,目的在于檢驗流程和應急預案。而紅藍對抗的特點是真實性、挑戰(zhàn)性和不確定性:
1. 真實性:紅藍對抗是需要在環(huán)境中注入真實故障,并需要雙方進行對抗。通過注入真實故障,引發(fā)服務和交易失敗,直接體現(xiàn)在告警和日志中,讓紅方按照線索進行排查。
2. 挑戰(zhàn)性:紅藍對抗的開展不會事先透漏故障,只有在演練開始的前一刻,才會進行故障注入,故障需要等待紅方人員通過層層分析才能定位,具有一定的挑戰(zhàn)性。
3. 不確定性:部分故障是隨機注入,紅方不能依賴已有預案進行處置,需要具體問題具體分析,有較大不確定性,能夠暴露系統(tǒng)未被發(fā)現(xiàn)的潛在隱患。
總結與展望
通過持續(xù)的探索和實踐,G行的紅藍對抗體系已初步建立,主要三個目標也在逐步實現(xiàn)過程當中。展望未來,也存在一些需要持續(xù)提升之處:
1. 環(huán)境覆蓋度不夠全面:演練環(huán)境系統(tǒng)數(shù)量未覆蓋全部重要系統(tǒng),背景交易壓力未能覆蓋全部交易。
2. 故障設計局限性和注入故障繁瑣:當前故障場景主要集中在已知的各專業(yè)領域發(fā)生的故障,具有一定的局限性;此外,故障注入采用手動注入為主,效率較低。
3. 演練環(huán)境中的運營配套體系與生產環(huán)境尚有差距:演練環(huán)境中的業(yè)務監(jiān)控、處置工具箱以及日志中心等配套環(huán)境還需補充建設。
在接下來的工作中,我們將重點在三個方面進行推進:一是在資源投入方面,我們將充分利用我行全棧云彈性能力,讓演練環(huán)境覆蓋全部重要系統(tǒng),并盡量補齊運營配套體系建設;二是在場景設計方面,計劃成立紅藍對抗演練專家組,集眾智之力豐富演練場景設計,加強與混沌平臺的結合,借力混沌平臺,讓故障注入和演練更加高效;最后是在演練場景方面,將以多系統(tǒng)協(xié)同對抗為主,重點是提升各領域管理員在應對復雜故障場景時的分析、溝通、協(xié)同和處置能力。
圖片
作者:孫曉玉
功夫不負有心人,星光不負趕路人。畢業(yè)十年,在不同的工作崗位中堅持學習,不斷進步,只要堅持不懈的努力朝目標前行,就一定會有收獲。工作之余喜歡游泳,瑜伽,乒乓球。