很多的網路設備都有支援 Syslog 的功能, 而 Syslog 會記錄著該設備的活動, 如錯誤的記錄或使用的記錄都會存在一個名叫 Syslog 的檔案, 通常這個檔案就只會存在主機中, 但當我會有好幾台不同的主機時, 要管理這些記錄就不是件簡單的工作, 所以出來了一套 Open Source 的 Syslog-NG Server套件, 利用了 SQL Server 來儲存這些各自單獨的 Syslog 文字檔案, 如此在查詢特定的資料就更方便, 但 Log 都放在 SQL Server 上查詢都要用 SQL Client來查詢, 其實也很不方便, 故有人用 PHP 寫出來了 PHP-Syslog-NG 這個 Web 介面的服務套件.
|
有帳號密碼登入 |
|
登入後的介面 |
|
很有用的大餅圖 |
但這個套件在 2014年左右就改為商業版本的 LogZillla 而不再是 Open Source, 原作者有說原本用 PHP 寫的這個缺乏延展性無法處理超過數百萬的記錄, 故原作者早已不再更新這個 PHP-Syslog-NG的版本, 目前能找到最新的都是 2009 年的 php-syslog-ng-2.9.8m.tar.gz 這個套件, 但要在最新的 PHP5 以上的版本跑就會會出現很多的錯誤, 但 open source 的好處就看到了, 當擁有有了 source code 再老的程式, 只要有心就可以去修, 只要他還能用、能動、堪用, 為什麼不用?
|
若成功登入安裝未修改前就是一堆錯誤, 根本不能用,
很多的原因是在PHP的語法是用PHP4.X,
而我安裝的是用PHP5.6的版本...
其實若安裝PHP4.x的應該也可以,
但為什麼不要用舊版的PHP,
安全上有什麼後門就危險了,
其實PHP也能好心的告訴你解決的線索~ |
|
目前安裝的PHP版本資訊都在這了 |
有興趣的玩家可以到網路找找, Google 一下有很多的安裝說明, 中文英文都有, 要安裝其實不難, 難的是安裝後無法執行, 所以有閒的我, 當然就動手修改了, 我沒上過任何 PHP 的課程, 只憑著解決問題的態度, 透過了解出錯的訊息一步一步的 Debug 這種解迷的學習, 過程因為沒有時間壓力其實是愉快的, 大約通常一個問題要花個一兩天去消化, 隔幾天就能解決, 如此花了大約半個月, 終於沒再看見任何錯誤訊息, 穩定的也跑了1個月了, 雖然這個版本很簡陋, 但對於個人與家用網路其實就很夠用了, 當然會用PHP-Syslog-NG這套是因為很多年前我有用過, 這幾年其實也有不少新的GUI介面的類似套件, 但老人總是念舊的, 我是先求有, 再求好, 若有再發現好用的Open Source可以替代, 到時再轉換有何不可。
|
集中的Syslog資訊其實更容易從大餅圖找到異常的來源 |
,
上面這張圖就是因為我的FreeNAS有在 Interner上有開放 FTP 服務, 結果一個國外來的IP, 一直要連上但帳號密碼不對,一直從2點開始在嘗試登入, 但還好密碼還沒被猜到,看了從 PHP-SYSLOG-NG上發現記錄異常變多後, 從大餅圖看是那一個HOST最多, 一點開就看到了這個錯誤記錄還不斷的再產生, 當然也很清楚了解是那一個IP, 就到Router上就容易把那個IP設到黑名單的擋下來封鎖, 這就是很簡單的資安防護的流程~