假設你是一位使用solaris操作系統的網站管理員,有一天你無意中在你硬盤/var/adm目錄下messages文件中看到了如下類似內容:
Apr 24 20:31:04 nmssa /usr/dt/bin/rpc.ttdbserverd[405]: _Tt_file_system::findBest
MountPoint -- max_match_entry is null, aborting…
Apr 24 20:31:05 nmssa inetd[140]: /usr/dt/bin/rpc.ttdbserverd: Segmentation Faul
t - core dumped
知道這意味著什麼嗎?你的系統已有至少99%的可能性被侵入!
目前使用solaris的系統管理員都知道在/var區下有個目錄adm,在這個目錄下有messags,syslog,sulog,utmp等諸多日志文件,它們記錄著solaris系統產生的各種消息日志。從系統管理員的角度來講,清楚的理解各個日志文件的功能及作用是很有必要的,在系統發生安全問題時,這些日志紀錄可以在一定意義上起到幫助和診斷作用。
我們來依次看看Adm目錄下的主要文件。
adm/messags
管理員可以從上述紀錄中可以清楚看到在24日11點26, 11點27, 11點28分有可疑用戶在猜主機的ftp口令,它們的來源ip 分別是 11.22.33.46和11.22.33.49。
adm/sulog
sulog中記載著普通用戶嘗試su成為其它用戶的紀錄。它的格式為: 發生時間 +/-(成功/失敗) pts號 當前用戶欲su成的用戶,我們截取一部分實際內容,來看一下:
SU 04/15 16:35 + pts/6 yiming-root
SU 04/15 16:43 + pts/4 root-yiming
SU 04/17 08:20 - pts/5 cheny-root
SU 04/18 16:36 - pts/4 cheny-root
SU 04/19 02:57 + pts/11 lizhao-root
SU 04/19 19:57 + pts/11 cys-root
SU 04/21 08:20 - pts/4 cheny-root
SU 04/21 16:36 - pts/8 cheny-root
SU 04/22 15:23 - pts/5 cheny-root
對管理員來講,需要密切關注兩種用戶,第一是反復su失敗的,如以上cheny用戶,他有猜超級用戶口令的嫌疑。第二是在不正常時間的su紀錄,如上述第六行用戶lizhao,隨然他正確的輸入了口令(在第四列中有+號)但02:57分這個時間比較可疑,這是一個管理員不大可能工作的時間,要知道,入侵者可能安裝過sniffer之類的軟件,並利用它竊取到了超級用戶口令,為了進一步做工作,如竊取主機敏感數據,入侵者需要進行比較復雜的操作,但在白天這個系統管理員活動的時間被發現的可能性是比較大的,所以即使入侵者得到了高權限的密碼,一般也會選擇深夜等管理員一般不工作的時間。這些時候沒有人會抓他。
adm/utmp,utmpx
這兩個文件是不具可讀性的,它們記錄著當前登錄在主機上的用戶,管理員可以用w,who等命令來看,下面為who的輸出結果,
yiming pts/29 Jun 12 09:24 (11.22.33.44)
yiming pts/28 Jun 12 08:41 (11.22.33.43)
root pts/19 Jun 12 08:19 (:0.0)
./zap -v guest
- WTMP:
WTMP = /var/adm/wtmp
Removing user guest at pos: 131328
Done!
- UTMP:
UTMP = /var/adm/utmp
Removing user guest at pos: 864
Done!
- LASTLOG:
LASTLOG = /var/adm/lastlog
User guest has no wtmp record。 Zeroing lastlog。。
- WTMPX:
WTMPX = /var/adm/wtmpx
Done!
- UTMPX:
UTMPX = /var/adm/utmpx
Done!
此時,在用w看時,我們看看發生了什麼變化?
yiming pts/29 Jun 12 09:24 (11.22.33.44)
yiming pts/28 Jun 12 08:41 (11.22.33.43)
root pts/19 Jun 12 08:19 (:0.0)
我們可以看到入侵者消失了!這對入侵者是個好消息,但對一個安全意識較差的系統管理員而言,這台主機可不大妙了。建議如果系統看起來不大對勁,而用w,last等看出不出來端倪的話,還是安裝其它系統監視軟件如ttywatcher,ethereal等仔細審核一下。
adm/wtmp,wtmps
這兩個文件相當於歷史紀錄,它們記錄著所有登錄過主機的用戶,時間,來源等內容, 這兩個文件也是不具可讀性的。可用last命令來看,如下。
support pts/13 11.22.33.44 Thu Apr 20 18:40 - 20:50 (02:10)
gogo pts/12 11.22.33.45 Thu Apr 20 1:53 - 17:21 (02:28)
管理員要注意那些發生在不正常時間或是來自可疑地點的登錄紀錄,如上面輸出結果中的gogo用戶,這個時間不太正常。
與上面utmp,utmpx一樣,管理員也應該清楚:last只能給你一個大概的參考,不要完全相信last的結果。
除了上述幾個文件外,在/var/log目錄下還有一個syslog文件,這個文件的內容一般是紀錄mail事件的,管理員應該經常檢查有沒有異常紀錄。
最後來講一講solaris一個很少被用起但卻極為有用的功能---記賬。Solaris操作系統可以通過設置日志文件可以對每個用戶的每一條命令進行紀錄,這一功能默認是不開放的,為了打開它,需要執行/usr/lib/acct目錄下的accton文件,格式如下 /usr/lib/acct/accton /var/adm/pacct,在sun的手冊上,只有這一種用法,但這樣做的缺點是明顯的,大多數有經驗的入侵者一定不會放過/var/adm和 /var/log這兩個目錄的,如果它們看到有pacct這個東西,不刪才怪。針對這種情況其實有個很好的解決辦法,執行 /usr/lib/acct/accton 後面跟一個別的目錄和文件即可,如/usr/lib/acct/accton /yiming/log/commandlog,這樣入侵者不會在/var/adm/下看到pacct,入侵者也許會刪掉message,syslog等日志,但他並不知道實際上他所有的操作都被記錄在案,管理員事後只要把commandlog這個文件拷貝到/var/adm下,改為pacct ,同時執行讀取命令lastcomm,就一切盡在掌握啦。如lastcomm hack,可得到下面的輸出結果:
sh S hack pts/7 0.05 secs Mon Jun 12 14:28
sh F hack pts/7 0.00 secs Mon Jun 12 14:39
ls hack pts/7 0.01 secs Mon Jun 12 14:39
ls hack pts/7 0.02 secs Mon Jun 12 14:39
ls hack pts/7 0.01 secs Mon Jun 12 14:38
df hack pts/7 0.03 secs Mon Jun 12 14:38
ftp hack pts/7 0.02 secs Mon Jun 12 14:37
ls hack pts/7 0.01 secs Mon Jun 12 14:37
vi hack pts/7 0.02 secs Mon Jun 12 14:37
who hack pts/7 0.02 secs Mon Jun 12 14:36
我們從輸出中可以了解用戶hack所做的工作,是不是很爽?
其實網絡安全,可以從一些小的點點滴滴的方面加以注意,使用得當,一樣會起到較好的作用,管理員,從關注你的日志文件開始吧。