基於Linux的網路安全策略和保護措施(轉)

BSDLite發表於2007-08-11
基於Linux的網路安全策略和保護措施(轉)[@more@]1、引言

隨著Internet/Intranet網路的日益普及,採用Linux網路作業系統作為伺服器的使用者也越來越多,這一方面是因為Linux是開放原始碼的免費正版軟體,另一方面也是因為較之微軟的Windows NT網路作業系統而言,Linux系統具有更好的穩定性、效率性和安全性。在Internet/Intranet的大量應用中,網路本身的安全面臨著重大的挑戰,隨之而來的資訊保安問題也日益突出。以美國為例,據美國聯邦調查局(FBI)公佈的統計資料,美國每年因網路安全問題所造成的經濟損失高達75億美元,而全球平均每20秒鐘就發生一起Internet計算機駭客侵入事件。一般認為,計算機網路系統的安全威脅主要來自駭客攻擊和計算機病毒2個方面。那麼駭客攻擊為什麼能夠經常得逞呢?主要原因是很多人,尤其是很多網路管理員沒有起碼的網路安全防範意識,沒有針對所用的網路作業系統,採取有效的安全策略和安全機制,給駭客以可乘之機。在我國,由於網路安全研究起步較晚,因此網路安全技術和網路安全人才還有待整體的提高和發展,本文希望就這一問題進行有益的分析和探討。

我們知道,網路作業系統是用於管理計算機網路中的各種軟硬體資源,實現資源共享,併為整個網路中的使用者提供服務,保證網路系統正常執行的一種系統軟體。如何確保網路作業系統的安全,是網路安全的根本所在。只有網路作業系統安全可靠,才能保證整個網路的安全。因此,詳細分析Linux系統的安全機制,找出它可能存在的安全隱患,給出相應的安全策略和保護措施是十分必要的。

2、Linux網路作業系統的基本安全機制

Linux網路作業系統提供了使用者帳號、檔案系統許可權和系統日誌檔案等基本安全機制,如果這些安全機制配置不當,就會使系統存在一定的安全隱患。因此,網路系統管理員必須小心地設定這些安全機制。

2.1 Linux系統的使用者帳號

在Linux系統中,使用者帳號是使用者的身份標誌,它由使用者名稱和使用者口令組成。在Linux系統中,系統將輸入的使用者名稱存放在/etc/passwd檔案中,而將輸入的口令以加密的形式存放在/etc/shadow檔案中。在正常情況下,這些口令和其他資訊由作業系統保護,能夠對其進行訪問的只能是超級使用者(root)和作業系統的一些應用程式。但是如果配置不當或在一些系統執行出錯的情況下,這些資訊可以被普通使用者得到。進而,不懷好意的使用者就可以使用一類被稱為“口令破解”的工具去得到加密前的口令。

2.2 Linux的檔案系統許可權

Linux檔案系統的安全主要是透過設定檔案的許可權來實現的。每一個Linux的檔案或目錄,都有3組屬性,分別定義檔案或目錄的所有者,使用者組和其他人的使用許可權(只讀、可寫、可執行、允許SUID、允許SGID等)。特別注意,許可權為SUID和SGID的可執行檔案,在程式執行過程中,會給程式賦予所有者的許可權,如果被駭客發現並利用就會給系統造成危害。

2.3 合理利用Linux的日誌檔案

Linux的日誌檔案用來記錄整個作業系統使用狀況。作為一個Linux網路系統管理員要充分用好以下幾個日誌檔案。

2.3.1 /var/log/lastlog檔案

記錄最後進入系統的使用者的資訊,包括登入的時間、登入是否成功等資訊。這樣使用者登入後只要用lastlog命令檢視一下/var/log/lastlog檔案中記錄的所用帳號的最後登入時間,再與自己的用機記錄對比一下就可以發現該帳號是否被駭客盜用。

2.3.2 /var/log/secure檔案

記錄系統自開通以來所有使用者的登入時間和地點,可以給系統管理員提供更多的參考。

2.3.3 /var/log/wtmp檔案

記錄當前和歷史上登入到系統的使用者的登入時間、地點和登出時間等資訊。可以用last命令檢視,若想清除系統登入資訊,只需刪除這個檔案,系統會生成新的登入資訊。

3、Linux網路系統可能受到的攻擊和安全防範策略


Linux作業系統是一種公開原始碼的作業系統,因此比較容易受到來自底層的攻擊,系統管理員一定要有安全防範意識,對系統採取一定的安全措施,這樣才能提高Linux系統的安全性。對於系統管理員來講特別是要搞清楚對Linux網路系統可能的攻擊方法,並採取必要的措施保護自己的系統。

3.1 Linux網路系統可能受到的攻擊型別

3.1.1 “拒絕服務”攻擊

所謂“拒絕服務”攻擊是指駭客採取具有破壞性的方法阻塞目標網路的資源,使網路暫時或永久癱瘓,從而使Linux網路伺服器無法為正常的使用者提供服務。例如駭客可以利用偽造的源地址或受控的其他地方的多臺計算機同時向目標計算機發出大量、連續的TCP/IP請求,從而使目標伺服器系統癱瘓。

3.1.2 “口令破解”攻擊

口令安全是保衛自己系統安全的第一道防線。“口令破解”攻擊的目的是為了破解使用者的口令,從而可以取得已經加密的資訊資源。例如駭客可以利用一臺高速計算機,配合一個字典庫,嘗試各種口令組合,直到最終找到能夠進入系統的口令,開啟網路資源。

3.1.3 “欺騙使用者”攻擊

“欺騙使用者”攻擊是指網路駭客偽裝成網路公司或計算機服務商的工程技術人員,向使用者發出呼叫,並在適當的時候要求使用者輸入口令,這是使用者最難對付的一種攻擊方式,一旦使用者口令失密,駭客就可以利用該使用者的帳號進入系統。

3.1.4 “掃描程式和網路監聽”攻擊

許多網路入侵是從掃描開始的,利用掃描工具駭客能找出目標主機上各種各樣的漏洞,並利用之對系統實施攻擊。

網路監聽也是駭客們常用的一種方法,當成功地登入到一臺網路上的主機,並取得了這臺主機的超級使用者控制權之後,駭客可以利用網路監聽收集敏感資料或者認證資訊,以便日後奪取網路中其他主機的控制權。

3.2 Linux網路安全防範策略

縱觀網路的發展歷史,可以看出,對網路的攻擊可能來自非法使用者,也可能來自合法的使用者。因此作為Linux網路系統的管理員,既要時刻警惕來自外部的駭客攻擊,又要加強對內部網路使用者的管理和教育,具體可以採用以下的安全策略。

3.2.1 仔細設定每個內部使用者的許可權

為了保護Linux網路系統的資源,在給內部網路使用者開設帳號時,要仔細設定每個內部使用者的許可權,一般應遵循“最小許可權”原則,也就是僅給每個使用者授予完成他們特定任務所必須的伺服器訪問許可權。這樣做會大大加重系統管理員的管理工作量,但為了整個網路系統的安全還是應該堅持這個原則。

3.2.2 確保使用者口令檔案/etc/shadow的安全

對於網路系統而言,口令是比較容易出問題的地方,作為系統管理員應告訴使用者在設定口令時要使用安全口令(在口令序列中使用非字母,非數字等特殊字元)並適當增加口令的長度(大於6個字元)。系統管理員要保護好/etc/passwd和/etc/shadow這兩個檔案的安全,不讓無關的人員獲得這兩個檔案,這樣駭客利用John等程式對/etc/passwd和/etc/shadow檔案進行了字典攻擊獲取使用者口令的企圖就無法進行。系統管理員要定期用John等程式對本系統的/etc/passwd和/etc/shadow檔案進行模擬字典攻擊,一旦發現有不安全的使用者口令,要強制使用者立即修改。

3.2.3 加強對系統執行的監控和記錄

Linux網路系統管理員,應對整個網路系統的執行狀況進行監控和記錄,這樣透過分析記錄資料,可以發現可疑的網路活動,並採取措施預先阻止今後可能發生的入侵行為。如果進攻行為已經實施,則可以利用記錄資料跟蹤和識別侵入系統的駭客。

3.2.4 合理劃分子網和設定防火牆

如果內部網路要進入Internet,必須在內部網路與外部網路的介面處設定防火牆,以確保內部網路中的資料安全。對於內部網路本身,為了便於管理,合理分配IP地址資源,應該將內部網路劃分為多個子網,這樣做也可以阻止或延緩駭客對整個內部網路的入侵。

3.2.5 定期對Linux網路進行安全檢查

Linux網路系統的運轉是動態變化的,因此對它的安全管理也是變化的,沒有固定的模式,作為Linux網路系統的管理員,在為系統設定了安全防範策略後,應定期對系統進行安全檢查,並嘗試對自己管理的伺服器進行攻擊,如果發現安全機制中的漏洞應立即採取措施補救,不給駭客以可乘之機。

3.2.6 制定適當的資料備份計劃確保系統萬無一失

沒有一種作業系統的運轉是百分之百可靠的,也沒有一種安全策略是萬無一失的,因此作為Linux系統管理員,必須為系統制定適當的資料備份計劃,充分利用磁帶機、光碟燒錄機、雙機熱備份等技術手段為系統儲存資料備份,使系統一旦遭到破壞或駭客攻擊而發生癱瘓時,能迅速恢復工作,把損失減少到最小。

 4、加強對Linux網路伺服器的管理,合理使用各種工具


4.1 利用記錄工具,記錄對Linux系統的訪問

Linux系統管理員可以利用前面所述的記錄檔案和記錄工具記錄事件,可以每天檢視或掃描記錄檔案,這些檔案記錄了系統執行的所有資訊。如果需要,還可以把高優先順序的事件提取出來傳送給相關人員處理,如果發現異常可以立即採取措施。

4.2 慎用Telnet服務

在Linux下,用Telnet進行遠端登入時,使用者名稱和使用者密碼是明文傳輸的,這就有可能被在網上監聽的其他使用者截獲。另一個危險是駭客可以利用Telnet登入系統,如果他又獲取了超級使用者密碼,則對系統的危害將是災難性的。因此,如果不是特別需要,不要開放Telnet服務。如果一定要開放Telnet服務,應該要求使用者用特殊的工具軟體進行遠端登入,這樣就可以在網上傳送加密過的使用者密碼,以免密碼在傳輸過程中被駭客截獲。

4.3 合理設定NFS服務和NIS服務

NFS(Network File System)服務,允許工作站透過網路共享一個或多個伺服器輸出的檔案系統。但對於配置得不好的NFS伺服器來講,使用者不經登入就可以閱讀或者更改儲存在NFS伺服器上的檔案,使得NFS伺服器很容易受到攻擊。如果一定要提供NFS服務,要確保基於Linux的NFS伺服器支援Secure RPC(Secure Remote Procedure Call),以便利用DES(Data Encryption Standard)加密演算法和指數金鑰交換(Exponential Key Exchange)技術驗證每個NFS請求的使用者身份。

NIS(Network Information System)服務,是一個分散式資料處理系統,它使網路中的計算機透過網路共享passwd檔案,group檔案,主機表檔案和其他共享的系統資源。透過NIS服務和NFS服務,在整個網路中的各個工作站上操作網路中的資料就像在操作和使用單個計算機系統中的資源一樣,並且這種操作過程對使用者是透明的。但是NIS服務也有漏洞,在NIS系統中,不懷好意的使用者可以利用自己編寫的程式來模仿Linux系統中的ypserv 響應ypbind的請求,從而截獲使用者的密碼。因此,NIS的使用者一定要使用ypbind的secure選項,並且不接受埠號小於1024(非特權埠)的ypserv響應。

4.4 小心配置FTP服務

FTP服務與前面講的Telnet服務一樣,使用者名稱和使用者密碼也是明文傳輸的。因此,為了系統的安全,必須透過對/etc/ftpusers檔案的配置,禁止root,bin,daemon,adm等特殊使用者對FTP伺服器進行遠端訪問,透過對/etc/ftphosts的設定限制某些主機不能連入FTP伺服器,如果系統開放匿名FTP服務,則任何人都可以下載檔案(有時還可以上載檔案),因此,除非特別需要一般應禁止匿名FTP服務。

4.5 合理設定POP-3和Sendmail等電子郵件服務

對一般的POP-3服務來講,電子郵件使用者的口令是按明文方式傳送到網路中的,駭客可以很容易截獲使用者名稱和使用者密碼。要想解決這個問題,必須安裝支援加密傳送密碼的POP-3伺服器(即支援Authenticated POP命令),這樣使用者在往網路中傳送密碼之前,可以先對密碼加密。

老版本的Sendmail郵件伺服器程式存在安全隱患,為了確保郵件伺服器的安全,應儘可能安裝已消除安全隱患的最新版的Sendmail伺服器軟體。

4.6 加強對WWW伺服器的管理,提供安全的WWW服務

當一個基於Linux系統的網站建立好之後,絕大部分使用者是透過Web伺服器,利用WWW瀏覽器對網路進行訪問的,因此必須特別重視Web伺服器的安全,無論採用哪種基於HTTP協議的Web伺服器軟體,都要特別關注CGI指令碼(Common Gateway Interface),這些CGI指令碼是可執行程式,一般存放在Web伺服器的CGI-BIN目錄下面,在配置Web伺服器時,要保證CGI可執行指令碼只存放於CGI-BIN目錄中,這樣可以保證指令碼的安全,且不會影響到其他目錄的安全。

4.7 最好禁止提供finger 服務

在Linux系統下,使用finger命令,可以顯示本地或遠端系統中目前已登入使用者的詳細資訊,駭客可以利用這些資訊,增大侵入系統的機會。為了系統的安全,最好禁止提供finger服務,即從/usr/bin下刪除finger 命令。如果要保留 finger服務,應將finger檔案換名,或修改許可權為只允許root使用者執行finger命令。

5、結束語

由於Linux作業系統使用廣泛,又公開了原始碼,因此是被廣大計算機使用者研究得最徹底的作業系統,而Linux本身的配置又相當的複雜,按照前面的安全策略和保護機制,可以將系統的風險降到最低,但不可能徹底消除安全漏洞,作為Linux系統的管理員,頭腦中一定要有安全防範意識,定期對系統進行安全檢查,發現漏洞要立即採取措施,不給駭客以可乘之機。本文所述的安全措施已在紅旗Linux 1.0 和藍點Linux上獲得驗證,並實際應用於我院圖書館計算機整合管理系統中,確保了我院圖書館計算機整合管理系統安全、穩定地運轉。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947129/,如需轉載,請註明出處,否則將追究法律責任。

相關文章