OpenVAS 弱點管理 弱點掃描 漏洞 資安 安全

自建OpenVAS弱點掃描 資安稽核報表不求人(上)

2016-05-17
在本文中,將介紹OpenVAS如何從無到有進行安裝程序,並說明該程式的基本操作技巧,最後則講解怎樣可以讓OpenVAS自動定期掃描並且寄送報表給管理者。
然後,再開始進行編譯及安裝程序:


至此,OpenVAS主程式都已經完成安裝。若想要更了解OpenVAS的架構,可以參考圖1的說明,這是從Wikipedia上取得的OpenVAS架構圖,從中可以看出這些程式彼此間的關係。

關於最上方的三個管理軟體,由於本文已經安裝 Greenbone Security Assistant,因此就不再安裝OpenVAS CLI及Greenbone Security Desktop。中間的部分,OpenVAS Administrator可以控制OpenVAS Manager,但本文是透過Greenbone Security Assistant呼叫OpenVAS Manager來控制OpenVAS Scanner,因此也不進行安裝。


▲圖1 OpenVAS架構圖。

設定OpenVAS

安裝完成後,就要開始使用OpenVAS。但在使用它之前,必須先檢查一下相關的程式、檔案及路徑是否備妥。官網提供openvas-check-setup這個程式協助進行檢查。將openvas-check-setup程式下載回來,並加上可執行的屬性:


由於這裡並非安裝在預設的「/usr/local」,因此須要在環境變數的PATH中新增「/usr/local/openvas」的「bin」和「sbin」目錄。同樣建議也加在「/etc/profile」內,以便之後重開機後不需要重新加入:


接著,執行檢查程式:


它會提示一則「ERROR: No CA certificate file of OpenVAS Scanner found.」訊息。所以,就遵照其指示執行下列指令:


此步驟的目的是在建立SSL Certificate,由於是測試,因此此處就直接全部使用預設值,請依自身實際的需求進行調整。

接著同樣執行openvas-check-setup,它會提示建議安裝redis-server。Redis是一個開源的NoSQL資料庫,可以參考「https://magiclen.org/ubuntu-redis-php/」網頁的說明。然後,執行下列指令安裝Redis:


OpenVAS希望Redis能在「/tmp/redis.sock」開啟一個Unix Socket,因此必須編輯「/etc/redis/redis.conf」檔案,新增以下兩行之後存檔:


隨後,透過下列指令來重新執行Redis:


接著再執行openvas-check-setup,可以看到NVT(Network Vulnerability Tests,簡單來說就是弱點資料庫)太小的訊息,建議進行更新,訊息內容如下所示:


所以,接著執行openvas-nvt-sync更新NVT資料庫:


在更新過程中,可以看到很多副檔名為nasl的檔案被下載回來。建議定期執行openvas-nvt-sync檔案,或者放在crontab中使其自動更新。

以下所須執行的指令都是透過openvas-check-setup取得,所以不再贅述。接著,再執行下列指令建立client certificate file of OpenVAS Manager:


緊接著,建立OpenVAS Manager database:


執行此步驟後,可能需要等待一段較長的時間,筆者大約等了3分鐘。最後執行OpenVAS Scanner,讓它在背景執行:


確認執行後,再執行一次openvas-check-setup,將會提示要建立帳號密碼,其語法如下(帳號和密碼請自行規劃):


使用者建立後,再使用openvas-scapdata-sync來更新OpenVAS SCAP database。在此手動更新SCAP(Security Content Automation Protocol)的資料庫,由於更新過程非常耗時,請耐心等候,指令如下:


由於這個檔案也是需要定期更新,因此隨後也加入crontab的排程中。然後要更新OpenVAS CERT database,所以執行下列指令:


之後會要求安裝OpenVAS CLI(Commandline Interface)。由於本文是透過Greenbone Security Assistant此Web GUI進行操作,所以可以使用如下的指令,透過這個指令來避開OpenVAS CLI的檢查:


最後,還有幾個指令是必須執行的,例如:



追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!