遠程管理是系統管理員必須掌握的一門訣竅。如果每次服務器出現故障系統管理員都要跑到服務器前面才能夠修理的話,那是一件很頭疼的事情。通常情況下,Telnet或者SSH都可以實現遠程連接。但是這兩個協議具有很大的不同。
Telnet服務雖然也屬於客戶機/服務器模型的服務,但它更大的意義在於實現了基於Telnet協議的遠程登錄即遠程交互式計算。遠程登陸是指用戶使用Telnet命令,使自己的計算機暫時成為遠程主機的一個仿真終端的過程。仿真終端等效於一個非智能的機器,它只負責把用戶輸入的每個字符傳遞給主機,再將主機輸出的每個信息回顯在屏幕上。但是這個協議有一個弱點,就是其在互聯網上進行數據傳輸都是通過明文的形式傳輸的,即不會對傳輸的數據(包括帳戶與密碼)進行加密。如此的話,非法攻擊者只要有網絡偵聽的工具就可以輕而易舉的截獲帳戶名與密碼,為下一步的攻擊做好准備。故像Telnet這類傳統的網絡服務程序在本質上都是不安全的,因為它們在網絡上用明文傳送口令和數據。非法攻擊者非常容易就可以截獲這些口令和數據。另外,這些服務程序的安全驗證方式也有比較大的缺陷,很容易受到攻擊。如中間人這種方式的攻擊。所謂中間人的攻擊方式,就是中間人冒充真正的服務器接收你的傳給服務器的數據,然後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被中間人一轉手做了手腳之後,就會出現很嚴重的安全問題。
而SSH協議真實像Telnet這些不安全的遠程登錄程序的替代程序。SSH協議采用了很強的加密算法加密所需要傳送的數據,包括帳戶、密碼、命令代碼等等,以保證數據傳輸的安全性。故它比起Telnet這些遠程登錄程序來說,其安全級別要比他們高。另外如果要進一步提高SSH協議的安全性,則可以把Linux操作系統配置成TCP-Wrappers模式,來取得額外的安全保障。TCP-Wrappers為由inetd生成的服務提供了增強的安全性。TCP Wrappers 是一種對使用 /etc/inetd.sec 的替換方法。TCP-Wrappers提供防止主機名和主機地址欺騙的保護。欺騙是一種偽裝成有效用戶或主機以獲得對系統進行未經授權的訪問的方法。同時TCP-Wrappers使用訪問控制列表來防止欺騙。訪問控制列表是Linux文件中的系統列表。在配置為驗證主機名到 IP 地址映射,以及拒絕使用 IP 源路由的軟件包時,TCP Wrappers 提供某些防止 IP 欺騙的保護。但是,TCP Wrappers 不提供口令驗證或數據加密。與 inetd 類似,信息是以明文形式傳遞的。而其與SSH結合使用,則可以起到互相補充的效果。因為SSH可以提供加密傳輸,而TCP-Wrappers可以解決欺騙的問題。故這可以讓遠程登錄、遠程維護更加安全。
一、 SSH協議的安裝。
默認情況下,在安裝Linxu過程中,會同時安裝SSH協議。不過有時候可能SSH協議會損壞需要重新安裝。或者在系統安裝的過程中沒有安裝SSH協議而後來又要用到時就需要手工來安裝SSH協議。
系統管理員可以直接從http://www.ssh.fi/網站中下載SSH軟件包,或者從其他的網站中可以下載到。然後進行安裝即可。這個軟件包的安裝難度不大,筆者不重復說明了。不過筆者要強調的一點是,為了後續維護的方便,最好在軟件包編譯安裝之前都做一張系統中所有文件的列表,然後利用diff命令去比較他們的差異。也就是說,在軟件包編譯安裝之前先利用find /*>test1命令做一張系統中所有文件的列表。然後這個軟件包安裝編譯完成之後,再利用這個命令(find /*>test2)建立一張系統中現在所有文件的列表。然後再通過diff test1 test2>test3命令讓系統查詢出這個軟件包編譯安裝前後系統文件的變化。系統管理員掌握這個變化,有利於其後面操作系統的維護。