中間件工具會引起巨大的漏洞,足以抵消所帶來的好處。然而,通過一些簡單的步驟你就可以保護自己和數(shù)據(jù)。
在過去,開發(fā)者利用操作性用工具和特性去開發(fā)應用,但大多數(shù)操作系統(tǒng)工具都聚焦在一個平臺和本地資源上。隨著應用開發(fā)成為網(wǎng)絡化的組件集,從客戶/服務器到分布式多組件工作流,逐步形成了新的一組工具用以幫助開發(fā)者形成一致的實踐并促進開發(fā)本身,這些工具被稱為中間件,提供了很好的價值,但因為他們充當網(wǎng)絡服務和應用之間的協(xié)調(diào),因此,這些中間件本身也會產(chǎn)生重大的安全問題。
為了處理好這一問題,開發(fā)者需要了解應用的三個主要的安全屬性:建立應用生命周期管理(ALM)實踐來實施中間件安全,優(yōu)化網(wǎng)絡安全作為第一道防御,逐步給特定中間件工具和界面增加安全。
用戶同意,“安全”的應用有三個屬性。首先,它通過用戶鑒權(quán)和權(quán)限控制提供了訪問控制。其次,它保護工作流中的信息免受攔截或瀏覽,最后,它確保事務的完整性及不可抵賴性。你可以通過寬泛或特定的安全舉措支持每一項屬性,所以確保中間件安全的最重要一步是探索可能的安全舉措并讓這些舉措與風險協(xié)調(diào)。
在受到中間件支持的應用是敏感的地方,或者中間件位于敏感信息被處理或存放的平臺上時,中間件的風險最大。在這些情況下,中間件可形成惡意軟件的第二路徑,通過它應用和數(shù)據(jù)也會受到連累。不要把敏感應用和更加開放的(Web)應用混雜在同一個平臺上,這樣就可以減少中間件的安全風險,也可以更容易成本更低地保證重要的東西的安全。
中間件安全始于ALM流程
一切中間件安全都必須從ALM流程內(nèi)開始,其目標是確保中間件組件和應用組件在集成到中間件朋友或應用之前已得到完全驗證。如果用于支持它的元素有可能受到惡意軟件感染或通過非授權(quán)變更攻潰的話,任何安全機制都沒有效。避免受惡意軟件影響的第一步是建立部署實踐,把中間件工具和安全舉措吸收進共同的“安全中間件”元素中,然后只要這一元素有任何變化都要求ALM流程測試功能性和安全性。
網(wǎng)絡安全是防御惡意軟件的第一道防線。網(wǎng)絡越開放,內(nèi)容就越不安全,增加特殊安全機制來保護不受惡意軟件攻擊就越重要。顯然,應用和平臺的互聯(lián)網(wǎng)訪問制造了最開放和最具風險的網(wǎng)絡框架。只要應用和平臺運行在VPN之內(nèi)并予以特殊的訪問控制,網(wǎng)絡本身的安全性就足以滿足某些應用需求,從而可以簡化其他的安全舉措。
你可以建設針對應用的疊加網(wǎng)絡,通過對數(shù)據(jù)和訪問進行分區(qū)處理來增強網(wǎng)絡安全。這些網(wǎng)絡,通?;诩用芩淼澜ㄔO,可提供訪問保護和偵聽安全,甚至降低信息在組件之間“飛行時”被盜用的風險,從而確保不可抵賴性。然而,多應用網(wǎng)絡也會導致員工訪問信息的復雜化,因此有可能的話最實用的做法是將應用按照員工類型分組,提供“應用級訪問”而不是協(xié)調(diào)按照應用的訪問。
一旦網(wǎng)絡安全已被開放至實用的地步,就到審視惡意軟件自身的時候了。經(jīng)驗表明,大多數(shù)有漏洞的中間件工具都是那些與工作流/消息總線管理相關(guān)的。工作流/消息管理中間件安全的目標是防止非授權(quán)的消息引入或偵聽。
利用Web服務框架提高安全
保證中間件安全的一個明顯方式是實現(xiàn)更多的Web服務(WS)框架,尤其是在組件間的WS-Security,并特別保證與服務/消息總線的連接安全。這是在供應商中間件架構(gòu)(比方說Microsoft的 .NET、IBM的 WebSphere, Oracle Fusion)內(nèi)提高安全的最容易的方式,因為安全工具是集成在里面,且通過標準開發(fā)工具和實踐就能獲得的。
一般情況,基本的WS流程都存在限制,因為它們并不涉及工作如何在合法組件間進行分配的,這會導致工作導航(通常通過BPEL)可發(fā)送某個東西給不安全的目的地的風險。盡管這一機制很難被外界利用,但內(nèi)部人士可用它來攔截接收者無權(quán)看到的事務或數(shù)據(jù)。為避免這一點,你需要保證BPEL的安全,可能也要增加策略管理工具來限制中間件對特別關(guān)鍵數(shù)據(jù)的路由。再次地,這個也是某個往往由上述架構(gòu)化的中間件工具提供的東西。
大多數(shù)工作流中間件都是基于消息總線的,但是有些應用則可受益于更加動態(tài)的結(jié)構(gòu)。我們往往會采用發(fā)布/訂閱模式,但如果沒有正確實現(xiàn)的話,這些工具尤其容易受到攻擊。當使用此類 “發(fā)布”能力或接口的功能時,把它限制給那些策略上有權(quán)訪問的人至關(guān)重要。通常而言,需要進行消息過濾以確保發(fā)布/訂閱中間件的安全,除非是在安全網(wǎng)絡的“內(nèi)部”實現(xiàn)的。這通常在用戶和資源連接的那層上應用于發(fā)布/訂閱中間件的外部。
對于所有的中間件安全問題來說,一個好的起點是檢查主流供應商結(jié)構(gòu)化中間件包的安全特性。通過審視所有這些安全特性以及應用方式,,你可以確定安全問題是否需要特定的中間件解決方案,也能看出不同的中間件元素一般是如何獲得安全保證的。甚至哪怕你并未采用某個供應商的方案,理解那個方案能提供什么也能引導你改進自己的中間件安全。
中間件會給企業(yè)帶來巨大的漏洞,足以抵消自身所帶來的好處。不要讓這一情況發(fā)生,通過有組織的方式采取一些簡單步驟就能保護你和你的數(shù)據(jù)。