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/messagesWho Gets Message For: ? [horseplay.edu]按下"Enter"鍵來接受預設投訴的信件位址(此例為horseplay.edu) .電子郵件因此被送到 "abuse@horseplay.edu"及"root@horseplay.edu"及自己本機的root. 然後abck會繼續處理下一筆記錄.f假裝忘卻此筆記錄,不予處理,下次仍會發出警告.l將預設的抱怨信函送往領域往左移動一個子網域.如: 原先為 mlc.edu.tw 變為 xxx.mlc.edu.twq立即離開此程式.(將不會有相關紀錄留下)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.你需要一個獨特的關鍵字,只有在此類似紀錄會出現的關鍵字.如: foiled2.你必須要判斷哪個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的.此外,dig及whois程式也是abck所需要的.泡泡:這個程式感覺上,有些問題存在.試了數次關於abck python script執行都有些問題.確切來說, 在 abck 送出相關警告訊息會有錯誤.與 Tim Daneliuk 商討後..仍然沒有很完善的處理方式. 9.版權abck 由 TundraWare 所有.相關版權及使用說明,/usr/local/share/doc/abck/abck-License.txt 10.作者Tim Daneliuk 11.參考資料abck(1)
推荐阅读
- FreeBSD Adjkerntz简介
- FreeBSD Port Tree 介绍
- FreeBSD Packages和Ports使用技巧
- freebsd5.2.1上安装vmware 3.2.1
- 82 FreeBSD连载:数据处理方式
- 80 FreeBSD连载:构建防火墙
- 61 FreeBSD连载:其他内核设置选项
- FreeBSD目录结构一览
- 12 FreeBSD连载:用户管理-增加用户
- FreeBSD 系统安装全过程