PostRank

2009/10/26

[轉載]是誰?刪了我的檔案!

摘自:http://blog.roodo.com/aqea/archives/1397801.html & http://www.wretch.cc/blog/josephphoto/14075781

是誰?刪了我的檔案!

雖然公用資料夾 (Share Folder) 使用很方便:打開「檔案總管」就可以像本機硬碟一樣方便使用,還可以分享、與他人共用;儘管我已經努力將權限設到最小,但還是常常有使用者來抱怨,暫存區的檔案被別人刪除了!

真的很想罵人,「暫存」就是暫時存一下,放了 N 天,本來就很容易不見!

雖然已逐步改用 SharePoint Server 來取代公用資料夾,但使用者還是偏好他的方便。

為了找出那位三不五時幫忙刪檔案的好心人 (也有可能那天和男朋友吵架上來舒發心情的啦),也為伺服器平反一下 (不會它自己搞丟的) ,決定要來稽核公用資料夾中的檔案刪除動作。

首先,我們要開始稽核原則:

  1. 由左下角的「開始」→「程式集」→「系統管理工具」,開啟「本機安全性原則」或「預設網域控制站安全性設定」。
  2. 雙擊「Windows 設定」,依序展開「安全性設定」→「本機原則」→「稽核原則」。
  3. 於右側欄雙擊「稽核物件存取」。
  4. 勾選「安全性原則設定」標籤中的「成功」。

經過以上的設定,這台電腦 (伺服器) 就已經有了基本的物件存取稽核的能力,接下來,我們再替需要監視的資料夾開啟稽核功能!

  1. 於計劃監視的資料夾上按右鍵,選擇「內容」。
  2. 切換至「安全性」標籤,點按「進階」按鈕。
  3. 切換至「」標籤,點按「新增」按鈕。
  4. 選擇欲稽核的使用者或群組,勾選「刪除子資料夾及檔案」和「刪除」,及「成功」或「失敗」時記錄。

由這一刻起,這個資料夾就會受到稽核監視,被稽核的使用者 (群組) 若刪除資料夾或檔案時,就會被記錄在「事件」中:

  1. 開啟「電腦管理」,切換至「系統工具」→「事件檢視器」→「安全性」。
  2. 點選相關的事件,就可以看到以下內容。

下回再有使用者亂刪除別人的檔案時,我們就可以由事件中去查看,到底是誰幹的好事了!

附帶一提的!可以想像公用存取的資料夾若是位在伺服器上,每天就可能有上百筆關於於檔案存取的安全性事件記錄!所以,記得一定要去設定「記錄檔大小」的限制!不然,可能會一路澎脹到佔滿一整個磁碟!

  1. 開啟「電腦管理」,切換至「系統工具」→「事件檢視器」。
  2. 於左側的「安全性」上,按滑鼠右鍵,選擇「內容」。

分享給各位有需要的朋友。

因為安全性事件中,記錄了所有很安全性有關的事件,不只是這檔案被刪除的事件記錄而已,建議可以搭配 Log Parser 使用:

Microsoft Log Parser 2.2 官方英文網頁官方下載頁

因為 Log Parser 只有命令列的界面,所以相關的操作說明,可參考官方說明頁

 
Log Parser 是一種輕巧好用的公用程式,名符其實,它可以快速簡單地剖析純文字記錄檔。而且 Log Parser 也可以用來快速簡單地剖析事件記錄、檔案系統、登錄,甚至是 Active Directory。
像是對IIS的log file進行類似SQL語法的分析查詢,將結果顯示於螢幕、檔案或SQL數據庫內。



Log Parser本身是個命令字元工具(command-line tool),使用時必須先進入命令提示字元,並切換至Log Parser的安裝目錄,然後輸入LogParser指令即可使用。

LogParser -h GRAMMAR : SQL Language Grammar 查詢語言的語法

LogParser -h FUNCTIONS [ ] : Functions Syntax 函數語法

LogParser -h EXAMPLES : Example queries and commands 範例



輸出入格式

-i: : one of IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS, COM (if omitted, will guess from the FROM clause)

-o: : one of CSV, TSV, XML, DATAGRID, CHART, SYSLOG, NEUROVIEW, NAT, W3C, IIS, SQL, TPL, NULL (if omitted, will guess from the INTO clause)



    示範:
  1. 2006/4/10當日IIS網站一天的擊點率(Hit Rate)

    logparser "select count(*) from ex.log"
  2. 以圖形化資料網格方式輸出

    logparser "SELECT count(*) as [HitRate] INTO datagird FROM ex060410.log"

    或是在INTO後面改為其它檔案格式:your_output_name.csv, Report.xml, MyChart.gif

    LogParser "SELECT TOP 20 cs-uri-stem, COUNT(*) AS Hits INTO MyChart.gif FROM ex060410.log GROUP BY cs-uri-stem ORDER BY Hits DESC" -chartType:Column3D -groupSize:1024x768
  3. 統計每一網頁資源的擊點率

    logparser "SELECT cs-uri-stem as [Web Page], count(*) as [HitRate] INTO datagird FROM ex.log group by cs-uri-stem"
  4. 輸出至Html

    logparser "SELECT cs-uri-stem as [Web Page], count(*) as [HitRate] INTO datagird FROM ex.log group by cs-uri-stem order by count(*) desc" -o:TPL -tep:HTML_temp.txt
  5. 查看登錄器並輸出至SQL Server存成資料表

    LogParser "SELECT * INTO MyTable FROM \HKLM" -i:REG -o:SQL -server:MyServer -database:MyDatabase -driver:"SQL Server" -username:TestSQLUser -password:TestSQLPassword -createTable:ON
  6. 搜尋電腦中前10大檔案

    LogParser "SELECT TOP 10 * FROM C:\*.* ORDER BY Size DESC" -i:FS
  7. 將指令列執行結果分析再輸出,例分析netstat結果

    netstat | LogParser "SELECT * FROM STDIN" -i:TSV -iSeparator:space -nSep:2 -fixedSep:off -nSkipLines:3



    備註:

    IIS 記錄檔預設位置C:\WINDOWS\system32\LogFiles\W3SVC1\exyymmdd.log,可由「網際網路資訊服務(IIS)管理員」/網站/預設的網站/右鍵「內容」/「網站」Tab/「啟用記錄」的「內容」來設定。

    「一般」Tab可設定儲存Log的位置及排程。

    「進階」Tab可設定記錄的資訊選項,例:用戶端IP位址(c-ip)、傳送方法(cs-method) 、URI主體(cs-uri-stem) 、URI查詢(cs-uri-query)、通訊協定狀態(sc-status)、花費時間(time-taken)。

沒有留言: