監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關閉

確保Linux環(huán)境下文件共享的安全性

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件

在網(wǎng)絡信息安全的研究領域當中,與大眾關系最為緊密的莫過于網(wǎng)絡服務的安全性問題了。比如說,如果某個在線游戲服務器出現(xiàn)故障導致數(shù)據(jù)損失,那么眾多游戲玩家的心血將付諸東流;如果某個網(wǎng)站服務器由于訪問量增多,不堪重負,將會導致訪問者焦急地長時間等待;如果某個電子郵件系統(tǒng)遭到黑客攻擊而癱瘓,那么數(shù)百萬用戶將不能正常收發(fā)郵件。這些都是我們能切實感受和體會到的。加上在網(wǎng)絡上已經(jīng)得到或即將得到大規(guī)模應用的電子商務(E-Commerce)、電子政務、軍事科技項目,也使得人們對網(wǎng)絡服務的安全性和可靠性產(chǎn)生了前所未有的關注。也正因為如此,我們對主流的服務器操作系統(tǒng)--Linux的安全性進行了一些研究。本文將分別闡述Linux操作系統(tǒng)當中虛擬服務器以及網(wǎng)絡文件系統(tǒng)的安全性問題,提出Linux操作系統(tǒng)的一些基于這兩個方面的安全性舉措,還將列舉一個NFS的配置實例。

LVS原理簡介及相關安全性問題

Linux虛擬服務器(LVS)系統(tǒng)是由負載調度器(Load Balancer)、服務器集群(Server Cluster)和文件存儲服務(File Servers)組成的,通過Linux下的負載平衡,將一群服務器構成一個服務集群,而實際服務器的前端是一臺負載平衡器,將用戶的請求調度到實際服務器執(zhí)行后將結果返回用戶,而終端用戶可見的只是一臺服務器,由于負載調度技術是在Linux內核中實現(xiàn)的,我們稱之為Linux Virtual Server。 正如上文所講,當前網(wǎng)絡服務要求系統(tǒng)提供可靠性、可用性高的服務,即要求系統(tǒng)在遭到破壞和出現(xiàn)故障時,系統(tǒng)上的數(shù)據(jù)不能丟失,而且在盡可能短的時間內恢復系統(tǒng)的正常運行,下面我們就LVS的基本原理(參考圖1)和一些服務安全性能進行探討。
 


連接用戶的外部網(wǎng)為Internet/Intranet,服務器組由內部網(wǎng)(通常是高速局域網(wǎng)或地理分布的廣域網(wǎng))連接。負載平衡器有兩個IP地址,一個是外部網(wǎng)關,一個是內部網(wǎng)關。外部網(wǎng)的用戶發(fā)出請求,負載調度器負責將用戶要求的任務,調度到服務器集群中的服務器上執(zhí)行,具體的調度策略現(xiàn)在主要有四種調度算法:輪轉調度算法(Round-RobinScheduling)、加權輪轉調度算法(Weighted Round-RobinScheduling)、最小連接調度算法(Least-ConnectionScheduing)、加權最小連接算法(Weighted Least- ConnectionScheduing)。LVS采用基于IP層負載平衡技術,通過IPVS軟件實現(xiàn)了三種IP負載均衡技術,在Linux操作系統(tǒng)下,將IP層的TCP和UDP請求均衡地轉移到不同的服務器上。當用戶請求到達時,調度器從服務器組中選出一個服務器轉發(fā)該請求并由該服務器執(zhí)行,同時記錄此調度。這一切都在操作系統(tǒng)核心空間內完成,且調度開銷很小,使得服務器集群中的節(jié)點數(shù)目可以達25甚至可以多達100。文件存儲系統(tǒng)基于容錯式分布文件系統(tǒng)來實現(xiàn),如Coda。

我們談到的LVS網(wǎng)絡服務的高可靠性主要體現(xiàn)在:

1.負載調度器上運行了一個監(jiān)視進程--mon,它負責監(jiān)控服務進程和服務器集群中的各個服務器節(jié)點的狀況,通過配置fping 監(jiān)聽器,每隔一定時間檢測各個服務器節(jié)點。通過配置相應的服務監(jiān)聽器來探查所有節(jié)點中不同的服務進程,例如http monitor就用來探查http服務,一旦出現(xiàn)失敗,監(jiān)視進程就發(fā)出警報通知調度器將該節(jié)點從調度列表中刪除,使調度器可以自動屏蔽服務器節(jié)點的失效。當此服務器節(jié)點恢復時,調度器將此節(jié)點添加到調度列表中,從而總是保持對系統(tǒng)重置的正確,并且服務器集群中節(jié)點的數(shù)目是可變的,由于節(jié)點的失效被屏蔽,系統(tǒng)管理員可以在任何時候加入或刪除一個或多個節(jié)點而不干擾對用戶提供的服務。這也就意味著LVS系統(tǒng)在超載時,我們可以通過增加服務集群的節(jié)點數(shù)目來滿足用戶的請求,當服務器組中某臺實際服務器出現(xiàn)故障,可以刪除但不影響對用戶的服務,從而實現(xiàn)高效可靠的服務。

2.在第一點的基礎上,現(xiàn)在調度器就成為了單一的失效點,調度器的失效將導致整個系統(tǒng)的癱瘓。為了屏蔽主調度器可能出現(xiàn)的失效,需要建立一個備份的從調度器。兩個心跳進程分別在主、從調度器上運行,定期互相匯報各自的健康狀況,一旦從調度器探測到主調度器失效,則激活fake程序接管Virtual IP Address來提供負載平衡調度;當從調度器探測到主調度器恢復時,將釋放Virtual IP Address,由主調度器收回并提供負載調度服務。雖然,主調度器的失效和接管將導致調度信息的丟失,需要用戶重新發(fā)送請求。但是,這大大的提高了系統(tǒng)的安全性和可靠性,使得一旦主調度器出現(xiàn)故障,系統(tǒng)可以在很短的時間內恢復服務。

NFS簡介以及相關安全性問題

下面要提到的是在網(wǎng)站服務器上應用得很廣泛的網(wǎng)絡文件系統(tǒng)(Network File System)。網(wǎng)絡文件系統(tǒng)提供了多個計算機節(jié)點通過網(wǎng)絡共享計算機文件資源的功能,使得每個計算機的節(jié)點能夠像使用本地資源一樣方便地使用網(wǎng)上資源。不難想象,正是由于它的這種獨有的方便性,也暴露了一些安全問題,黑客們可能通過侵入服務器,篡改其中的共享資源,達到入侵、破壞他人機器的目的,所以網(wǎng)絡文件系統(tǒng)的安全問題在Linux操作系統(tǒng)中受到很多人的重視。下面將從Linux操作系統(tǒng)中的NFS的工作原理及一些相關安全問題作一些探討。
 
NFS由服務器端和客戶機端兩部分組成。每臺機器都具有自己的內核級服務:外部數(shù)據(jù)服務、遠程過程調用、NFS客戶機或服務器、I/O監(jiān)控程序和鎖監(jiān)控程序。此外,根據(jù)服務器和客戶機的不同,分別具有/etc/exports和/etc/fstab配置文件。

NFS是通過RPC,即遠程過程調用來實現(xiàn)的,使得遠程的計算機節(jié)點執(zhí)行文件操作命令就像執(zhí)行本地的文件操作命令一樣。它可以執(zhí)行創(chuàng)建文件、創(chuàng)建目錄、刪除文件、刪除目錄等等文件操作命令。
在Linux操作系統(tǒng)當中,安全性能較Windows有了很大的提高,由于RPC本身的一些安全缺陷,惡意的黑客可以利用IP地址欺騙等手段來攻擊NFS服務器,使得服務器癱瘓而無法工作,而通常NFS服務器卻很難發(fā)現(xiàn)。而Linux所作的第一個安全任務就是啟用防火墻,當系統(tǒng)啟動的時候這個操作系統(tǒng)會自動啟用防火墻,使得內部的和外部的RPC無法正常地通信,這從一定程度上減少了安全漏洞,使得非法的或者是有害的數(shù)據(jù)不能進來。但是,應該看到的是,它還是阻礙了正常的數(shù)據(jù)傳輸。如果在沒注意的情況之下,兩臺互相通信的機器便不能正常的進行NFS文件共享,因為防火墻阻止了RPC調用。

而第二個Linux所作的安全任務也就是服務器的導出選項,這些選項很多,因為NFS服務器最適合對NFS客戶機進行安全限制。NFS客戶機更容易攻破,但服務器介于潛在的惡意客戶機之間,它要訪問服務器本地盤中存放的實際文件。相關的導出選項有如下幾類:讀寫服務器訪問、UID與GID擠壓、端口安全、鎖監(jiān)控程序、部分掛接與子掛接等。在讀寫服務器訪問中,ro和rw是最常用的選項。這兩個選項的含義讀者應該比較清楚,他與文件的一些基本讀寫權限是一樣的。對于UID與GID擠壓,在Linux操作系統(tǒng)當中,根用戶(root)是很危險的,因為它可以執(zhí)行任何命令和改變系統(tǒng)中的任何文件。在NFS客戶機/服務器模型當中,服務器要防止惡意的客戶機的破壞,因為客戶機上的用戶可以方便地取得NFS客戶機上的根訪問權限。如果NFS客戶機允許對NFS服務器的根訪問,則可以方便地占有服務器,從而影響依賴于NFS服務器文件的整個站點。為此,幾個NFS客戶機可以改變某些用戶與組的證明信息,改變用戶與組的證明信息稱為擠壓。這樣,最重要的選項就是root_squash,將根進程的權限設為最低來做到這一點。至于端口安全指的是NFS服務器缺省要求請求從1024以下端口到達,這些端口號被叫做安全端口。因為后面兩項不是重點,所以不再不詳細介紹。

NFS安全配置實例分析

下面通過一個具體的例子來介紹NFS的安全性配置。假設在某個網(wǎng)站上有某個目錄名為/popgame的目錄可以開放給NFS客戶機來進行下載共享等工作,而這臺服務器的IP地址為:202.168.0.8。它可以開放目錄給IP地址為202.168.10.10、202.168.10.13(當然可以提供給更多的服務器,而且他們的IP地址也可以各式各樣,現(xiàn)在舉的例子有點像局域網(wǎng)中的情況,不過原理相同)的主機。那么我們首先就需要對服務器端的/etc/exports文件進行編寫。

我們先進入目錄/etc,然后執(zhí)行命令:vi exports,那么就會進入到該文件的編輯界面,我們輸入如下的內容:/popgame 202.168.10.10(ro) 202.168.10.13(ro)。我們可以清楚地看到,目錄/popgame只能導出到IP地址為上述值的客戶機上,而且它們的權限也只能是只讀,因為它們只是需要簡單地共享下載游戲的功能,并不需要具備創(chuàng)建目錄、修改文件的功能,而且如果提供了這些功能的話,將會出現(xiàn)安全隱患。

下面接著配置客戶機的/etc/fstab文件,進入該文件,并且加入如下內容:202.168.10.8:/popgame  /mnt/game nfs  ro   0   0。不過,原文件上已經(jīng)有的內容不要隨意更改,否則會影響系統(tǒng)配置,影響文件系統(tǒng)。其中的/mnt/game目錄是要將服務器上的/popgame目錄掛接到客戶機上的本地目錄,也就是說,當共享了NFS文件系統(tǒng)以后,可以通過訪問本地目錄/mnt/game來訪問共享的文件。因為現(xiàn)在有兩臺客戶機,所以每一臺上都要如上配置。
 
配置完成以后,就需要在客戶機上將服務器的NFS掛接到本地客戶機上了,命令如下所示:mount -t nfs 202.168.10.8:/popgame /mnt/game。當然,在執(zhí)行命令之前,必須先要關掉本地客戶機上的防火墻,否則也不會掛接成功。原因是防火墻會阻礙遠程過程調用?,F(xiàn)在就可以放心地使用遠程的網(wǎng)絡資源了。

來源:CCW

發(fā)布:2007-04-22 10:14    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
沈陽OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普沈陽OA快博其他應用

沈陽OA軟件 沈陽OA新聞動態(tài) 沈陽OA信息化 沈陽OA快博 沈陽OA行業(yè)資訊 沈陽軟件開發(fā)公司 沈陽門禁系統(tǒng) 沈陽物業(yè)管理軟件 沈陽倉庫管理軟件 沈陽餐飲管理軟件 沈陽網(wǎng)站建設公司