iT邦幫忙

1

如何透過 Grafana 將 OCS Inventory CVE Reporting 視覺化

  • 分享至 

  • xImage
  •  

OCS Inventory 可以每天把盤點到的所有軟體與 CPE 幾十萬多筆的受漏洞影響的產品進行比對,然後告知您的資訊資產存在哪些 CVE 漏洞與資訊。

內建的 CVE Reporting 使用起來不是這麼的直觀,今天就來教大家如何透過 Grafana 將 OCS Inventory CVE Reporting 視覺化

Data Source
先到 Configuration 配置 Data Source,選擇 MySQL。

填寫相關連線資訊,點選 Save & Test。

若無法順利連線的朋友可能要檢查您的防火牆是否有開通 3306 埠號,允許 Grafana 的 IP 進行存取。

或是 ocs 帳號只允許 127.0.0.1 進行連線

sudo mysql
MariaDB [(none)]> SHOW GRANTS for ocs;
+------------------------------------------------------------------------+
| Grants for ocs@%                                                       |
+------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `ocs`@`%` IDENTIFIED BY PASSWORD 'your_password' |
| GRANT ALL PRIVILEGES ON `ocsweb`.* TO `ocs`@`%` WITH GRANT OPTION      |
+------------------------------------------------------------------------+
2 rows in set (0.000 sec)

Variables
建立一個 CVE Reporting 儀表板,點選 Setting 中的 Variables。

為了方便之後我們可以對資料進行過濾,先來宣告下列變數。

以 SOFTWARE_NAME 為例

General

  • Variable Type 選擇 Query
  • Name 輸入 SOFTWARE_NAME 當作變數名稱使用
  • Label 輸入 Software Name 做為顯示名稱

Query Options

  • Data Source 選擇您的 MySQL 資料庫
  • Query 輸入如下
SELECT DISTINCT SOFTWARE_NAME FROM ocsweb.cve_search_computer;
  • Sort 就依照個人喜好選擇
  • Refresh 選擇 On dashboard load

Selection Options

  • 勾選 Multi-value
  • 勾選 Include All option

Preview of vaules 會出現您想要的變數數值,按下 Apply 即完成。

若變數出現橘色警告,那是因為儀錶板還沒有使用該變數。

其他變數語法可參考如下

SELECT DISTINCT HARDWARE_NAME FROM ocsweb.cve_search_computer;
SELECT DISTINCT PUBLISHER FROM ocsweb.cve_search_computer;
SELECT DISTINCT CVSS FROM ocsweb.cve_search_computer;

面板就會多出了四個欄位可以拿來使用,例如軟體名稱。

Dashboard
新增一個 Table Panel,資料來源選擇 MySQL。

輸入 SQL 語法如下,WHERE 條件帶入我們設定的變數。

SELECT * FROM ocsweb.cve_search_computer
WHERE HARDWARE_NAME IN ($HARDWARE_NAME) AND SOFTWARE_NAME IN ($SOFTWARE_NAME) AND PUBLISHER IN ($PUBLISHER) AND CVSS IN ($CVSS) 
ORDER BY CVSS DESC

Transform 可以選擇 Organize Fields 將不需要顯示的欄位關閉,例如 ID 與 HARDWARE_ID。

就可快速過濾存在 6.8 的 CVSS 的軟體安裝在哪些電腦上

新增一個 Pie Chart,資料來源選擇 MySQL。

輸入 SQL 語法如下,WHERE 條件帶入我們設定的變數。

SELECT HARDWARE_NAME, COUNT(HARDWARE_NAME) 
FROM ocsweb.cve_search_computer 
WHERE HARDWARE_NAME IN ($HARDWARE_NAME) AND SOFTWARE_NAME IN ($SOFTWARE_NAME) AND PUBLISHER IN ($PUBLISHER) AND CVSS IN ($CVSS) 
GROUP BY HARDWARE_NAME

就可以快速地知道哪台電腦名稱存在最多 CVE 漏洞

SOFTWARE_NAME 語法可參考如下

SELECT SOFTWARE_NAME, COUNT(SOFTWARE_NAME) 
FROM ocsweb.cve_search_computer 
WHERE HARDWARE_NAME IN ($HARDWARE_NAME) AND SOFTWARE_NAME IN ($SOFTWARE_NAME) AND PUBLISHER IN ($PUBLISHER) AND CVSS IN ($CVSS) 
GROUP BY SOFTWARE_NAME

PUBLISHER 語法可參考如下

SELECT PUBLISHER, COUNT(PUBLISHER) 
FROM ocsweb.cve_search_computer 
WHERE HARDWARE_NAME IN ($HARDWARE_NAME) AND SOFTWARE_NAME IN ($SOFTWARE_NAME) AND PUBLISHER IN ($PUBLISHER) AND CVSS IN ($CVSS) 
GROUP BY PUBLISHER

CVSS 語法可參考如下

SELECT CVSS, COUNT(CVSS) 
FROM ocsweb.cve_search_computer 
WHERE HARDWARE_NAME IN ($HARDWARE_NAME) AND SOFTWARE_NAME IN ($SOFTWARE_NAME) AND PUBLISHER IN ($PUBLISHER) AND CVSS IN ($CVSS) 
GROUP BY PUBLISHER
ORDER BY CVSS DESC

我們就可以得到一個含有統計資訊且可以快速過濾具的儀表板,是不是比 OCS Inventory 本身的 CVE Reporting 更直觀且實用。

今天的教學就到這邊,希望有幫助到大家。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言