1、登錄帳戶管理
在Linux下登錄用戶帳戶的管理是通過utmp和wtmp這兩個工具來實現的。wtmp還記錄系統重啟和系統狀態變化的有關信息。所有與utmp和wtmp相關的數據都分別被保存在/var/run/utmp和/var/log/wtmp這兩個文件中。這兩個文件均歸屬於root用戶所有並且訪問權限被設置為644,這些文件中的數據是加密過的。可以用dump-utmp這個工具將原始的數據轉換為ASCII的數據,便於系統管理員分析用戶的登錄以及系統重啟和系統狀態變化的有關信息。
登錄帳戶管理的相關命令
last 命令提供了每個用戶登錄和退出的時間,同時還有系統重新啟動以及運行狀態改變的信息。默認情況下,last分析/var/log/wtmp文件並顯示每個連接和運行狀態改變的信息。Last輸出的信息可能太多而讓查看的人無法應付,典型的用法是last –5,表示查看/var/log/wtmp中的最新5條記錄的內容。
who 命令的主要用處是報告系統中當前登錄進來的用戶信息。Who命令提供了如下的信息:用戶登錄進入使用的系統終端設備、用戶的地址、使用的主機名、X顯示的窗口(假如使用了X Windows系統)、用戶是否接受其他用戶的消息和交談請求等。
ac 命令提供了有關用戶連接的大概統計,我們可以使用帶有標志 d 和 p 的 ac 命令。標志 d 顯示了一天的總連接統計,標志 p 顯示了每一個用戶的連接時間。這種統計信息的方式對了解與探測入侵有關的用戶情況及其他活動很有幫助。
lastlog 命令讀取/var/log/lastlog文件並產生用戶最後一次登錄信息的報告lastlog命令也用於在Linux系統中檢查不尋常的登錄記錄。
2、系統帳戶的審計
Linux操作系統可以通過設置日志文件可以對每個用戶的每一條命令進行紀錄,不過這一功能默認是沒有打開的。
開啟這個功能的過程:
# touch /var/log/pacct
# action /var/log/pact
也可以用自已的文件來代替/var/log/pacct這個文件。但必須路徑和文件名的正確。
sa命令與 ac 命令一樣,sa 是一個統計命令。該命令可以獲得每個用戶或每個命令的進程使用的大致情況,並且提供了系統資源的消費信息。在很大程度上,sa 又是一個記帳命令,對於識別特殊用戶,特別是已知特殊用戶使用的可疑命令十分有用。另外,由於信息量很大,需要處理腳本或程序篩選這些信息。
lastcomm命令, 與 sa 命令不同,lastcomm 命令提供每一個命令的輸出結果,同時打印出與執行每個命令有關的時間印戳。就這一點而說,lastcomm 比 sa 更有安全性。如果系統被入侵,請不要相信在 lastlog、utmp、wtm中記錄的信息,但也不要忽略,因為這些信息可能被修改過了。另外有可能有人替換了who程序來掩人耳目。通常,在已經識別某些可疑活動後,進程記帳可以有效的發揮作用。使用 lastcomm 可以隔絕用戶活動或在特定時間執行命令。
3、使用logrorate對審計文件管理
/var/log/utmp,/var/log/wtmp和/var/log/pacct文件都是動態的數據文件。wtmp和pacct文件是在文件尾部不斷地增加記錄。在繁忙的網絡上,這些文件會變得很大。Linux提供了一個叫logrotate的程序,它允許管理員對這些文件進行管理。
Logrotate讀取/etc/logrotate.d目錄下的文件。管理員通過該目錄下的腳本文件,控制logrotate程序的運作。一個典型的腳本文件如下:
{
rotate 5
weekly
errors root@serve1r
mail root@server1
copytruncate
compress
size 100k
}
腳本文件的含義如下:
● rotate 5——保留該文件一份當前的備份和5份舊的備份。
● weekly——每周處理文件一次,通常是一周的第一天。
● errors——向郵件地址發送錯誤報告。
● mail——向郵件地址發送相關的信息。
● copytruncate——允許進程持續地記錄,備份文件創建後,把活動的日志文件清空。
● compress——使用gzip工具對舊的日志文件進行壓縮。
● size 100k——當文件超過100k 時自動處理。