閱讀347 返回首頁    go 微軟 go Office


雲盾WAF實現虛擬補丁——記一起Web漏洞應急響應

不支持[TOC]目錄!

來自真實案例的虛擬總結。見招拆招,而且還得以最快的速度完成,雲盾WAF扛得起!

憂傷的周六早晨

“雲盾.先知”的滲透測試服務到底靠不靠譜?今年8月,在公司領導的授權下,我們充值體驗了一把。答案是:先知白帽子的滲透測試水平杠杠的。周六大清早的,就給我們送來一份大禮:“遠程代碼執行漏洞”!

15069547049868

先知平台白帽子黑客通過平台向我們提交了一個非常嚴重的漏洞:公司某外部合作平台在用的低版本PHPWind BBS存在嚴重安全漏洞,導致外部攻擊者可直接利用漏洞執行係統命令。

漏洞信息請參考:https://www.secpulse.com/archives/44006.html。

冷靜,冷靜再冷靜

當時,團隊成員的心情可謂一波三折。首先是心已冷:“完了,被拿了shell,安全沒做好,怎麼跟老板交差……”;緊接著就是自我安慰:“畢竟是通過先知平台發現的漏洞,慶幸沒有災在真正的黑客手裏啊!”;再後來就是:“這麼嚴重的漏洞,我沒得盡快啟動漏洞響應流程盡快修複。問題是,這大周六的,咱能叫得起開發嗎?就算修複升級也沒這麼快啊,公司發布流程走一遍也不知道是猴年馬月……”

理論上說,從漏洞被發現到實際修複為止,暴露的時間越長對公司安全越不利。萬一有攻擊者成功利用了這個漏洞,後果不堪設想。

在聯係完開發人員並冷靜思考之後,我們意識到要完成這個漏洞的修複,遠沒有我們想象的那麼簡單,原因是:

  • 首先這是一個PHPWind BBS的PHP漏洞(廢話)
  • 公司最後一名PHP工程師已經離職,目前都是Java棧技術團隊(那上麵就不是廢話了)
  • 公司論壇已經很久沒有升級,標準修複措施是升級版本
  • 公司的論壇是在開源代碼基礎上進行二次開發的,無法直接使用官方升級包
  • 就算係統能夠升級,標準的修複、測試、備份、發布和驗證流程根本無法實現滿足該漏洞對應的時效性要求

後背一陣冷汗,現在該怎麼辦?

借助雲盾WAF實現虛擬補丁臨時緩解漏洞

慶幸的是,該BBS早先已經接入了阿裏雲WAF保護。因此,安全團隊可以通過WAF配置相應的規則,製作虛擬補丁,臨時緩解該漏洞的影響。

我們認真地分析了該漏洞的原理和利用過程,發現:漏洞利用過程中必須請求一次特定URL才能實現,即:https://bbs.example.com/plugin.php?H_gate=vendor 。該URL是一個供應商信息列舉的插件,即使無法使用,也不影響正常的業務。基於該URL的規則,安全團隊判定:可以通過WAF實現虛擬補丁攔截。

進入雲盾WAF配置界麵

登錄阿裏雲控製台,通過導航菜單【安全(雲盾)】|【Web應用防火牆(網絡安全)】|【域名配置】找到當前服務器的域名bbs.example.com。

15069580944095

配置WAF防護策略

通過點擊域名bbs.example.com作用域內的【安全開關】|【防護配置】的超鏈接,進入WAF配置界麵。

WAF產品支持多個維度的安全防護,包括:

  • Web應用攻擊防護
  • 惡意IP懲罰
  • CC安全防護
  • 大數據深度學習引擎
  • 精準訪問控製
  • 封禁地區
  • 新智能防護引擎
  • 網站防篡改
  • 數據風控
  • 防敏感信息泄漏

ps:流量經過Web應用防火牆時,首先依次匹配精準訪問控製中的規則、再進行CC攻擊的檢測、最後進行Web應用攻擊防護,配置各類規則時請注意內在順序。

本次虛擬補丁配置需要用到【精準訪問控製】,所以該功能務必處於開啟狀態。在該功能已經開啟的前提下,點擊超鏈接【前去配置】。

15069584667896

進入配置界麵,直接點擊【新增規則】,在彈出的對話框中進行URL匹配及攔截配置。針對本次漏洞利用的關鍵URL:https://bbs.example.com/plugin.php?H_gate=vendor, 為降低攔截的誤判率,設置規則如下:

  • 規則名稱:Web漏洞虛擬補丁
  • 匹配條件:字段URL包含plugin.php
  • 匹配條件:Params包含H_gate=vendor
  • 匹配動作:阻斷

15069586272533

填寫完規則後,點擊【確定】,完成規則配置,規則即時生效。

15069590028448

關鍵匹配字段說明

在配置界麵【匹配字段】後的信息圖表上懸停鼠標,係統會提示可用的匹配字段,包括:

  • IP
  • URL
  • Referer
  • User-Agent
  • Params
  • Cookie
  • Content-Type
  • X-Forwarded-For
  • Content-Length
  • Post-Body

各字段形象化的映射關係如下:

15069593026226

ps:匹配中規則後的動作有三種:阻斷、放行(可選擇後續是否繼續進行Web攻擊攔截或CC攻擊)、告警(隻記錄不阻斷)。規則之間是有先後匹配順序的,可點擊規則排序達到最優的防護效果。

驗證攔截效果

完成WAF配置後,訪問觸發漏洞的URL:https://bbs.example.com/plugin.php?H_gate=vendor ,瀏覽器直接提示訪問請求已經被阿裏雲WAF攔截,bingo!

15069598146943

後續

安全團隊除了通過WAF製作虛擬補丁,臨時緩解漏洞影響,實際在漏洞響應過程中之執行了如下動作:

  • 對網站代碼和Web服務器進行深入安全調查
  • 確保本次白帽子發現漏洞之前,該漏洞不曾被黑客利用
  • 找到開發大牛,對PHP代碼漏洞進行修複並發布上線
  • 增強服務器安全監控,部署阿裏雲安騎士客戶端
  • 徹查公司內部同類開源項目的版本及漏洞情況
  • 製定Web安全漏洞測試規範
  • 重新評估網站的綜合安全性
  • 將先知安全眾測列入下一階段工作計劃

安全從來就不是單一環節的問題,從業人員必須能夠從一個點看到多個層麵的問題,從而有效提升企業信息係統的整體安全行,並將安全運營帶入正軌!

總結

雲盾WAF產品總體功能強大,能夠滿足絕大多數中小企業的Web應用安全防護。本文隻是從一起漏洞應急案例介紹了:如何在極短的時間內通過阿裏雲雲盾產品Web應用防火牆WAF製作虛擬補丁,臨時緩解Web漏洞的影響。

本期分享到此為止。拋磚引玉,期待與業界同仁碰撞思想,一起成長。

ps:要是雲棲博客編輯器能再友好點,我會寫更多的文章……

最後更新:2017-10-04 22:33:14

  上一篇:go  阿裏雲ECS服務器搭建wordpress個人博客網站【詳細圖文教程】
  下一篇:go  Pelican+Github搭建博客