分布式系統(tǒng)安全之分布式系統(tǒng)的類
分布式系統(tǒng)的類別和漏洞
1.1 分布式系統(tǒng)的類
存在多種觀點(diǎn)、模型和部署來表征分布式系統(tǒng)。這些包括在物理資源聚合級別(例如,點(diǎn)對點(diǎn)或云系統(tǒng))定義分布式系統(tǒng),在中間件級別(例如,發(fā)布-訂閱、分布式對象平臺或Web服務(wù))定義它,或者根據(jù)分布式系統(tǒng)提供的服務(wù)(例如,數(shù)據(jù)庫或分類賬)定義它。雖然文獻(xiàn)中存在一系列定義,但分布式系統(tǒng)可以通過鏈接資源的協(xié)調(diào)模式或利用它們的服務(wù)的規(guī)范進(jìn)行廣泛分類。一個(gè)廣泛的類別是分散控制,其中單個(gè)資源主要與其“相鄰”資源相互作用。另一大類通過通信過程(如消息傳遞)將分布式資源連接起來,以實(shí)現(xiàn)各種形式的虛擬控制/協(xié)調(diào)控制。因此,基于這種通信和協(xié)調(diào)模型,分布式系統(tǒng)可以分為以下兩大類。
- ?在沒有集中協(xié)調(diào)服務(wù)的情況下,分布式實(shí)體之間的分散點(diǎn)對點(diǎn)交互:點(diǎn)對點(diǎn)系統(tǒng)(P2P)系統(tǒng)代表了這類分布式系統(tǒng)。分散式非定時(shí)控制是此類系統(tǒng)的突出特征。例如,Kademlia,Napster,Gnutella等系統(tǒng)以及許多其他分布式文件和音樂共享/存儲系統(tǒng),無線傳感器網(wǎng)絡(luò)以及在線游戲系統(tǒng)都屬于此類別。
- 跨分布式資源和服務(wù)的協(xié)調(diào)?聚類:這是一個(gè)廣泛的類,當(dāng)細(xì)分為兩個(gè)協(xié)調(diào)子類時(shí),最好理解,即(a)資源的協(xié)調(diào)以及(b)服務(wù)的協(xié)調(diào)。我們將在本章中使用這兩個(gè)協(xié)調(diào)抽象。分布式系統(tǒng)的范圍包括客戶端-服務(wù)器模型、n層多租戶模型、彈性按需地理分散的資源聚合(云-公共、私有、混合、多云、大數(shù)據(jù)服務(wù)、高性能計(jì)算)和事務(wù)性服務(wù),如數(shù)據(jù)庫、賬本、存儲系統(tǒng)或鍵值存儲(KVS)。Google File System、Amazon Web Services、Azure和Apache Cassandra就是這類的簡單示例。雖然此類可能看起來既廣泛又多樣,但協(xié)調(diào)抽象(針對資源或服務(wù))直接表征了分布式的類型系統(tǒng)分為這兩個(gè)子類。在這兩種情況下,這些系統(tǒng)通常通過通信交換和協(xié)調(diào)服務(wù)進(jìn)行協(xié)調(diào),其預(yù)期結(jié)果是提供“虛擬集中式系統(tǒng)”。其中確保因果關(guān)系、任務(wù)順序、復(fù)制處理和一致性等屬性。在文獻(xiàn)中,客戶端-服務(wù)器系統(tǒng)、云計(jì)算、移動(dòng)計(jì)算、分布式數(shù)據(jù)庫等都有離散的定義,盡管提供虛擬的“集中/協(xié)調(diào)”行為是它們的共同特征。
注意:
分布式系統(tǒng)中有許多細(xì)微的安全性。一種觀點(diǎn)側(cè)重于在資源和服務(wù)分散的分布式系統(tǒng)中提供安全性的概念和機(jī)制。另一種觀點(diǎn)考慮使用分發(fā)作為提供安全性的一種手段,例如,密鑰的分散與集中式密鑰存儲或使用虛擬機(jī)(VM)來分區(qū)和隔離資源和應(yīng)用程序。此KA側(cè)重于前一類“分布式系統(tǒng)中的安全性”。但是,它還討論了后一種觀點(diǎn),因?yàn)榉稚⒌陌踩珯C(jī)制通常在邏輯上在分散的資源上執(zhí)行,從而導(dǎo)致需要上述類別分散或協(xié)調(diào)集群。
值得強(qiáng)調(diào)的是,分布式系統(tǒng)架構(gòu)通常是多個(gè)層的聚合,其中每一層都建立在下層提供的服務(wù)和整個(gè)發(fā)行版提供的協(xié)調(diào)服務(wù)之上。在最低級別,特定設(shè)備中的資源(內(nèi)存、計(jì)算、存儲、通信)通過該設(shè)備上提供的操作系統(tǒng)原語進(jìn)行訪問。分布式服務(wù),例如命名、時(shí)間同步、分布式文件系統(tǒng),是通過在各個(gè)設(shè)備上運(yùn)行的不同組件和服務(wù)的交互來組裝的。較高層建立在較低層和服務(wù)之上,以提供其他功能和應(yīng)用程序。每個(gè)級別的分布式系統(tǒng)不同組件之間的交互由支持許多不同通信方式的中間件框架提供:消息傳遞、遠(yuǎn)程過程調(diào)用(RPC)、分布式對象平臺、發(fā)布-訂閱體系結(jié)構(gòu)、企業(yè)服務(wù)總線。因此,分布式應(yīng)用程序通過分布式組件和服務(wù)的交互和協(xié)調(diào)以分層(或分層)的方式實(shí)現(xiàn)。在這些架構(gòu)中,每一層的去中心化和協(xié)調(diào)可能不同,從而導(dǎo)致去中心化和協(xié)調(diào)模式的混合組合。我們向讀者推薦操作系統(tǒng)和虛擬化CyBOK知識領(lǐng)域,了解有關(guān)訪問基本資源和書籍,以進(jìn)一步閱讀有關(guān)分布式系統(tǒng)體系結(jié)構(gòu)和中間件的信息。