網絡安全是一個綜合的、復雜的工程,任何網絡安全措施都不能保證萬無一失。因此,對於一些重要的部門,一旦網絡遭到攻擊,如何追蹤網絡攻擊,追查到攻擊者並將其繩之以法,是十分必要的。
追蹤網絡攻擊就是找到事件發生的源頭。它有兩個方面意義:一是指發現IP地址、MAC地址或是認證的主機名;二是指確定攻擊者的身份。網絡攻擊者在實施攻擊之時或之後,必然會留下一些蛛絲馬跡,如登錄的紀錄,文件權限的改變等虛擬證據,如何正確處理虛擬證據是追蹤網絡攻擊的最大挑戰。
在追蹤網絡攻擊中另一需要考慮的問題是:IP地址是一個虛擬地址而不是一個物理地址,IP地址很容易被偽造,大部分網絡攻擊者采用IP地址欺騙技術。這樣追蹤到的攻擊源是不正確的。使得以IP地址為基礎去發現攻擊者變得更加困難。因此,必須采用一些方法,識破攻擊者的欺騙,找到攻擊源的真正IP地址。
一、netstat命令——實時察看文擊者
使用netstat命令可以獲得所有聯接被測主機的網絡用戶的IP地址。Windows系列、Unix系列、Linux等常用網絡操作系統都可以使用“netstat”命令。
使用“netstat”命令的缺點是只能顯示當前的連接,如果使用“netstat”命令時攻擊者沒有聯接,則無法發現攻擊者的蹤跡。為此,可以使用Scheduler建立一個日程安排,安排系統每隔一定的時間使用一次“netstat”命令,並使用netstat〉〉textfile格式把每次檢查時得到的數據寫入一個文本文件中,以便需要追蹤網絡攻擊時使用。
二、日志數據——最詳細的攻擊記錄
系統的日志數據提供了詳細的用戶登錄信息。在追蹤網絡攻擊時,這些數據是最直接的、有效的證據。但是有些系統的日志數據不完善,網絡攻擊者也常會把自己的活動從系統日志中刪除。因此,需要采取補救措施,以保證日志數據的完整性。
Unix和Linux的日志
Unix和Linux的日志文件較詳細的記錄了用戶的各種活動,如登錄的ID的用戶名、用戶IP地址、端口號、登錄和退出時間、每個ID最近一次登錄時間、登錄的終端、執行的命令,用戶ID的賬號信息等。通過這些信息可以提供ttyname(終端號)和源地址,是追蹤網絡攻擊的最重要的數據。
大部分網絡攻擊者會把自己的活動記錄從日記中刪去,而且UOP和基於X Windows的活動往往不被記錄,給追蹤者帶來困難。為了解決這個問題,可以在系統中運行wrapper工具,這個工具記錄用戶的服務請求和所有的活動,且不易被網絡攻擊者發覺,可以有效的防止網絡攻擊者消除其活動紀錄。
Windows NT和Windows 2000的日志
Windows NT和Windows 2000有系統日志、安全日志和應用程序日志等三個日志,而與安全相關的數據包含在安全日志中。安全日志記錄了登錄用戶的相關信息。安全日志中的數據是由配置所決定的。因此,應該根據安全需要合理進行配置,以便獲得保證系統安全所必需的數據。
但是,Windows NT和Windows 2000的安全日志存在重大缺陷,它不記錄事件的源,不可能根據安全日志中的數據追蹤攻擊者的源地址。為了解決這個問題,可以安裝一個第三方的能夠完整記錄審計數據的工具。
防火牆日志
作為網絡系統中的“堡壘主機”,防火牆被網絡攻擊者攻陷的可能性要小得多。因此,相對而言防火牆日志數據不太容易被修改,它的日志數據提供最理想的攻擊源的源地址信息。
但是,防火牆也不是不可能被攻破的,它的日志也可能被刪除和修改。攻擊者也可向防火牆發動拒絕服務攻擊,使防火牆癱瘓或至少降低其速度使其難以對事件做出及時響應,從而破壞防火牆日志的完整性。因此,在使用防火牆日志之前,應該運行專用工具檢查防火牆日志的完整性,以防得到不完整的數據,贻誤追蹤時機。