基於TCP/IP協議的服務很多,人們比較熟悉的有WWW服務,FTP服務,電子郵件服務,不太熟悉的有TFTP服務,NFS服務,Finger服務等等。這些服務都存在不同程度上的安全缺陷,當用戶用防火牆保護站點時,就需要考慮,該提供哪些服務,要禁止哪些服務,在這裡只對一些服務作一些簡單介紹。
一、WWW服務
WWW服務相對於其它服務出現比較晚,是基於超文本傳輸協議(HTTP),它是由瑞士日內瓦歐洲粒子物理實驗室發明的,並在短時間內得到迅猛發展,是人們最常使用的因特網服務。隨著Netscape公司推出安全套接口層(SSL),WWW服務器和浏覽器的安全性得到大大的提高,現在人們已經把這種技術應用於電子商務(E-business),例如在美國,人們可以在因特網上買賣股票和使用信用卡購物。既然把WWW服務說得那麼安全,那到底它存在什麼安全問題呢?安全套接口層(SSL)確實對WWW服務的安全提高很多,但它主要解決了數據包被竊聽和劫持的問題,除此之外WWW服務還有其它的問題,如 WWW服務使用的CGI程序,服務器端附件(SSI,Server Side Include), Java Applet小程序等。
最初WWW服務只提供靜態的Html頁面,這種頁面顯得很呆板,用戶看到主頁沒有變化,於是人們引入了CGI程序,CGI程序讓人們的主頁活起來。當用戶進入hotmail時,會發現下面的廣告是不斷變化的,這就是應用了CGI程序的結果。CGI程序可以接收用戶的輸入信息,一般用戶是通過表格把輸入信息傳給CGI程序的,然後CGI程序可以根據用戶的要求進行一些處理,一般情況下會生成一個HTML文件,並傳回給用戶。CGI程序很多都存在安全漏洞,很容易被黑客利用做一些非法的事情,如把/etc/passwd文件傳給黑客,刪除服務器上的文件等等。還有,現在很多人在編CGI程序時,可能對CGI軟件包中的安全漏洞並不了解,而且大多數情況下不會重新編寫程序的所有部分,只是對其加以適當的修改,這樣很多CGI程序就不可避免的具有相同的安全漏洞,所以用戶若要編寫一個安全的CGI程序,就應先去了解這些軟件包中的安全漏洞,這些在網上可以得到。CGI程序程序很多是用Perl來編寫的,Perl的功能很強大,但也很不安全,其中有很多UNIX的特殊字符可用來執行UNIX的系統命令,一般入侵者就是利用這些特殊字符實施攻擊的。
二、電子郵件服務
電子郵件服務給人們提供了一種便宜,方便和快捷的服務,現在在清華幾乎人人都有一個e-mail地址,e-mail地址也開始出現在人們的名片上了。現在,Unix環境下的電子郵件服務器一般是Sendmail,它是一個復雜的功能強大的應用軟件,正因為這樣它就具有更多的安全漏洞。程序越龐大,越復雜,就越有可能出現多的安全漏洞,這是一個公認的原理。Sendmail在Unix環境下以root帳戶運行,所以如果該程序被黑客利用,用戶的主機的損失將會是十分巨大的。因特網蠕蟲病毒曾經震驚世界,它使大批的服務器陷於癱瘓之中,這種病毒就是利用了Sendmail的安全缺陷。如果要把這些功能以更安全的方式實現,需要對Sendmail進行重新設計和重新實現,但人們又會擔心新的版本會出現更多的人們不知道的安全漏洞。Sendmail的問題被人們修修補補,但總是有新的問題出現,“最新Sendmail修訂版”在網絡安全中已經成了一種笑料。
除此之外,電子郵件的附著的Word文件或其他文件中有可能會帶有病毒,電子郵件炸彈也是一個令人頭疼的問題。試想,一下子收到了一大堆垃圾郵件,直到郵件箱被塞滿,用戶會有什麼感想。
三、FTP服務和TFTP服務
這兩個服務都是用於傳輸文件的,但用的場合不同,安全程度也不同。TFTP服務用於局域網,在無盤工作站啟動時用於傳輸系統文件,安全性極差,常被人用來竊取密碼文件/etc/passwd,因為它不帶有任何安全認證。FTP服務對於局域網和廣域網都可以,可以用來下載任何類型的文件。網上有許多匿名FTP服務站點,上面有許多免費軟件,圖片、游戲,匿名FTP是人們常使用的一種服務方式。FTP服務的安全性要好一些,起碼它需要用戶輸入用戶名和口令,當然匿名FTP服務就象匿名WWW服務是不需要口令的,但用戶權力會受到嚴格的限制。匿名FTP存在一定的安全隱患,因為有些匿名FTP站點提供可寫區給用戶,這樣用戶可以上載一些軟件到站點上。但這些可寫區常被一些人用作地下倉庫,存放一些盜版軟件和黃色圖片,這會浪費用戶的磁盤空間、網絡帶寬等系統資源,可能會造成“拒絕服務”攻擊。匿名FTP服務的安全很大程度上決定於一個系統管理員的水平,一個低水平的系統管理員很可能會錯誤配置權限,從而被黑客利用破壞整個系統。
四、Finger服務
Finger服務於查詢用戶的信息,包括網上成員的真實姓名、用戶名、最近的登錄時間、地點等,也可以用來顯示當前登錄在機器上的所有用戶名,這對於入侵者來說是無價之寶,因為它能告訴他在本機上的有效的登錄名,然後入侵就可以注意其活動。
五、其它的安全性極差的服務
除了上面提到的Finger和TFTP,還有X-Window服務,基於RPC的NFS服務,BSD Unix的以“r”開頭的服務,如Rlogin, rsh, rexec。這些服務在設計上安全性很差,一般只在內部網使用。如果有防火牆,應把這些服務限制在內網中。