實現高性能Web掃描,負載均衡一馬平川
隨著網站越來越多元化,內容或資訊都會不定期更新,但每個新增的頁面或連接,都有可能帶來新的漏洞。因此,網站的安全性檢測不論在上線前或是每次更新時,都必須進行網站漏洞檢測工作。
然而對大型網站來說,手工網站檢測,對使用者是極大的負擔,尤其是目前網站動輒數百至數千頁,以人工方式對每一頁進行徹底的安全檢測近乎不可能,此時,方便、自動化的Web檢測工具就粉墨登場了。
但是,隨著網站規模日益擴大,細致的遍歷掃描與web掃描器的性能成為了先天性的矛盾:網站內容越多,掃描時間越長,對掃描器的性能也要求越高。
那么若想提升Web掃描器的性能同時又不放棄精度,原始做法主要有兩個:一是無限制的升級掃描器的硬件,但這種做法既不經濟也不可能;二是實現Web掃描的分布式部署,但子節點的負載分布不均又成了問題。
既然原始做法已經不好用了,誰可以擔此大任呢?太一星晨產品總監于振波指出,要實現高性能Web掃描,依靠負載均衡技術與分布式掃描部署相結合,這已成為了安全圈里的主流趨勢。
為此,太一星晨技術工程師們還以一套經典的5W1H分析法,解析了負載均衡技術如何在兼顧資源最優化的同時扭轉乾坤的。
Who
在Web安全戰役中,關鍵主角自然是Web掃描器與負載均衡!
When
Web掃描器開始掃描工作時,最核心的工作模塊是web掃描引擎,它作為一個支持多任務的服務運行,與產品端通過網絡通信進行互動。產品通過向web掃描引擎發送一條消息來創建、暫停、停止或者續掃一個任務,而web掃描引擎則通過消息告訴外界自己的狀態,已經爬取得鏈接和已經檢測到的漏洞。
當需要對多個大規模的web網站定時掃描時,一臺獨立的Web 掃描器負載太多容易導致分配不均,無法滿足掃描性能要求,外來威脅容易趁虛而入,此時就需要引入負載均衡技術,實現多站點任務的批量掃描。
What
在這一場戰役中,首先要清楚這場戰爭目的是什么:負載均衡技術幫助Web掃描器在對站點進行漏洞檢測和評估時,達到最大化資源的使用率,促使Web掃描器在短時間內完成掃描任務,從而保障Web站點的安全。
Why
分布式部署:這是最常用也是最靠譜的解決辦法,利用多臺Web掃描器同時分擔掃描任務。但是在實際部署環境中,子節點的掃描器性能差異,卻往往導致父節點管理的多個子節點在某一時刻經常負載不均衡。
此時通過專業的負載均衡產品可以替代父節點,解決這個弊端。
* ADC可依賴多種健康檢查方法以及負載分擔算法,幫助父節點有效監控子節點的工作狀態,并隨時調控。
* 對于子節點來說,不同型號乃至不同品牌的Web掃描器都可以共同使用,最大的節約了以往資源。
Where
Web掃描器的分布式部署方案中,父節點統籌管理子節點,并將多個掃描任務分配至各子節點執行,并收集子節點進行狀態和任務掃描報告等。
在父節點和子節點之間加入負載均衡設備,一旦某子節點出現故障或者超出負荷,父節點可以繞過故障子節點,不再給其分配任務,利用其它正常子節點繼續執行任務。
How
前面的5W把前因后果全弄清楚后,下面就可以讓負載均衡發揮它的作用了!
主要步驟如下:
1.任務獲取:收集產品端分配的各個掃描任務的相關信息(掃描策略、執行時間等)。
2. 引擎狀態反饋:收集和維護各掃描引擎節點的資源使用情況(CPU、內存及任務進度等)。
3. 任務調度:根據各掃描引擎節點的負載情況,計算各節點的權重,將產品端分配的掃描任務劃分成不同的子任務,按照權重分配給不同的節點。
4. 任務信息反饋:回收各掃描引擎執行掃描任務的結果,匯總后轉交至產品端。
毫無疑問,在復雜的攻擊形態以及層出不窮的新安全威脅面前,負載均衡技術有效地配合Web掃描器的分布式部署,解決了在大規模web站點下掃描器無法獨立完成的問題,真正實現了“急速掃描、立體防御”!