日志簡介
日志對於安全來說
非常重要
他記錄了系統每天發生的各種各樣的事情
你可以通過他來檢查錯誤發生的原因
或者受到攻擊時攻擊者留下的痕跡
日志主要的功能有
審計和監測
他還可以實時的監測系統狀態
監測和追蹤侵入者等等
在Linux系統中
有三個主要的日志子系統
連接時間日志
由多個程序執行
把紀錄寫入到/var/log/wtmp和/var/run/utmp
login等程序更新wtmp和utmp文件
使系統管理員能夠跟蹤誰在何時登錄到系統
進程統計
由系統內核執行
當一個進程終止時
為每個進程往進程統計文件(pacct或acct)中寫一個紀錄
進程統計的目的是為系統中的基本服務提供命令使用統計
錯誤日志
由syslogd(
)執行
各種系統守護進程
用戶程序和內核通過syslog(
)向文件/var/log/messages報告值得注意的事件
另外有許多UNIX程序創建日志
像HTTP和FTP這樣提供網絡服務的服務器也保持詳細的日志
常用的日志文件如下
utmp
wtmp和lastlog日志文件是多數重用UNIX日志子系統的關鍵
保持用戶登錄進入和退出的紀錄
有關當前登錄用戶的信息記錄在文件utmp中
登錄進入和退出紀錄在文件wtmp中
最後一次登錄文件可以用lastlog命令察看
數據交換
關機和重起也記錄在wtmp文件中
所有的紀錄都包含時間戳
這些文件(lastlog通常不大)在具有大量用戶的系統中增長十分迅速
例如wtmp文件可以無限增長
除非定期截取
許多系統以一天或者一周為單位把wtmp配置成循環使用
它通常由cron運行的腳本來修改
這些腳本重新命名並循環使用wtmp文件
通常
wtmp在第一天結束後命名為wtmp
第二天後wtmp
變為wtmp
等等
直到wtmp
每次有一個用戶登錄時
login程序在文件lastlog中察看用戶的UID
如果找到了
則把用戶上次登錄
退出時間和主機名寫到標准輸出中
然後login程序在lastlog中紀錄新的登錄時間
在新的lastlog紀錄寫入後
utmp文件打開並插入用戶的utmp紀錄
該紀錄一直用到用戶登錄退出時刪除
utmp文件被各種命令文件使用
包括who
w
users和finger
下一步
login程序打開文件wtmp附加用戶的utmp紀錄
當用戶登錄退出時
具有更新時間戳的同一utmp紀錄附加到文件中
wtmp文件被程序last和ac使用
具體命令
wtmp和utmp文件都是二進制文件
他們不能被諸如tail命令剪貼或合並(使用cat命令)
用戶需要使用who
w
users
last和ac來使用這兩個文件包含的信息
who
who命令查詢utmp文件並報告當前登錄的每個用戶
Who的缺省輸出包括用戶名
終端類型
登錄日期及遠程主機
例如
who(回車)顯示
如果指明了wtmp文件名
則who命令查詢所有以前的紀錄
命令who /var/log/wtmp將報告自從wtmp文件創建或刪改以來的每一次登錄
w
w命令查詢utmp文件並顯示當前系統中每個用戶和它所運行的進程信息
例如
w(回車)顯示
:
pm up
day
:
users
load average:
users
users用單獨的一行打印出當前登錄的用戶
每個顯示的用戶名對應一個登錄會話
如果一個用戶有不止一個登錄會話
那他的用戶名將顯示相同的次數
例如
users(回車)顯示
chyang lewis lewis ylou ynguo ynguo
last
last命令往回搜索wtmp來顯示自從文件第一次創建以來登錄過的用戶
例如
chyang pts/
Tue Aug
:
:
(
:
)
cfan pts/
Tue Aug
:
:
(
:
)
chyang pts/
Tue Aug
:
:
(
:
)
lewis pts/
Tue Aug
:
:
(
:
)
lewis pts/
Tue Aug
:
:
(
:
)
From:http://tw.wingwit.com/Article/program/Oracle/201311/17227.html