已分享檔案系統

一些情況下用戶希望兩台機器之間的檔案系統能夠更加緊密地結合在一起,讓一台主機上的用戶可以像使用本機的檔案系統一樣使用遠程機的檔案系統,這種功能可以通過已分享檔案系統來實現。隨著計算機網路技術的發展,網路技術的套用也越來越多,基於網路的已分享檔案系統也得到了大量使用。

概述

在網路環境下,通過FTP實現了在不同作業系統的主機之間相互傳輸檔案,從使用角度看,已分享檔案系統幾乎不用你考慮網路傳輸和訪問的細節,完全可以像訪問本地檔案一樣訪問網路上其它伺服器檔案系統上的檔案。這可以在一定程度上解決開始提的問題,即為集群中的多台實際伺服器共享同一台物理存儲設備。

剛才提到的同一台物理存儲設備可以是獨立的一台伺服器如圖片伺服器,也可以是集群中某台實際伺服器的磁碟。

已分享檔案系統並不是通常我們說的磁碟檔案系統,它不能用於存儲和管理磁碟數據,而只是定義了檔案在網路上傳輸時的組織格式和傳輸協定。所以,一個檔案從網路的一端到另一端需要進行兩次轉換,分別發生在進入網路和離開網路的時候。

對於已分享檔案系統的實現通常有NFS和Samba,其中NFS主要用於Linux/Unix平台下,而Samba用於將linux/Unix平台下的檔案映射到Window系統網路鄰居上,用於實現Linux/Unix到Window平台的共享,當然,它也可以實現Linux/Unix平台之間的檔案共享。

NFS和Samba實現完全不同,其性能存在較大的差異。

NFS服務介紹

NFS(Network File System,網路檔案系統)是歷史最為悠久的檔案共享協定之一,其目的是讓網路環境下的不同主機之間彼此可以已分享檔案。

1.NFS概述

NFS最初是由Sun Microsystems公司於1984年開發出來的,它的功能是讓整個網路共享某些主機的目錄和檔案。由於NFS使用起來非常方便,因此很快得到了大多數UNIX類系統的支持。

2.遠程過程調用RPC

RPC(Remote Procedure Call,遠程過程調用)是另一種不同的網路程式設計方法,它定義了一種進程間通過網路進行互動通信的機制,使程式設計師編寫客戶程式時感覺只是調用了伺服器程式提供的函式,而雙方的通訊過程對程式設計師來說完全是透明的。也就是說,一台機子上的程式使用這種機制可以向網路中另一台機子上的程式請求服務,並且不必了解支持通信的網路協定的具體情況。

3.NFS協定

NFS協定是一個建立在Sun RPC基礎上的客戶端/伺服器應用程式,客戶端通過向一台NFS伺服器傳送RPC請求來訪問其中的檔案。

NFC協定 NFC協定

4.NFS伺服器

NFS伺服器採用多進程模型,而且進程數是固定的,默認情況下為4,當然,可以進行修改。不論怎么對NFS進行性能最佳化,NFS注定不適合IO密集型檔案的共享方案。但作為一般用途比如提供站內資源的共享,它是比較容易搭建的,可以減少不必要的數據冗餘。

5.NFS遠程操作

NFS遠程寫操作有同步和異步兩種模式,對於異步模式,NFS可以在接收到寫操作請求後立即返回成功,然後在後台執行真正的寫操作。對於同步模式,NFS在寫操作完成後才返回,當然,這裡不一定是寫到磁碟。對於異步模式,由於存在實際寫入磁碟的延遲,所以非常有可能發生實際寫入失敗而應用程式並不知曉的情況,在沒有保障的情況下,使用異步模式要格外謹慎。

Samba服務介紹

歷史上,安裝UNIX類作業系統的主機相互之間已分享檔案系統時使用的是NFS協定,而Windows類的作業系統使用SMB協定來已分享檔案系統。後來,以開源項目Samba為代表的許多伺服器軟體在UNIX類作業系統下實現了SMB協定,使得UNIX和Windows作業系統之間的檔案共享也可以暢通無阻。

1.SMB協定概述

SMB(Server Message Block,伺服器訊息塊)是基於NetBIOS的一套檔案共享協定,它由Microsoft公司制訂,用於Lan Manager和Windows NT伺服器系統中,實現不同計算機之間共享印表機、串列口和通訊抽象。

2.NetBIOS協定

NetBIOS(Network Base Input/Output System,網路基本輸入/輸出系統)最初是由IBM公司開發的一種網路應用程式編程接口(API),為程式提供了請求網路服務的統一命令集。NetBIOS是一種會話層協定,套用於各種區域網路(Ethernet、Token Ring等)和諸如TCP/IP、PPP和X.25等廣域網環境。

3.Samba概述

Samba是一種開放原始碼的自由軟體,可以為SMB/CIFS客戶提供所有方式的檔案和列印服務,包括各種版本的Windows客戶。
Samba服務提供Windows風格的檔案和印表機共享。
Samba服務可以在Windows網路中解析NetBIOS的名字。
Samba服務提供了SMB的客戶功能。
Samba服務可以與OpenSSL相結合,實現安全通信,也可以與OpenLDAP相結合實現基於目錄服務的身份認證。同時還能承擔Windows域中的PDC和成員伺服器角色。

4.Samba的兩個進程

Samba主機使用兩個進程來管理兩個不同的服務:

smbd:用來處理檔案和列印服務請求。

nmbd:用來處理NetBIOS名稱服務請求和網路瀏覽功能。

當我們啟動了Samba之後,主機系統就會啟動137,138,139這三個port,並且同時會有TCP/UDP的監聽服務。

5.Samba的主要套用

Samba的主要目的就是用來溝通Windows與Unix這兩種不同的作業平台。

主要套用:共享檔案與印表機服務;提供身份認證;提供Windows網路上的主機名稱解析(NetBIOS name) 。

安全已分享檔案系統

網路已分享檔案的安全問題

網路技術的飛速發展推動了社會的發展,許多政府部門和企業單位都藉助網路極大地提高了工作效率。檔案數據以電子化形式存儲在電腦里,並且在網路中共享,一方面方便了對信息的獲取、共享和傳播,但是另一方面也存在著極大的安全隱患。其中,這些安全隱患主要包括網路接入容易,通常只要選用通用的信息設備即可連入網路大多數信息使用明文傳輸,信息數據在網路傳輸過程中很容易被攔截、篡改用戶往往有權訪問已分享檔案,從而有機會修改、竊取已分享檔案計算機外部設備使用不當容易造成數據泄露。這些都使得已分享檔案的安全問題變得越來越重要和突出,也使得在網路中進行已分享檔案的安全管理成為迫切的需求。
網路中已分享檔案管理的一個重要方面就是保證已分享檔案的安全。網路中數據管理本身通常不是很嚴謹,已分享檔案一般只是採用簡單的授權口令保護,對於防誤操作、防盜竊和防破壞的保護也只採取了簡單的措施。這樣就使得在網路中非法取得授權和獲得已分享檔案變得非常容易。所以,保證已分享檔案的安全就是需要確保存儲在網路中的共享信息、數據不受意外或者惡意的原因遭受破壞、更改、泄露,也就是需要保證已分享檔案的保密性、完整性、可用性和真實性。但由於使用已分享檔案的最終目的是在網路中實現信息共享,故在保證安全的同時還要保證已分享檔案的可用性。

國內外現狀

目前,國內外保護檔案信息的安全主要採用以下措施:

採用防火牆及安全掃描工具,建立網路安全螢幕蔽。防火牆是一個部屬在網路基礎設施中的硬體或軟體的解決方案,可以通過限制對某些特定的網路資源的訪問,實施一個企業的安全策略。防火牆可以在網路和外部之間創建一個保護層。它具有內置的過濾器,所有由外網進入區域網路之前都必須經過它的過濾和檢驗。它是網路安全的第一道屏障。設定訪問許可權,進行訪問控制。對不同的用戶設定不同的訪問許可權,在訪問之前對其身份進行合法性檢查,對信息進行加密。採用加密算法對信息進行加密存儲或傳輸,使非法用戶即使得到數據也難以破解,可以保證電子檔案內容的非公開性。對信息進行簽名。採用摘要算法計算信息的摘要,並使用私鑰加密摘要,保證信息的完整性。
但是,這些保護檔案信息的安全措施都是基於用戶層的檔案控制技術和加密技術。套用層軟體運行於用戶空間中,各種用戶進程和核心進程都可以訪問它的中間處理數據,比如加、解密過程產生的臨時檔案或者系統快取中存在的明文檔案,因此,很容易被其他進程攔截,安全性得不到作業系統核心的保護,並且大部分軟體不能很好地實現系統的自我保護從而可能被竊密分子通過某種手段惡意地破壞系統。所以這些安全措施並不能很好地保證檔案信息的安全。目前對於已分享檔案安全技術有著很高的需求,但是由於套用環境的複雜性及攻擊手段的多樣性使這一領域的產品很難達到很高的安全要求。沒有一套安全性很高的保護措施,任何人都可能對已分享檔案有意或無意造成安全隱患,從而導致難以挽回的後果。所以確保網路已分享檔案的安全具有重要的現實意義。

C/S系統

隨著網路套用技術的發展,基於C/S的系統客戶系統設計己經被廣泛套用於各種軟體系統的設計和開發中。它是軟體系統體系結構,其基本思想是充分利用兩端硬體環境的優勢,把任務合理分配到客戶機和伺服器上以降低系統的通信開銷,主要用於跨多機的應用程式。這種編程方式改變了傳統的單機套用設計和系統實現方式。C/S系統一般分為兩層結構前端是客戶機,即用戶界面,結合了表示與業務邏輯,接受用戶的請求,並向伺服器提出請求後端是伺服器,接受客戶機請求後,經過一些處理,將結果提交到客戶機,客戶機將數據呈現給用戶。一般用“N層結構”來描述套用在客戶機和伺服器的邏輯劃分方式。

C/S模式是一種先進的計算模式,在技術上很成熟,它的主要特點是互動性強、具有安全的存取模式、網路通信量低、回響速度快、利於處理大量數據,有很強的實時處理能力。並且,由於C/S是配對的點對點結構模式,採用安全性較好的網路協定,安全性可以得到較好的保證。C/S結構通常面向相對固定的用戶群,對信息安全的控制能力很強。

C/S系統基於Windows作業系統,設計了一套比較完善的安全檔案共享控制機制,通過控制用戶對伺服器已分享檔案的訪問、控制用戶在客戶端對已分享檔案的操作、保障已分享檔案在伺服器和客戶端存儲的安全及傳輸的安全等手段,達到保障已分享檔案安全的目的。本系統在伺服器上對用戶進行嚴格的許可權控制,並且把檔案數據加密保存在檔案伺服器中。當客戶端請求訪問已分享檔案時,伺服器首先進行合法性驗證,然後使用改進的協定加密傳輸檔案數據到客戶端。客戶端把該檔案加密保存在虛擬磁碟中,使用檔案過濾驅動技術對虛擬磁碟進行訪問控制,只允許設定了訪問許可權的進程才能對虛擬磁碟中的數據進行讀寫操作。當用戶請求打開檔案時,客戶端根據用戶在伺服器資料庫中的檔案訪問許可權使用自動化技術禁用該檔案對應編輯器中某些選單欄和工具列按鈕,然後調用編輯器打開檔案,同時使用全局鉤子控制編輯器的操作,防止用戶對檔案的非法操作。這樣就大大增加了系統的安全性。
客戶端的檔案加解密過程是在核心模式下實現的,讀數據時解密,寫數據時加密。這種在作業系統核心模式下的加、解密具有較高的效率和安全性,且對上層檔案系統驅動程式和應用程式的正常使用沒有任何影響。檔案在虛擬磁碟中始終是以密文形式存在,並且只有合法進程才能對虛擬磁碟中的檔案進行操作,從而有效地保證了已分享檔案數據在客戶端存儲的安全性。

相關詞條

熱門詞條

聯絡我們