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
Query Options
SELECT DISTINCT SOFTWARE_NAME FROM ocsweb.cve_search_computer;
Selection Options
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 更直觀且實用。
今天的教學就到這邊,希望有幫助到大家。