Linux系統上不安全的程式及替代程式(轉)
Linux系統上不安全的程式及替代程式(轉)[@more@] WuFTD從1994年就開始就不斷地出現安全漏洞,駭客很容易就可以獲得遠端root訪問(Remote Root Access)的許可權,而且很多安全漏洞甚至不需要在FTP伺服器上有一個有效的帳號。最近,WuFTP也是頻頻出現安全漏洞。
它的最好的替代程式是ProFTPD。ProFTPD很容易配置,在多數情況下速度也比較快,而且它的原始碼也比較乾淨(緩衝溢位的錯誤比較少)。有許多重要的站點使用ProFTPD。sourceforge.net就是一個很好的例子(這個站點共有3,000個開放原始碼的專案,其負荷並不小啊!)。一些Linux的發行商在它們的主FTP站點上使用的也是ProFTPD,只有兩個主要Linux的發行商(SuSE和Caldera)使用WuFTPD。
ProFTPD的另一個優點就是既可以從inetd執行又可以作為單獨的daemon執行。這樣就可以很容易解決inetd帶來的一些問題,如:拒絕服務的攻擊(denial of service attack),等等。系統越簡單,就越容易保證系統的安全。
WuFTPD要麼重新稽核一遍全部的原始碼(非常困難),要麼完全重寫一遍程式碼,否則WuFTPD必然要被ProFTPD代替。
Telnet
Telnet是非常非常不安全的,它用明文來傳送密碼。它的安全的替代程式是OpenSSH。OpenSSH在Linux上已經非常成熟和穩定了,而且在Windows平臺上也有很多免費的客戶端軟體。Linux的發行商應該採用OpenBSD的策略:安裝OpenSSH並把它設定為預設的,安裝Telnet但是不把它設定成預設的。
對於不在美國的Linux發行商,很容易就可以在Linux的發行版中加上OpenSSH。美國的Linux發行商就要想一些別的辦法了(例如:Red Hat在德國的FTP伺服器上(ftp.redhat.de)就有最新的OpenSSH的rpm軟體包)。Telnet是無可救藥的程式。要保證系統的安全必須用OpenSSH這樣的軟體來替代它。
Sendmail
最近這些年,Sendmail的安全性已經提高很多了(以前它通常是駭客重點攻擊的程式)。然而,Sendmail還是有一個很嚴重的問題。一旦出現了安全漏洞(例如:最近出現的Linux核心錯誤),Sendmail就是被駭客重點攻擊的程式,因為Sendmail是以root許可權執行而且程式碼很龐大容易出問題。
幾乎所有的Linux發行商都把Sendmail作為預設的配置,只有少數幾個把Postfix或Qmail作為可選的軟體包。但是,很少有Linux的發行商在自己的郵件伺服器上使用Sendmail。SuSE和Red Hat都使用基於Qmail的系統。
Sendmail並不一定會被別的程式完全替代。但是它的兩個替代程式Qmail和Postfix都比它安全、速度快,而且特別是Postfix比它容易配置和維護。
su
su是用來改變當前使用者的ID,轉換成別的使用者。你可以以普通使用者登入,當需要以root身份做一些事的時候,只要執行“su”命令,然後輸入root的密碼。su本身是沒有問題的,但是它會讓人養成不好的習慣。如果一個系統有多個管理員,必須都給他們root的口令。
su的一個替代程式是sudo。Red Hat 6.2中包含這個軟體。sudo允許你設定哪個使用者哪個組可以以root身份執行哪些程式。你還可以根據使用者登入的位置對他們加以限制(如果有人“破”了一個使用者的口令,並用這個帳號從遠端計算機登入,你可以限制他使用sudo)。Debian也有一個類似的程式叫super,與sudo比較各有優缺點。
讓使用者養成良好的習慣。使用root帳號並讓多個人知道root的密碼並不是一個好的習慣。這就是被入侵的原因,因為它有多個系統管理員他們都有root的特權。一個亂成一團的系統是很容易被入侵的。
named
大部分Linux的發行商都解決了這個問題。named以前是以root執行的,因此當named出現新的漏洞的時候,很容易就可以入侵一些很重要的計算機並獲得root許可權。現在只要用命令列的一些引數就能讓named以非root的使用者執行。而且,現在絕大多數Linux的發行商都讓named以普通使用者的許可權執行。
INN
在INN的文件中已經明確地指出:“禁止這項功能(verifycancels),這項功能是沒有用的而且將被除掉”。大約在一個月前,一個駭客釋出了當“verifycancels”生效的時候入侵INN的方法。Red Hat是把“verifycancels”設為有效的。任何setuid/setgid的程式或網路服務程式都要正確地安裝並且進行檢查以保證儘量沒有安全漏洞。
它的最好的替代程式是ProFTPD。ProFTPD很容易配置,在多數情況下速度也比較快,而且它的原始碼也比較乾淨(緩衝溢位的錯誤比較少)。有許多重要的站點使用ProFTPD。sourceforge.net就是一個很好的例子(這個站點共有3,000個開放原始碼的專案,其負荷並不小啊!)。一些Linux的發行商在它們的主FTP站點上使用的也是ProFTPD,只有兩個主要Linux的發行商(SuSE和Caldera)使用WuFTPD。
ProFTPD的另一個優點就是既可以從inetd執行又可以作為單獨的daemon執行。這樣就可以很容易解決inetd帶來的一些問題,如:拒絕服務的攻擊(denial of service attack),等等。系統越簡單,就越容易保證系統的安全。
WuFTPD要麼重新稽核一遍全部的原始碼(非常困難),要麼完全重寫一遍程式碼,否則WuFTPD必然要被ProFTPD代替。
Telnet
Telnet是非常非常不安全的,它用明文來傳送密碼。它的安全的替代程式是OpenSSH。OpenSSH在Linux上已經非常成熟和穩定了,而且在Windows平臺上也有很多免費的客戶端軟體。Linux的發行商應該採用OpenBSD的策略:安裝OpenSSH並把它設定為預設的,安裝Telnet但是不把它設定成預設的。
對於不在美國的Linux發行商,很容易就可以在Linux的發行版中加上OpenSSH。美國的Linux發行商就要想一些別的辦法了(例如:Red Hat在德國的FTP伺服器上(ftp.redhat.de)就有最新的OpenSSH的rpm軟體包)。Telnet是無可救藥的程式。要保證系統的安全必須用OpenSSH這樣的軟體來替代它。
Sendmail
最近這些年,Sendmail的安全性已經提高很多了(以前它通常是駭客重點攻擊的程式)。然而,Sendmail還是有一個很嚴重的問題。一旦出現了安全漏洞(例如:最近出現的Linux核心錯誤),Sendmail就是被駭客重點攻擊的程式,因為Sendmail是以root許可權執行而且程式碼很龐大容易出問題。
幾乎所有的Linux發行商都把Sendmail作為預設的配置,只有少數幾個把Postfix或Qmail作為可選的軟體包。但是,很少有Linux的發行商在自己的郵件伺服器上使用Sendmail。SuSE和Red Hat都使用基於Qmail的系統。
Sendmail並不一定會被別的程式完全替代。但是它的兩個替代程式Qmail和Postfix都比它安全、速度快,而且特別是Postfix比它容易配置和維護。
su
su是用來改變當前使用者的ID,轉換成別的使用者。你可以以普通使用者登入,當需要以root身份做一些事的時候,只要執行“su”命令,然後輸入root的密碼。su本身是沒有問題的,但是它會讓人養成不好的習慣。如果一個系統有多個管理員,必須都給他們root的口令。
su的一個替代程式是sudo。Red Hat 6.2中包含這個軟體。sudo允許你設定哪個使用者哪個組可以以root身份執行哪些程式。你還可以根據使用者登入的位置對他們加以限制(如果有人“破”了一個使用者的口令,並用這個帳號從遠端計算機登入,你可以限制他使用sudo)。Debian也有一個類似的程式叫super,與sudo比較各有優缺點。
讓使用者養成良好的習慣。使用root帳號並讓多個人知道root的密碼並不是一個好的習慣。這就是被入侵的原因,因為它有多個系統管理員他們都有root的特權。一個亂成一團的系統是很容易被入侵的。
named
大部分Linux的發行商都解決了這個問題。named以前是以root執行的,因此當named出現新的漏洞的時候,很容易就可以入侵一些很重要的計算機並獲得root許可權。現在只要用命令列的一些引數就能讓named以非root的使用者執行。而且,現在絕大多數Linux的發行商都讓named以普通使用者的許可權執行。
INN
在INN的文件中已經明確地指出:“禁止這項功能(verifycancels),這項功能是沒有用的而且將被除掉”。大約在一個月前,一個駭客釋出了當“verifycancels”生效的時候入侵INN的方法。Red Hat是把“verifycancels”設為有效的。任何setuid/setgid的程式或網路服務程式都要正確地安裝並且進行檢查以保證儘量沒有安全漏洞。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963080/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux上不安全的程式及替代程式(轉)Linux
- Linux系統裡的程式管理(轉)Linux
- Linux核心模組程式設計--替代printk系列(轉)Linux程式設計
- 在Linux作業系統上執行Windows應用程式(轉)Linux作業系統Windows
- Linux 系統管理(上)(轉)Linux
- Linux系統共享庫程式設計(轉)Linux程式設計
- linux系統程式設計影片教程(轉)Linux程式設計
- 系統操作程式:Red Hat linux inittab(轉)Linux
- Linux系統程式設計之程式控制(程式建立、終止、等待及替換)Linux程式設計
- Linux核心模組程式設計--系統呼叫(轉)Linux程式設計
- Linux系統程式底層debug除錯及程式原理分析利器Linux除錯
- 清除Linux上的蠕蟲程式Ramen(轉)Linux
- linux系統程式設計之程式(八):守護程式詳解及建立,daemon()使用Linux程式設計
- 將 Linux 應用程式移植到 64 位系統上Linux
- Linux作業系統的許可權程式碼分析【轉】Linux作業系統
- Linux系統應用程式和核心模組的區別(轉)Linux
- linux系統程式設計之程式(一):程式與程式Linux程式設計
- 理解linux/unix作業系統守護程式(轉)Linux作業系統
- 作業系統 Linux下的程式作業系統Linux
- ps linux系統程式的檢視Linux
- Linux程式管理及作業控制(轉)Linux
- Linux作業系統上編譯程式的方法詳細介紹Linux作業系統編譯
- 細說GNU/Linux系統的檔案及檔案系統(轉)Linux
- 深入理解Linux作業系統下的守護程式(轉)Linux作業系統
- 構造Linux系統的圖形化安裝程式(二)(轉)Linux
- Linux核心模組程式設計/proc 檔案系統(轉)Linux程式設計
- 提高Linux系統效能加速網路應用程式(轉)Linux
- Linux核心分析--系統呼叫實現程式碼分析(轉)Linux
- 10件傻事將使你的Windows系統不安全(轉)Windows
- Linux系統程式設計——特殊程式之孤兒程式Linux程式設計
- Linux系統程式設計之程式介紹Linux程式設計
- 深入學習Linux系統,Linux核心程式設計風格(轉)Linux程式設計
- Linux 系統下 init 程式的前世今生Linux
- Linux系統程式設計之訊號中斷處理(上)Linux程式設計
- 【Linux】Linux作業系統 程式管理Linux作業系統
- Linux作業系統的Shell程式設計指令碼欣賞(轉)Linux作業系統程式設計指令碼
- 程式設計師的感覺 LINUX手機系統掃盲(轉)程式設計師Linux
- Linux系統下的多執行緒程式設計入門(轉)Linux執行緒程式設計