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/10617731/viewspace-950456/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux中程式包管理及程式的原始碼編譯Linux原始碼編譯
- Linux安裝及管理程式Linux
- Linux守護程式及SystemdLinux
- Linux程式及作業管理Linux
- Linux的啟動過程及init程式Linux
- WPS Office:Linux 上的 Microsoft Office 的免費替代品LinuxROS
- 轉載_Linux程式與執行緒的區別Linux執行緒
- 在 Linux 上如何安裝 SoundConverter及轉換音訊Linux音訊
- 瞭解下C# 不安全程式碼C#
- Linux學習路線及網路程式設計經典書籍(轉載)Linux程式設計
- Linux系統程式設計之程式控制(程式建立、終止、等待及替換)Linux程式設計
- Linux系統程式底層debug除錯及程式原理分析利器Linux除錯
- Linux中程式崩潰及重啟的原因詳解!Linux
- 如何在 Linux 上安裝應用程式Linux
- Linux下的程式Linux
- 如何自學程式設計及Java、上手真實開發及轉行程式設計師的建議Java行程程式設計師
- 半路轉行學程式設計還來得及嗎?半路轉行如何學程式設計?程式設計
- 替代 for 迴圈,讓 Python 程式碼更 pythonic !Python
- 程式設計漫談(二十):如何自學程式設計及Java、上手真實開發及轉行程式設計師的建議Java行程程式設計師
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 一個替代 Supervisor 且更加友好的程式監控器
- Linux上執行記憶體中的指令碼和程式Linux記憶體指令碼
- (整合)Linux下的多程式程式設計Linux程式設計
- Linux fork程式的用法Linux
- Linux程式管理工具supervisor安裝及使用Linux
- 深入理解Linux作業系統下的守護程式(轉)Linux作業系統
- Linux——程式建立、程式終止、程式等待、程式程式替換Linux
- Linux:程式模型和程式管理Linux模型
- linux 檢視程式 kill程式Linux
- 會計憑證BTE替代 程式碼寫法
- 如何在Chrome OS上安裝Linux應用程式ChromeLinux
- 如何在 Linux 上使用 kill 和 killall 來管理程式Linux
- windows上通過IDA遠端除錯linux程式Windows除錯Linux
- Anbox:在 Linux 上執行 Android 應用程式的簡單方式LinuxAndroid
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- Linux 程式管理Linux
- Linux程式分析Linux
- Linux程式1Linux
- Linux程式控制Linux