Skip to main content

Nessus

Tutorials

免費授權版

  • 第一次安裝會有 90 天無限制的試用。
  • 超過 90 天後的試用,會變成免費授權版。這個有五年的使用期限,而且限定 16 個掃描 IP 的總數量。
  • 免費版計算掃描 IP 數量的原則是,只有掃瞄結果有 High(含) 等級以上弱點,這個 IP 才會被計數。

Installation

Install on RedHat 8
  1. 前往官網申請 Nessus Essentials 的免費啟動碼。
  2. 從官網下載 Nessus 安裝檔 Nessus-10.1.2-es8.x86_64.rpm
  3. 先更新作業系統 dnf update
  4. 安裝 RPM 檔 rpm -ivh Nessus-10.1.2-es8.x86_64.rpm
  5. 登入網頁 https://server.ip:8834
  6. 輸入啟動碼與建立登入的帳號密碼。
  7. 完成。
Install with the docker

DockerHub: https://hub.docker.com/r/tenableofficial/nessus 

docker pull tenableofficial/nessus:<version>

docker run --name "nessus-pro" -d -p 8834:8834  -e ACTIVATION_CODE=<activation code> \
-e USERNAME=admin -e PASSWORD=admin tenableofficial/nessus:<version> 

Update the Nessus 主程式

Offline
  1. 下載最新版 Nessus : Download Nessus | Tenable®
    NOTE: 如果舊版的是用 RPM 安裝,升級時也必須用 RPM 升級。
  2.  將更新檔上傳至 Nessus 主機,並進行更新作業。

以 RPM 方式更新

rpm -Uvh Nessus-10.4.1-es8.x86_64.rpm
systemctl stop nessusd
systemctl start nessusd
Online
/opt/nessus/sbin/nessuscli update
檢查目前版號

Nessus Admin > Settings > About

Update the plugins

Online
/opt/nessus/sbin/nessuscli update --plugins-only
Offline

For 免費版授權

NOTE: 原有的 activation code 已經註冊過,就不能重複取得 plugin 的下載連結。必須重新申請一組新的 activation code,再依據下方程序取得最新 plugin 下載連結。

  1. 申請一組新的 Activation Code (NOTE: 只有使用這個連結,才可以立即收到郵件通知)
  2. 從現有 Nessus 主機取得 Challenge Code
  3. 用上述的資料透過下述的連結,可以下載最新的 plugin 更新檔,前往:  https://plugins.nessus.org/v2/offline.php   (TIP: 網頁除了提供 plugin 更新檔 all-2.0.tar.gz 以外,還有授權檔的資訊,不過在這個案例用不上)

取得 Challenge Code (NOTE: 每次重啟系統,Challenge Code 會被重置)

/opt/nessus/sbin/nessuscli fetch --challenge

將 plugin 更新檔上傳至主機並套用

/opt/nessus/sbin/nessuscli update all-2.0.tar.gz

確認 plugin 已更新

Nessus Admin > Settings > About 

  • Last Updated: 更新的時間
  • Plugin Set: 更新後的版本
  • Policy Template version: 更新後的版本

注意事項:

  1. 套用更新檔指令完成後,系統還需要數分鐘時間進行背景更新作業,可以觀察 CPU 的負載程度來確認是否已完成。
  2. 舊的 scan 不會套用新的 plugin,必須先移除再重新建立才會套用。

重新註冊授權

用新的授權檔重新註冊

FAQ

更新 plugin 出現錯誤

Error: failed to write decompressed tar archive * Failed to update from all-2.0.new.tar.gz.  Invalid manifest.

解決方案:檢查目錄 /opt/nessus 是否有足夠可用空間。

修正 plugin #51192(SSL Certificate Cannot Be Trusted)

對於使用自我簽署憑證的網站或服務,可以使用 custom_CA 功能,將自訂的根憑證,輸入至 Nessus 系統。

TIP: 根憑證必須是 PEM 格式 BAS64 編碼,內容包含開頭文字 -----BEGIN CERTIFICATE-----,與結尾文字 -----END CERTIFICATE----- 的密文內容。

Nessus Web > Settings > Custom CA

-----BEGIN CERTIFICATE-----
...
...
...
-----END CERTIFICATE-----
Log4Shell 誤判事件 

Nessus 的檢測報告裡,許多各式主機或連網裝置,只要有開啟 HTTP 或 HTTPS 網頁介面,都會出現 Plugin 156014156016 的 Log4Shell 漏洞資訊。

這兩個 Plugin 使用了回測 (Callback)的偵測技術,所以 Scanner (Nessus server) 與 Target (Being scanned hosts) 都需要能連外網的 Tenable Controlled Server。

一般企業裡的網路是限制外網存取的,所以會造成系統誤判的情況。

官方文件指引:Overview of Callbacks in Log4j Remote Detection Plugins The... | Tenable Connect

Nessus 有兩種不同版本,雲端版 (Tenable.io)與自行託管的地端版。檢測 Log4Shell 有兩個無認證的 Pluggin。

  1. Plugin 156014 : 適用雲端版
  2. Plugin 155998 : 適用地端版