對Unix系統管理員來說,主機系統的安全一直是個課題,一方面管理員通過更新patch,安裝軟硬 件防火牆等手段努力使自己的系統可靠性增強,而另一方面Unix系統的漏洞總是不斷被發現並被公布出來,如BUGTRAQ這樣的安全列表,從這個角度上可以很絕對的說,互聯網上沒有安全的主機.
任何一台放在Internet上的主機被入侵的潛在可能性是不可逃脫的,而且,對入 侵者而言,利用漏洞進入系統往往只是第一步,如果想得到更多的。
如超級用戶的密碼,數據庫 的口令等,往往需要下點功夫,最便捷也是最有效的就是改動或特洛伊化受侵害的主機上的文件,如放置自己的監聽程序,替代某些關鍵文件,修改編輯可信文件,設置suid文件等.
一些管理員通Unix系統自帶的命令來檢查文件的安全性,如檢查文件生成的時間戳,但這樣的可靠 性微乎其微,有經驗的入侵者可以很輕松的修改文件生成時間,有興趣的管理員可以試試以下操作:
- secu.Unix.org# echo " " > /.rhosts
- 這一步生成一個.rhosts文件,看看它的時間.
- secu.Unix.org# ls -l /.rhosts
- -rw-r--r-- 1 root other 4 Jul 2 16:45 /.rhosts
- 好,我們如下操作看看會怎麼樣?
- secu.Unix.org# touch -r /bin/sh /.rhosts
- 有什麼效果? 我們再次ls –l看一下,
- secu.Unix.org# ls -l /.rhosts
- -rw-r--r-- 1 root other 4 Apr 5 16:32 /.rhosts
我們看到時間戳已經變了.變成了一個”老”文件,這樣很可能就會逃脫管理員的視線。 又比如,入侵者替換掉了su文件,在正當用戶每次試圖su時,這個特洛伊化的su文件都會讀取口令 並將口令記載下來,然後才把控制權交給真正的su程序,口令通過這種途徑洩密了,雖然這不是管 理員所期望的,但畢竟Unix系統太大太復雜,發現起來很困難.
Tripwire就是解決這一問題的文件系統完整性檢查的工具,它采用的技術核心就是對每個要監控 的文件產生一個數字簽名,保留下來。當文件現在的數字簽名與保留的數字簽名不一致時,那麼 現在這個文件必定被改動過了.具體到監控項目,在Tripwire的配置文件中有如下相應說明:
- access permissions and file mode settings, including effective execution settings
- inode number in the file system
- number of links
- user ID of the owner
- group ID of the group of users to which access may be granted
- size of the item
- date and time the item was last accessed, the last modification made to
- the item, and the creation date and time associated with the item's inode
由上,我們可以看到Tripwire對Unix系統文件的管理面是很寬的。