企業級Web應用安全解決方案實例
前言
我們將從企業中不同的角色,如開發人員、安全管理員、部門經理的角度出發,詳細描述在部署了 IBM Rational ASE 企業級 Web 應用安全平台之後,每個角色的日常工作是如何開展的,該平台又為他們提供了怎樣的方便性和統一性。
開發人員 Christine 的一天
開發人員 Christine 和往常一樣,一天的工作從打開 Outlook,收取郵件開始。ASE 有郵件通知功能,當 Christine 關心的某個應用掃描結束,或者某個事先定義的閥值達到後,系統會自動發送郵件,通知她系統發現了哪些安全隱患。此時 Christine 可以直接點擊郵件提示的安全隱患,登錄系統。如圖 1。
圖 1 開發人員 Christine 接收 ASE 發來的郵件
通過郵件,Christine 打開了如圖 2 的頁面。左上部的“Folders”視圖,顯示了 Christine 有權查看的應用或者系統模塊,該權限是由管理員事先設定的。左下部的“Recently Viewed”視圖,體現了 Christine 最近訪問過的報告或者儀表板。右側的“Remediation Tasks”視圖,則列舉了該模塊或應用所有需要修復的任務。
需要注意的是,修復任務和發現的隱患是不同的概念,它是完全站在開發人員的角度看待問題的。如圖 2 的方框說明,21 個修復任務解決了在 25 個 URL 中發現的 62 個安全隱患。因此,使用修復任務視圖,開發人員可以不用去關注具體的安全漏洞,也就是說,開發人員可以不用是 Web 安全專家,他只需要根據修復任務中的提示,改正相應代碼即可。
圖 2 ASE 中開發人員“修復任務”視圖
同時,在 ASE 中還有豐富的分組(Grouping)功能,可以對修復任務進行分類處理,如圖 3 所示,Christine 可以按照 URL 分組,方便她在同一個頁面上修復發現的所有隱患。
圖 3 按照 URL 分組修復隱患
Christine 展開某一個鏈接,並點擊具體的修復任務,就可以看到如圖 4 所示的具體修復建議頁面。如果 Christine 准備著手去修改該問題,她可以將如圖 4 的“Action”,選擇為“Mark Status as In Progress”,表示該安全問題已經處於正在被修改的狀態。在該頁面的中部,有四個標簽頁(Tab),分別是“General Information”、“Advisory”、“Fix Recommendation”和“Request/Response”。
其中,“General Information”(通用信息)是在掃描中發現隱患的概要描述,在這裡 Christine 還可以加入自己的注釋進行特別說明。
“Advisory”(咨詢說明)解釋了所發現漏洞的 WASC 分類、對該漏洞的詳細解釋(使用在線視頻方式)和相關的參考鏈接等。這裡是對開發人員進行培訓和教育的地方,通過自我學習,可以容易的將 Web 安全常識、業界安全漏洞和業界標准等知識融入到日常工作中,有效培養開發人員的安全意識,為最終提高應用的質量打下堅實的基礎。
“Fix Recommendation”部分詳細說明了應該如何修復該安全漏洞。在本例中,Christine 就可以根據該標簽頁上面的指導,去修改相應的代碼。
“Request/Response”則說明為了發現此安全隱患,ASE 發送了怎樣的 HTTP 請求,而 Web 應用給予了怎樣的 HTTP 響應,通過對這些響應的分析,可以判斷出存在什麼安全漏洞。Christine 可以使用該標簽頁,深入了解 ASE 和 Web 應用之間的 HTTP 通訊。
圖 4 ASE 中安全隱患的詳細說明頁面
當 Christine 完成了代碼的修改,她可以將該任務的狀態改為“Fixed”,表示任務已經被修正。當然,她也可以根據具體情況,將任務改為其它狀態(如“Noise”表示該任務屬於誤報,本次可以不用修復等),如圖 5 所示。同時,Christine 還可以加入注釋,附加說明和修復任務相關的信息。
圖 5 ASE 中自帶的問題管理流程
Christine 完成了任務後,想對剛修復的安全漏洞進行驗證,這就用到了 ASE 中強大的“QuickScan”功能。QuickScan 可以讓開發人員方便快速的啟動掃描任務,而不需要對應用的整體細節(包括如何部署等)做過多的了解。這是通過應用管理員事先定制模板實現的。該模板限制了誰可以掃描哪些應用或應用的哪些模塊,使用什麼樣的測試策略,同時也定義了掃描的 URL,如何登錄系統等。如圖 6 所示,點擊 ASE 界面中右上角的“QuickScan”按鈕,進入 Christine 的掃描列表。可以新建掃描或者使用現有的掃描。掃描會根據模板在後台執行,結束後自動生成報告。
圖 6 ASE 中方便易用的 QuickScan 功能
至此,作為開發人員,Christine 已經完成了從接受任務、根據系統建議修復任務、管理任務狀態到再次驗證漏洞的整個過程,所有這些動作,都是通過 ASE 統一的 Web 界面實現的。
安全管理員 Administrator 的一天
通常 ASE 軟硬件的部署、系統權限的設置、掃描任務的定義、不同角色掃描模板的配置,都是由安全管理員完成的。安全管理員登錄到 ASE 中,可以看到企業的完整應用架構。如圖 7,Administrator 看到的內容比 Christine 要豐富很多。在這裡左上部的“Folders”視圖則是管理員按照一定的邏輯對企業應用的劃分,如按照業務部門、按照產品線、按照應用進行劃分。劃分之後,就可以進行權限的分配。
圖 7 ASE中Administrator視圖
在根據某一邏輯劃分好 Folder 結構並分配權限後,接下來 Administrator 就需要定義並配置掃描任務。他可以從創建一個新的掃描開始,如圖 8,左部是他可以配置的選項列表,右部則是每一選項的詳細信息。如“What to Scan”需要定義新建的掃描從哪裡作為開始點;“Security Test”說明了該掃描選擇哪種內置的策略(和 AppScan 標准版中的 Test Policy 一致);“Explore Options”則詳細配置了在掃描中,如何處理 Flash、JavaScript 和其它動態組件等。其它選項這裡不再詳細說明,可以參考 ASE 的手冊得到更豐富的信息。
這些選項都是對該掃描的整體通用配置,如果需要控制用戶掃描和他相關的應用,並且強制他使用企業規定的策略和配置,可以在“QuickScan Config”中進行定義。
通常,在定義好 Folder 結構、配置好掃描任務之後,強烈建議管理員通過“QuickScan Config”定義不同的掃描任務,並將其作為模板,方便開發人員的使用。如上節 Christine 使用的 QuickScan 模板,就是 Administrator 事先定義好的。如圖 9 所示,管理員在 QuickScan 中定義好登錄過程、測試策略、開始 URL 等。
當某一用戶使用 QuickScan 進行掃描時,和通用配置重復定義的部分(如掃描初始 URL),以 QuickScan 的配置為准。
圖 8 ASE 中 Administrator 配置掃描任務
圖 9 ASE 中 QuickScan 配置
除了這些對具體應用的配置之外,Administrator 還需要配置一些其它的管理員屬性。如 License 管理、用戶類型的劃分、服務器組定義等,該工作在“Administration”標簽頁中定義。如圖 10,是對企業中現有的服務器和該服務器需要掃描的應用進行配置和管理。
圖 10 ASE 中 QuickScan 配置
圖 10 ASE 中 QuickScan 配置
從上面可以看到,在 ASE 中,安全管理員的工作主要是對企業中的所有 Web 應用進行總體部署和管理,他需要按照某種邏輯劃分所有應用、根據這些邏輯進行權限分配、定義企業所有的掃描任務(當然,他也可以將權限開放,讓不同部門的管理員自行定義部門內部的掃描任務)、定義掃描模板、定義其它部署邏輯等。
部門經理 Ken 的一天
在一個企業中,不同的角色需要了解 Web 應用安全不同級別的信息。開發人員需要訪問安全漏洞的詳細情況,包括怎樣修改它們;而管理者則需要更高層面的信息,如企業應用安全概覽和趨勢、企業當前所處的安全水平、相關的法規遵從等等。
在本例中,部門經理 Ken 在一天的工作中,就需要了解上述信息。
經過 Administrator 的事先定義,Ken 進入 ASE 後,看到的將不是某個應用的具體細節,而是宏觀的報告和儀表板。如圖 11,通過儀表板,Ken 可以知道:
問題嚴重等級歷史報告(Issue Severity History):Ken 可以看到,隨著時間的推移,各種級別的安全隱患總體是呈下降趨勢,但是在這中間有一些拐點出現,為什麼會出現這種情況?是在此期間安全管理力度有所減弱,還是開發人員仍然沒有總結出針對某一問題的完全解決方案,導致問題一再出現?Ken 可以結合該趨勢圖,並和相關人員分析後,得出上述問題的答案。
問題管理歷史報告(Issue Management History):從該報告中,Ken 看出當前所有的安全隱患中,有多少處於 Open、Active 或者 Fixed?這些數據可以幫助 Ken 來判斷項目的進度,做出項目是否可以發布,或者是否需要加班趕上進度的決策。
按照報告包組織的問題嚴重等級(Issue Severity by Report Pack):Ken 可以按照部門或者應用來組織企業當前所有的安全隱患,這可以幫助他了解哪些部門或者應用需要加大安全管理的力度,或者增加某些培訓(如最佳安全編碼實踐)來減少該部門嚴重安全問題的反復出現。這些分類還可以通過點擊,得到進一步的詳細說明。
上述儀表板所反應的數據,隨著掃描的進行實時更新。並且 Ken 還可以定義除上述之外的其它儀表板。
可以看出,有了統一的平台,基礎數據在日常工作中被詳細收集,作為管理者,僅需要登錄到 ASE 中,查看這些數據所展示的宏觀信息,在了解企業或部門整體安全情況的同時,也為下一步的決策提供了科學可靠的數據。
圖 11 ASE 中管理者關心的儀表板視圖
企業中的其它角色,如測試人員或者質量保證人員,可以像開發人員 Christine 那樣,通過系統自動發送的郵件進入 ASE,直接使用 QuickScan 去做掃描,驗證安全漏洞的存在;也可以像經理 Ken 這樣,分析他所關心的總體信息。在這裡,我們就不一一敘述。
小結
通過本文兩個部分對企業級 Web 應用安全解決方案的介紹,可以看出,這種戰略級方法,已經將 Web 應用安全提高到了覆蓋整個企業、貫穿開發生命周期始終的高度。這對於 Web 應用日漸普及、安全問題日益嚴重的今天,不僅是一種必然趨勢,更給企業提供了一種全面的指導。借助於 Rational ASE 平台,我們可以把這種指導落地生根,通過具體的系統將企業級安全方案貫徹到每個角色的日常工作中,從根本上提高企業的整體應用安全水平,為企業帶來更高的投資回報。