緩沖區溢出攻擊是目前黑客最常用的攻擊手段之一,為了應對不斷涌現的緩沖區溢出攻擊,我們研究了在Linux系統下防范緩沖區溢出的方法,通過研究,總結了在Linux平臺下防范緩沖區溢出攻擊的安全策略,這些安全策略可以應用于一般企業內部服務器,包括web服務器、mail服務器、samba服務器、ftp服務器以及proxy服務器等。在實際使用中,我們發現通過這些安全策略的配置能夠對緩沖區溢出攻擊起到很好的防范措施。
在對計算機系統安全的研究中,有一種系統安全漏洞引起了我們的關注。一方面是由于這種安全漏洞的廣泛性--幾乎使所有的操作系統平臺都受到影響。另一方面,我們為黑客基于此類安全漏洞所編寫的攻擊程序的隱蔽性和強大威力所吸引。這就是緩沖區溢出技術。它可以使看似安全的,正在運行常規服務(如 DNS、ftpd等)的主機在幾秒鐘內失去控制權。緩沖區溢出攻擊是目前黑客最常用的攻擊手段。在當前CERT和CIAC等發布的Internet安全事件報告中, 緩沖區溢出已成為常見的用語。緩沖區溢出攻擊的目的在于擾亂具有某些特權運行的程序的功能。這樣可以讓攻擊者取得程序的控制權,如果該程序具有足夠的權限,那么整個主機就被控制了。
為了應對不斷涌現的緩沖區溢出攻擊,我們研究了在Linux系統下防范緩沖區溢出的方法,之所以選擇Linux平臺,主要有兩方面的原因:(1)Linux是一個開放源碼的平臺,有利于我們在研究的過程中深入技術細節,由于Linux及其上面的大量應用都是基于開放源碼,有很多黑客在其上進行了大量的工作,可以說Linux上的網絡攻擊水平代表了整個網絡攻擊的最高水平。(2)Linux是一個類Unix系統,同時也是在Internet中大量使用的操作系統平臺,選擇Linux作為研究緩沖區溢出技術的平臺是非常具有代表性的,在Linux平臺上取得的經驗可以非常容易地移植到其他Unix或者類Unix平臺上。
通過研究,我們總結了在Linux平臺下防范緩沖區溢出的安全策略,這些安全策略可以應用于一般企業內部服務器,包括web服務器、mail服務器、samba服務器、ftp服務器以及proxy服務器等。我們所總結的這些安全策略如下所示:
1. 不顯示系統提示信息
如果不想讓遠程登錄的用戶看到系統的提示信息,可以改變"/etc/inetd.conf"文件中的telnet設置:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h |
在末尾加上"-h"參數可以讓daemon不顯示任何系統信息,只顯示登錄提示。當然,只有在服務器上裝了telnet服務器才有這樣做的必要。
2. 處理"rc.local"文件
在默認情況下,當登錄裝有Linux系統的計算機時,系統會告訴你Linux發行版的名字、版本號、內核版本和服務器名稱。這泄露了太多的系統信息。出于安全的考慮,最好只顯示一個"Login:"的提示信息。處理方法如下:
(1)編輯"/etc/rc.d/rc.local"文件,在下面這些行的前面加上"#":
……
# This will overwrite /etc/issue at every boot. So, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. #echo "" > /etc/issue #echo "$R" >> /etc/issue #echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue # #cp -f /etc/issue /etc/issue.net #echo >> /etc/issue |
(2)刪除"/etc"目錄下的"issue.net"和"issue"文件:
[root@snow]# rm -f /etc/issue [root@snow]# rm -f /etc/issue.net |
"/etc/issue.net"文件是用戶從網絡登錄計算機時(例如:telnet、SSH)看到的登錄提示。同樣在"/etc"目錄下還有一個"issue"文件,是用戶從本地登錄時看到的提示。這兩個文件都是文本文件,可以根據需要改變。但是,如果想刪掉這兩個文件,必須向上面介紹的那樣把"/etc/rc.d/rc.local"腳本中的那些行注釋掉,否則每次重新啟動的時候,系統又會重新創建這兩個文件。
3. 禁止提供finger 服務
在Linux系統下,使用finger命令可以顯示本地或遠程系統中目前已登錄用戶的詳細信息,黑客可以利用這些信息,增大侵入系統的機會。為了系統的安全,最好禁止提供finger服務,即從/usr/bin下刪除finger 命令。如果要保留 finger服務,應將finger文件換名,或修改其權限,使得只允許root用戶執行finger命令。
共2頁: 1 [2] 下一頁 | ||
|