來源:ITlab
1.messages
/var/adm是UNIX的日志目錄(linux下則是/var/log)。有相當多的ASCII文本格式的日志儲存之下,當然,讓我們把焦點首先集中在messages 這個檔案,這也是入侵者所關心的檔案,它記錄了來自系統級别的資訊。在這裡,大量的日志記錄對于我們是無用的。
比如:
Apr 25 21:49:30 2000 unix: Copyright (c) 1983-1997, Sun Microsystems, Inc.
Apr 25 21:49:30 2000 unix: mem = 262144K (0x10000000)
這樣顯示版權或者硬體資訊的記錄而:
Apr 29 19:06:47 www login[28845]: FAILED LOGIN 1 FROM xxx.xxx.xxx.xxx ,
User not known to the underlying authentication module
這樣的登入失敗記錄:
Apr 29 22:05:45 game PAM_pwdb[29509]: (login) session opened for user ncx by (uid=0)是以第一步應該是 Kill -HUP cat `/var/run/syslogd.pid`(當然,有可能入侵者已經幫我們做過了,;-)那樣我們得不到任何有用資訊)
2.wtmp,utmp logs,ftp日志
你能夠在/var/adm,/var/log,/etc目錄中找到名為wtmp,utmp的檔案,這記錄着使用者何時,何地telnet上主機,在黑客中最古老也是最流行的zap2(編譯後的檔案名一般叫做z2,或者是叫wipe)。 也是用來抹掉在這兩個檔案中使用者登入的資訊的,然而由于懶惰或者糟糕的網絡速度(>3秒的echo就令人崩潰,而我經常遇見10 倍于此的回顯時間 ),很多入侵者沒有上載或編譯這個檔案,管理者所需要就是使用lastlog這個指令來獲得入侵者上次連接配接的源位址(當然,這個位址有可能是他們的一個跳闆)ftp日志一般是/var/log/xferlog,該文本形式的檔案詳細的記錄了以FTP 方式上傳檔案的時間,來源,檔案名等等。不過由于該日志太明顯,是以稍微高明些的入侵者幾乎不會使用該方法來傳檔案。而使用rcp的較普遍些。當然你可以 # cat /var/log/xferlog | grep -v 202.106.147.來檢視那些不應該出現的位址。
3.sh_history
在獲得root 權限後,入侵者建立了他們自己的入侵帳号,更進階的技巧是給類似uucp,lp不常使用的系統使用者名加上密碼。在遭受入侵後,即使入侵者删除了。 sh_history或者。bash_hi-story 這樣的檔案,執行kill -HUP `cat /var/run/inetd.conf`即可将保留在記憶體頁中的bash指令記錄重新寫回到磁盤,然後執行find / -name.sh_historyprint,仔細檢視每個可疑的shell指令日志。尤其是當你在/usr/spool/lp(lp home dir),/usr/lib/uucp/(uucp home dir)這樣的目錄下找了。sh_history檔案時。往往入侵者在需要目标機和工作機傳送檔案時為了避免被syslog,可能使用從目标機ftp到工作機的方法,是以在sh_history中你有可能發現類似ftp xxx.xxx.xxx.xxx或者[email protected]:/tmp/backdoor /tmp/backdoor這樣顯示出入侵者IP或域名的指令。
4.http伺服器日志
這很有可能是确定入侵者的真實攻擊發源地的最有效方法。以最流行的apache伺服器為例,在?${prefix}/logs/ 目錄下你可以發現access.log這個檔案,該檔案記載了通路者的IP,通路的時間和請求通路的内容。在遭受入侵後,我們應該可以在該檔案中發現類似下面的:record:xxx.xxx.xxx.xxx - - [28/Apr/2000:00:29:05 -0800] "GET/cgi-bin/rguest.exe"404 -xxx.xxx.xxx.xxx - - [28/Apr/2000:00:28:57 -0800] "GET /msads/Samples/SELECTOR/showcode.asp" 404 -來自IP為xxx.xxx.xxx.xxx的某人在2000年4月28号的0點28分試圖通路 /msads/Samples/SELECTOR/showcode.asp檔案,這是在使用web cgi掃描器後遺留下的日志。大部分的web掃描器都是基于MS作業系統的,而為了更快的速度,使用基于Unix的掃描器的入侵者常選擇離自己最近的伺服器。結合攻擊時間和IP,我們可以知道入侵者的大量資訊。
5.核心dump
6.代理伺服器日志
代理是大中型企業網常使用來做為内外資訊交換的一個接口,它忠實地記錄着每一個使用者所通路的内容,當然,也包括入侵者的通路内容。以最常用的 squid代理為例,通常你可以在/usr/local/squid/logs/下找到access.log 這個龐大的日志檔案,當然,由于日志記錄添加得很快,在安全事故後應該及時備份它。你可以在以下位址獲得squid的日志分析腳本:http: //www.squid-cache.org/Doc/Users-Guide/added/stats.html通過對敏感檔案通路日志的分析,可以知道何人在何時通路了這些本該保密的内容。
7.路由器日志
預設方式下路由器不會記錄任何掃描和登入,是以入侵者常用它做跳闆來進行攻擊。如果你的企業網被劃分為軍事區和非軍事區的話,添加路由器的日志記錄将有助于日後追蹤入侵者。更重要的是,對于管理者來說,這樣的設定能确定攻擊者到底是内賊還是外盜。當然,你需要額外的一台伺服器來放置 router.log檔案。
在CISCO路由器上:
router(config)# logging faclity syslog
router(config)# logging trap informational
router(config)# logging [伺服器名]
在log server上:
I.在/etc/syslog.conf中加入一行:
*.info /var/log/router.log
II.生成檔案日志檔案:
touch /var/log/router.log
III.重起syslogd程序:
kill -HUP `cat /var/run/syslogd.pid`
對于入侵者來說,在實施攻擊的整個過程中不與目标機試圖建立tcp連接配接是不太可能的,這裡有許多入侵者主觀和客觀的原因,而且在實施攻擊中不留下日志也是相當困難的。如果我們花上足夠的時間和精力,是可以從大量的日志中分析出我們希望的資訊。就入侵者的行為心理而言,他們在目标機上取得的權限越大,他們就越傾向于保守的方式來建立與目标機的連接配接。仔細分析早期的日志,尤其是包含有掃描的部分,我們能有更大的收獲。
日志審計隻是作為入侵後的被動防禦手段。主動的是加強自身的學習,及時更新或更新系統。做到有備無患才是最有效的防止入侵的方法。