电脑技术学习

FreeBSD abck入侵监测

dn001

0.名稱 abck - Process intrusion attempts found in the system log 1.描述 abck 是用來分析入侵嚐試的互動式工具,並且判斷該程式做了些什麼. decide what, if anything, to do about them 該程式透過讀取 /var/log/messages 來尋找可能的入侵證據. abck能夠處理數種常見的入侵紀錄,同時也能夠容易的延伸去處理其他狀況. abck分析入侵紀錄是屬於名稱或是IP位址,若是一個IP位址, 會嘗試將其透過DNS反解找出其FQDN. 若無法找到合法的反解,他會嘗試去找到關於該IP的權威性資料. 每一個符合的入侵嘗試紀錄都會被呈現給使用者. 使用者可以透過whois資料庫來查詢相關負責人. 此外還能夠過abck設定當發生入侵紀錄時,自動發信給對方相關人員 (abuse@domain 和 root@domain)及本機的root. 該信件會包含所有有關該機器的資訊,及附加入侵的log紀錄. 通常狀況下,一個入侵者會嘗試數種方式入侵,因此會產生複合的log紀錄. 舉例來說:若一個入侵者透過port scan程式掃描.abck會記錄這個紀錄 同時,可以透過 -i 及 -l 參數來讓abck忽略來自某些IP或是hostname 的入侵嘗試. 2.語法 abck [-dehilmsv] 3.安裝 路徑:/usr/ports/sysutils/abck/ 4.參數 -d n 只往前追溯n天的紀錄. -e string 只處理不包含此字串的攻擊紀錄. -h 顯示求助資訊. -i 不忽略~/.abck_ignored檔案中定義的那些IP或是/Hostname. 此參數與 -l 互有獨占性.若兩參數同時出現,較後的那個參數會被執行. -l 列出那些被紀錄的忽略紀錄.當程式結束後列出所有被忽略的IP及hostname. 此參數與 -l 互有獨占性.若兩參數同時出現,較後的那個參數會被執行. -m string 只處理包含此字串的攻擊紀錄. -s 不實際處理那些符合的紀錄,只是列出來. -v 顯示abck版本資訊. 5.紀錄過程 當每一筆入侵嘗試紀錄被發現之後,會被呈現到指定的使用者. 類似 Matching log entry found in /var/log/messages Who Gets Message For: ? [horseplay.edu] 按下'Enter'鍵來接受預設投訴的信件位址(此例為horseplay.edu) . 電子郵件因此被送到 'abuse@horseplay.edu'及'root@horseplay.edu' 及自己本機的root. 然後abck會繼續處理下一筆記錄. f 假裝忘卻此筆記錄,不予處理,下次仍會發出警告. l 將預設的抱怨信函送往領域往左移動一個子網域. 如: 原先為 mlc.edu.tw 變為 xxx.mlc.edu.tw q 立即離開此程式.(將不會有相關紀錄留下) r 將預設的抱怨信函送往領域往右移動一個網域. 當目的網域少於兩個領域時,abck會禁止使用者往右移動一個領域. s 忽略此紀錄.下次abck再次啟動時,此紀錄仍會被呈現. w 執行'whois'查詢. Any other string 用此字串取代原先要通知的領域. 6.如何紀錄 abck如何決定某一筆記錄是攻擊? abck掃描系統的log紀錄,搜尋兩個關鍵字"refused"及"unauthorized" 若他找到兩個關鍵字中的其中一個,他會呈現該筆記錄給使用者進行處理. 除了上述兩個關鍵字之外,你也可以增加其他"觸發字"(關鍵字). 假若你有一個紀錄: Jul 27 00:27:35 eskimo inetd[56691]: Intruder saddle.horseplay.edu foiled 你想要讓abck能夠偵測,你必須要做兩個步驟: 1.你需要一個獨特的關鍵字,只有在此類似紀錄會出現的關鍵字.如: foiled 2.你必須要判斷哪個fIEld,包含ip位址或是hostname. 第一個field為標示為:0 ,此例為7 說明: Jul 27 00:27:35 eskimo inetd[56691]: Intruder saddle.horseplay.edu foiled (1) (2) (3) (4) (5) (6) (7) (8) 要讓abck了解這種形式的紀錄,只要增將這些資訊到程式的AttackKeys資料. 此資料為 Python dictionary 形式,所以格式為: "關鍵字" : field編號 7.相關檔案 ~/.abck_history - 使用者abck紀錄. ~/.abck_ignored - 預設想要忽略的IP或是Hostname,每一筆資料一行. 也可以用區段表示,如 192.168.3 表示忽略192.168.3.0/24 同樣地,myschool.edu 會忽略 *.myschool.edu 的領域. 8.其他 在執行abck前,你必須先行安裝python,(/usr/ports/languages/python/) 當然了,FreeBSD在安裝abck前會先行檢查是否有安裝. 若無,會順手安裝python的. 此外,digwhois程式也是abck所需要的. 泡泡:這個程式感覺上,有些問題存在.試了數次關於abck python script執行都有些問題. 確切來說, 在 abck 送出相關警告訊息會有錯誤. 與 Tim Daneliuk 商討後..仍然沒有很完善的處理方式. 9.版權 abck 由 TundraWare 所有. 相關版權及使用說明,/usr/local/share/doc/abck/abck-License.txt 10.作者 Tim Daneliuk <tundra@tundraware.com> 11.參考資料 abck(1)

标签: