Inotify incron Linux DDoS 伺服器 網站 駭客 資安

以Inotify監控檔案系統 即時察覺網站遭惡意插旗

2015-10-28
如果公司的網站頁面被成惡意攻擊者置換掉,那麼對公司商譽的損傷是難以彌補的,而整個IT團隊也會顏面盡失,如何制止這類事件的發生就變得非常重要了。對此,這裡將介紹如何透過Linux系統的Inotify機制,並搭配inotify-tool及incron軟體,來建構一個可即時監控系統變動的解決方案。
接下來,繼續說明Inotify機制所支援的常見監控事件,如表3所示。

表3 Inotify所支援的常見監控事件

安裝inotify-tool

inotify-tool是一種可與inotify結合,提供監控檔案系統上的檔案與目錄變動的功能,安裝此套件相當地簡單,利用如下指令即可:


在安裝完成後,inotify-tool主要提供inotifywait來實現監控檔案系統的目的。

inotifywait實際是用來監控檔案系統上的檔案或目錄,其使用語法如下:


其中,[組態選項]部分的相關說明,如下所示:

-r: 設定採用遞迴(Recursive)的方式監控所設定的目錄,亦即同時也會監控該目錄下的所有子目錄。

-m: 設定持續地監控所要監控的目錄或檔案,如果未設定此選項,inotifywait程式在執行完一次之後,就會結束。

-d: 就如同-m選項,但此選項會將inotifywait程式於背景程式(Daemon)中運作。

-e: 設定要監控檔案或監控目錄的狀態(例如檔案關閉或屬性改變)是否發生,所監控的狀態如表4所示。

表4 inotifywait監控檔案及目錄時的狀態說明

--exclude:如果監控的對象是目錄,可利用此選項 排除此目錄內某些檔案或目錄的監控。

-t: 設定欲監控的時間長度(單位為秒),如果在此時間長度中,所監控的檔案或目錄並沒發生異動,即解除監控狀態。

以下指令將測試以inotifywait監控某個目錄:


該指令設定以遞迴的方式來監控「/var/log」目錄下的檔案或目錄是否有發生變動的情形。如圖3所示,在「/var/log/」目錄下新增一個名稱為hello的檔案。


▲圖3 新增一個名稱為hello的檔案。

由於inotifywait僅為單一的工具程式,當偵測到檔案系統發生變化時就會自動結束,所以在使用的時候,通常需要自行撰寫程式來執行,而其程式架構如下所示(#之後為註解):


由於使用inotifywait程式經常需要自行撰寫程式,使用上較為不便,因此接著介紹另外一套較為完整的incron套件,只需設定組態,即可持續監控檔案系統的變動。

使用incron

incron的安裝方式很簡單,先至incron的官方網站下載原始碼(目前最新的版本為0.5.10)。

然後解壓縮,並執行「make && make install」指令即可安裝。成功安裝後,incron主要提供以下兩個主程式:

‧incrond:實際運作的主程式
‧ incrontab:編寫組態檔的程式,可用來編寫設定的組態檔。

而incron的組態檔格式以及相關說明如下:


< path> : 設定要監控的目錄或檔案,要特別注意的一點是,如果監控的對象是目錄的話,incron不會以遞迴的方式往下監控相關的子目錄。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!