乙個web漏洞掃瞄系統的設計與實現(一)
一、關於我以及本文的背景
文章的標題有點唬人的味道。
首先,作為乙個畢業還不到3年的普通本科生,我還沒修煉成為web安全方面的行家;其次,作為乙個總**行數還不到5萬的平凡開發人員,我也不是系統設計方面的能手。但是畢業後我到了一家大型的網際網路公司,做了一段時間的web安全方面的工作,也確實積累了一些經驗和心得,我是想藉此機會來好好總結一番的。
我最開始的任務是為公司的web站點做滲透測試--通俗點說就是找漏洞--也許你已經開始在想了:找**的漏洞,多簡單啊,開啟瀏覽器在**上轉悠一會,抓抓包,用工具掃兩下,或者來點google hacking之類的高階技巧,完了寫乙份測試報告,不就大功告成了?事實上也的確如此,找乙個站點的漏洞已經簡單到會兩下計算機的小朋友都能玩了(他們多數比我玩得還好),這個工作又有何難呢?
是呀,從技術的角度來說,對乙個站點做一次web滲透測試是沒有太大的難度。但是對很多個站點做很多次呢?我所在的公司有近萬台web伺服器,一千個以上的網域名稱,活躍的網域名稱過百,活躍的業務數數百,它們從靜態的頁面到複雜的web2.0應用都有,分屬於幾個不同的業務系統數十個開發小組,每週都在迭代開發與版本發布的過程中。而我們的任務,就是長期確保公司所有的web業務都沒有安全漏洞。
現在你可以看到了,這是乙個大規模的技術性重複的以及長期持續的工作,牽涉到安全部門、各個業務部門的開發、測試以及他們的管理者。僅僅地靠個人的技術和力量,已經不可能承擔這種工作的。最開始的時候,我們的老大對我說:你要成為web安全方面的專家,至少得手工測試一萬個頁面以上。可是在檢測了數百個頁面之後,我就已經倦怠得不行了。我開始尋思能夠偷懶的辦法,最開始是想做乙個輔助的掃瞄工具,後來這想法又慢慢發展成為做乙個自動化的系統。這個想法後來得到老大們的支援,初生牛犢不怕虎,我單槍匹馬做了起來,得到了乙個雛形,然後有新的同事加進來,把它發展和改進。到現在,乙個覆蓋公司所有web站點、24小時不間斷檢查、支援bu上線前自測、漏洞工單流程化、漏洞趨勢統計檢視的平台已經初步建立,公司的web安全形勢得到了很大的改觀。而我也在這個系統的開發過程中收穫良多。
誠然,這個系統還是很簡陋的,我一直想對它進行重構(但對乙個已經在運營的系統進行重構實際上是困難重重的),寫這系列文章的目的,其實是想幫自己進行總結,釐清設計與實現的思路,也有助於鍛鍊系統的思維。其次,我希望借助重構後的掃瞄器做一些研究,比如說對乙個區域的互聯**點做些安全性上的評估,形成乙個類似於「安全資料庫」的東西。
我還可以列舉出更多的原因,但是這上面四條已經足夠了。乙個軟體產品是否優秀實際上並不太重要,關鍵是看它能不能幫我們解決大部分的問題。對於個人使用者或者小型的公司來說,它們足夠好了;但是對於乙個大型網際網路企業來說,需要乙個更合適的「輪子」。
4 掃瞄節點 分布式漏洞掃瞄系統設計與實現
四 掃瞄節點 4.1 概述 此文原出自 愛運維社群 掃瞄節點 scanner 是整個分布式掃瞄系統的終端節點,負責具體漏洞掃瞄。由於我們的漏洞掃瞄系統需要集中許多不同的掃瞄工具,在這些工具當中,有的是只能執行在windows上,比如wvs,而有的則是只能執行在linux上,比如openvas,而有的...
1 概述 分布式漏洞掃瞄系統設計與實現
一 概述 此文原出自 愛運維社群 1.1 前言 由於資訊在當今社會顯得越來越重要,其安全性就越發突出,尤其是在近幾年,資訊保安越來越受到企業的重視。如今,幾乎所有的網際網路都有開發自己的漏洞掃瞄平台,用於發現內部的安全隱患。此外,很多專業的安全工程師就有自己開發的漏洞挖掘系統,隨著各種漏洞盒子的出現...
網路漏洞掃瞄器的設計與實現
李志強 lizq 99 163.com xml error please enter a value for the author element s jobtitle attribute,or the company name element,or both.簡介 漏洞掃瞄器是一種自動檢測遠端或本...