資深菜鳥工程師來找尋解決方案。
目前管理上百台 Linux 主機 Redhat 家族的,雖說是管理,但是幾乎都是基底安裝更新好交出去後就只有在有問題時才會登入檢查,因為常常收到弱點修補通報,但又不知道每台主機上分別安裝了什麼套件,只能憑各系統廠商的主動回應才會知道該主機需要修補弱點。
有沒有什麼工具可以去收集各主機上安裝的某些特定套件資訊,比如 Apache 、Tomcat 、Java 等的,以方便通知相對應的系統廠商,並確認是否已確實更新到建議的版本?
謝謝!
目前工作單位有使用一套叫做「神網」的工具,其中的一個功能就是可以透過 Agent 去收集機器上有安裝那些軟體並回報給神網主機,於是在該主機上就能很清楚的知道某個軟體的版本是否是最新。
目前想到的做法:
不知道是否有更好的建議或者是工具?
RedHat家族用:
yum list --installed
不就看到全部安裝的套件了?
您可以考慮使用 OCS Inventory 來進行資訊資產盤點
如何在 Ubuntu 20.04 安裝 OCS Inventory 資產管理系統
https://ithelp.ithome.com.tw/articles/10314431
如何在 UNIX-Like 安裝 OCS Inventory 代理程式
https://ithelp.ithome.com.tw/articles/10326529
相容哪些 UNIX-Like 版本可參考下連結的 Compatibility
https://wiki.ocsinventory-ng.org/03.Basic-documentation/Setting-up-the-UNIX-agent-manually-on-client-computers/
如何在 OCS Inventory 使用 CVE 報告
https://ithelp.ithome.com.tw/articles/10316780
- 寫支小 script 丟在每台主機上,用 cron 去定時收集特定軟體的版本並寫進一個檔案中。(這個算簡單)
- 將該檔案回傳至收集主機。(這個還想不出好辦法,rsync 或 scp 都會面臨輸密碼的問題,暫時不想用 key 的方式。)
- 寫一支小程式,把收集到的資訊輸出成一個 html 檔案。(暫時不想用 PHP ,打算用 Python)
網頁顯示所以收集主機這些特定軟體的安裝情況及版本。
1跟3 看起來你會寫script 程式 跟排程設定,如果會一點點網頁跟資料庫那就好辦了...
寫一隻簡單程式,用cron定期執行,
這支程式,將收集好的資料直接寫到事先準備好的DB進去。
然後寫一個網頁去撈DB的資料出來就好了。
DB的格式設計好,一個網頁就可以切換不同主機的狀況,甚至設計一個全域分析表出來。
也可以另外寫程式定期去撈需要通知的條件,如果有就 mail line telgram通知之類的。
寫DB那段,如果不要直接用程式直接進資料庫寫資料,也可以多做一個web service做RESTful API的方式,將資料來打進資料庫內,但又多一道事情要做,如果能力可及,也是可以做。
1跟3 看起來你會寫script 程式 跟排程設定,如果會一點點網頁跟資料庫那就好辦了...
color blind test