2011年9月29日星期四

分析freebsd中的重要log檔案

系統中的log檔案,對一個系統管理人員而言,是一項非常重要的訊息來源,
除了對這些log檔案最好可以架設log server將這些資料保留之外,
定期的檢閱、分析log檔案也是非常重要的一件事情。

系統的log檔案很多,freebsd的log檔案則紀錄在/var/log這個目錄中,
其中有關資訊安全最重要的有:secure*、messages*
其他還有 sendmail*、maillog*、httpd-*等,各紀錄著各個系統的運行紀錄,
裡面都有一些重要的訊息、機器安全的蛛絲馬跡,
如果有定時查看,就不會覺得機繼壞得莫名其妙,或是被攻擊的不知怎麼死的。

這幾天因為某些意外的測試,而去觀察了系統的兩個姿安相關的log檔案,
發現了來自對岸同胞許多的ftp錯誤登入攻擊,
當下當然立刻從防火牆中,把這些IP阻擋掉。
以下是我用來分析log檔案的指令,
寫在這邊給自己留作以後參考。
未來的目標,是能夠找到一個分析log的工具,或是有一個可以集中管控的機制,
從一個地方可以監控到所有機器的運轉狀態以及他的重要log訊息。

以下就是這一次所用的指令:

 最新的log檔案並沒有壓縮,所以可以直接以cat的指令讀取內容,透過管線指令(pipe)過濾出所要的訊息

# cat /var/log/messages | grep 'FTP LOGIN FAILED' | sort -t ' ' -k 10 | more

說明:讀取message檔案,並且過濾出其中有FTP LOGIN FAILED的紀錄,並且依照來源IP排列。(由於這次發現攻擊都是使用ftp的當入嘗試,因此以此一關鍵字進行過濾)
後面的sort是排序的指令,-t代表以什麼來切割字串,而-k則是以第幾個欄位的字串進行排列。

如果要讀取已經壓縮的檔案,則是以下列指令進行。
# bunzip2 -c /var/log/messages.6.bz2 | grep 'FTP LOGIN FAILED' | sort -t ' ' -k 10 | more

比較可惜的是,有一個指令uniq,似乎可以過濾出相同的ip有幾筆,把重複的去掉,不顯示出來。只是尚未研究出來該怎麼使用。

參考資料:
鳥哥的linux私房菜:認識與學習BASH
鳥哥的linux私房菜:認識與分析登錄檔

2011年9月3日星期六

讓每個學生進入RapidTyping之後可以延續自己的練習進度

過去讓學生進行打字練習時,是使用高雄縣獅湖國小林郁為老師的那一套flash軟體,
這一套軟體很單純的,就是進行反應與鍵位記憶的精熟練習。
無意間,看到了Yukie Chen在他的部落格中提到了一個不錯的打字練習軟體:RapidTyping
嘗試了一下,覺得這樣的設計滿不錯的,跟我過去見到高職中對學生打字訓練的方式很相似。
進一步的,也思考怎樣讓每一個學生紀錄下他的練習進度、保留練習紀錄。
因此找到了下列的方式:

我們學校學生電腦的使用環境是這樣:
學生開機之後,運用顏國雄老師所撰寫的NetLogon程式,可以登入、掛載自己的網路磁碟,
s磁碟為個人磁碟,w磁碟為作業放置磁碟。
我計畫將學生的打字歷程紀錄檔放在s:\type之中,設定方式如下。


將C:\Documents and Settings\user\Application Data\RapidTyping中的rapidtyping.ini檔案內容改為:(直接下載設定檔)
[Wizard]
ShowWizard = 0

[CurrentUser]
user = 455BE516-AA50-779F-BF77-3995A23FB74C

[PathToUserData]
UserPath = S:\type\User

[PathToLesson]
LessonPath = S:\type\Lessons
請將上面的「S:」 修改為您的實際磁碟機代號。

下載個人資料檔案:按右鍵另存檔案
將下載來的自解壓縮檔案,解壓縮放在上面的磁碟中。(已經會自動建立type資料夾)
(註:我已經忘記當時測試的時候,是否能夠不用下載上面的壓縮檔案,就可以讓程式自動建立預設資料夾,確認之後再補上說明。)

這樣每個學生,每次登入完成後,再開啟RapidTyping程式,就會顯示他上次進行的進度,
他可以選擇要繼續練習下去,還是要複習上一個單元。

有一點比較可惜的,我目前的測試,學生的成績無法登入到官方網站中,與全世界的學習者一較高下,甚至讓老師可以一次收集到全班的成績。這是美中不足的一點。