| Taiwan Sun 全球網 |
![]() |
![]() |
|
Sun 安全專家說明在全新的連通世界中如何保護資產
不論是金融服務機構,甚至是社交網路網站,都必須在 Web 上創造業務成長。而當中的吸引力可說是顯現而見:在 Web 領域建立服務可帶來巨大利益,接觸上百萬的使用者及其社群。 這些部署雖然創造了龐大的接觸層面,卻也引發網際網路的諸多問題,網站或服務愈受歡迎,便愈容易吸引潛在的攻擊者。為了找出 Web 領域部署中最大的安全漏洞,Sun Inner Circle 最近向 Sun 全球銷售與服務安全辦公室的兩位安全專家尋求協助,也就是傑出工程師 Glenn Brunette 與首席工程師 Rafat Alvi 。 Brunette 表示:「要成功發展 Web 領域,我們必須充分兼顧簡便性、效能與安全性。安全問題一向都是大家關注的焦點,這也算是一件好事,因為大家會非常瞭解相關問題。不過,Web 領域部署的方法不斷演進,所以接觸廣大的群眾,長久以來的安全問題可能會衍生出新的一面。」 在深入的訪談中,Brunette 與 Alvi 針對 Web 領域的部署安全,提出了必須關注的五大領域。Alvi 表示:「就保障 Web 領域部署安全而言,這五大領域並未涵蓋所有範圍,不過這個清單可以做為快速入門,瞭解哪些事項需要避免,哪些事項應該要執行。」 威脅 #1:未考量安全影響就倉促推出服務與程式碼更新項目Brunette 表示,Web 領域部署的一大特色就是快速部署服務,然後不斷進行修正。他說:「Web 服務大量新增功能,而軟體還在測試狀態往往是功能不完善的藉口。若在設計早期版本的服務與程式碼更新項目時,並未將整體的安全藍圖納入考量,可能會造成問題,軟體還未完善的時候,攻擊者就已經上門了。」
Alvi 表示:「在這些情況下,測試程式往往是為了確保程式在理常環境下的運作,而不是異常狀況中的運作。大家熟悉的攻擊,例如緩衝區溢位、資料隱碼 (SQL injection) 與跨站腳本攻擊 (cross-site scripting) 等,都是因為軟體在撰寫時,並未顧及異常狀況。」 Brunette 與 Alvi 均表示,若要成功發展 Web 領域,必須在起步時使用耐用的建立區塊與型樣。Brunette 說:「NetBeans 與 Sun Java Studio Enterprise 提供的的程式庫與模組既然安全且可重複使用,若要一致地開發安全應用程式,這些功能都是必要的。」 他續道:「若開放原始碼架構以大型社群為基礎,而該社群也著重安全性,該架構通常比較適合用來開發應用程式。良好的測試與自動化工具如 JUnit 與 JsUnit 都經過長時間的考驗原則,我想不到有其他更好的選擇。」 Alvi 接著表示:「每一種基於 IT 的服務都有其安全意涵,Web 領域部署也不例外。沒有東西可以憑空存在,開發者必須撫心自問,他們 Web 型的產品與服務是否安全,倘若產品與服務出現安全漏洞時,對整體 IT 會產生什麼種影響。」 Web 服務完成組譯之後,必須安裝在可存取之處,允許越過傳統防禦措施如網路防火牆,進行存取。Brunette 與 Alvi 建議採用整體的安全威脅管理方法,包括應用程式層保護,以偵測與阻擋 Web 型攻擊。他們提到部分可行方法,其中包括來自 XML 閘道供應商的產品,例如 Layer 7 Technologies。 Brunette 表示:「防禦軟體的開發是無可取代的,不過在實作深度防禦架構時,這些是很有效的產品。」 威脅 #2:客戶互動不斷增加,卻無法保障其安全並確實稽核目前的使用者可能是數以百萬人計,安全性該如何與不斷增加的客戶要求並駕齊驅? Alvi 表示:「組織確定其 Web 應用程式可以擴充之後,若要讓安全性緊隨 Web 領域的成長步伐,便要進行身份識別管理。在開發 Sun 的身份識別管理工具時,我們主要考量到不斷演進的安全性。」 Alvi 表示,Sun 提供數種工具,供組織迅速管理、佈建與稽核 Web 領域部署。例如,Sun Java System Identity Manager 可讓管理員在多個系統對映使用者與存取權,而且只需數天而非數星期的時間。Alvi 說:「這充分確保了安全性可以緊隨 Web 服務與使用者身份識別的成長規模。」
Brunette 表示:「我還想到 Sun Role Manager,這個產品可協助組織以連結商業與 IT 程序的常見詞彙,探索、定義與管理使用者存取,並能促進 Web 領域部署中的 IT 治理更為完備,確實管理稽核大型使用者社群的存取權。」 Brunette 與 Alvi 表示, Sun Java System Access Manager 可做為數千萬名使用者的單一進入點,以暢順地部署 Web 領域。為了確保每個單一登入實例的安全,新版的 Sun Java System Access Manager 將集中管理安全政策。 特定類別的使用者可能因此獲指定角色規則與政策。Brunette 與 Alvi 均表示,為了緊密結合所有資訊,Sun Java System Directory Server 可以做為使用者與授權資訊儲存庫的安全儲存機制。 威脅 #3:隨意將全新的 Web 領域服務連結至其他的環境Alvi 表示:「曾經是外部無法存取的資訊,現在可透過多重裝置從任何位置進行存取。這是很好的發展,但是連結新舊環境與無關環境,卻會讓潛在的安全挑戰倍加沉重。」 若不同人擁有的系統與裝置相互連結時,也會引起信任問題。 Brunette 道:「因為這個原因,我們必須在裝備良好的 Web 領域安全武器中,納入身份識別聯合的功能。Sun Java System Access Manager 已在 Web 環境中內建這功能,為了讓合作夥伴得以存取資訊,Sun Access Manager 還連結了各個資訊筒倉,如中樞輪輻。不過,這不能取消各方明確的契約文字,任何聯合方案都要仰賴內容完備的法律合約與政策。」 Alvi 表示:「我們日趨走向 Web 型世界,但要說 Web 世界獨大,這是很不切實際的。最終,大部分的公司必須平衡 Web 領域服務的速度與靈活性,以及舊環境的可靠性、一致性、治理與安全性,而這需要考量所有的因果關係。」 威脅 #4:不瞭解 Web 領域技術的讀寫性質Web 2.0 ( 通常稱為 「混搭程式 (mashups)」) 的讀寫功能,允許 Ajax 與 Atom 之類的通訊協定整合至各種環境。Brunette 與 Alvi 表示,這些功能也讓用戶端和伺服器門戶更容易受到攻擊,而且是傳統防火牆所無法阻擋的。 Brunette 表示:「Web 內容可以自行更新,有好處也有缺點。 容許用戶端存取、執行與彙總內容,其實是大開門戶,讓攻擊者有機會誘騙使用者執行惡意程式碼,進入企業網路。」 防禦跨站腳本攻擊威脅的最佳方法就是良好攻擊。
例如,Ajax 容許瀏覽器以非同步方式,從瀏覽器發出呼叫,然而從不信任的網站下載 JavaScript,可讓攻擊者對瀏覽器執行惡意的 Ajax 呼叫,結果讓跨站腳本攻擊強行取得使用者帳號、啟動釣魚式詐騙,並在使用者的系統上執行惡意程式。 Brunette 表示,對這類威脅的最佳防禦通常就是良好攻擊。他表示:「教育您的使用者存取不明網站的危險,並確定用戶端 ( 包括桌面、PDA 與行動電話 ) 擁有安全保護,足以對抗這些威脅。此外,還要確定建立耐用的深度防禦架構。」 Alvi 表示:「當然,執行任何作業系統的使用者都可以善加利用 Sun Secure Global Desktop 軟體,以便安全存取桌面與應用程式。企業可以將桌面存取虛擬化,藉此減少受到攻擊的目標數量。您可以進一步運用 Sun Ray 桌面用戶端 ,這個整體性方法可以消除熱門的桌面目標。」 此外,Alvi 還表示,您可以使用 Solaris Trusted Extensions 來搭配 Sun Rays,以強制執行存取控制政策,進而提升企業 IT 資源的行動性,讓 IT 資源更容易存取。 威脅 #5:忽視 Web 服務的基礎Brunette 表示:「 Web 領域部署雖然像是新環境,但許多安全考量其實都是老問題。 Web 服務的基礎需要長時間的安全保證,例如系統、網路、儲存設備與服務的認證、授權、機密性、完整性。如果沒有這些因素,安全性就會崩潰。」 除非建基於安全性基礎,否則無法長遠維持 Web 環境。
Alvi 補充說:「結合政策、方法、架構與產品的系統性安全方法對 Web 服務非常重要,因為這些環境其實很脆弱。除非建基於安全性基礎,否則無法長遠維持 Web 環境。」 Brunette 與 Alvi 表示,Solaris 10 作業系統的多種功能有助提供此安全基礎。例如, Solaris Containers 中的區域與權限可以分隔特定類型的資料,讓企業在部署 Web 服務時,得以避免關鍵資產受到歹徒覬覦。 Alvi 表示,內建安全功能的工作量意涵應該是 Web 服務安全性的另一個關鍵考量。他表示:「基於效能與回應時間的原因,安全性經常因而遭到犧牲,我覺得這個情況非常可怕。這就是 UltraSPARC T2 處理器內嵌加密設計的原因,這些晶片藉由卸載協同處理器的加密工作量,確保同時兼顧安全性與效能。」 此外,Brunette 與 Alvi 還表示,用來提升 XML 剖析速度的特殊化處理技術可間接強化 XML 訊息簽章與加密的安全性。他們建議使用的產品包括 Sun 的 Fast Infoset 技術,以及類似 Layer 7 Technologies 提供的設備。 Brunette 表示:「在擴充 Web 服務的安全性時,硬體與作業系統的選擇是很重要的。不過,安全措施並不只是產品和技術,在 Web 領域的應用程式部署方面,最佳實務、訓練、教育、程序和策略都扮演著重要角色。」 | ||||||||||||||||||||