Web應用程序構建后的一些必備安全措施
Michael Cobb是認證信息系統安全架構專家(CISSP-ISSAP),知名的安全作家,具有十多年豐富的IT行業經驗,并且還從事過十六年的金融行業。他是Cobweb Applications公司的創始人兼常務董事,該公司主要提供IT培訓,以及數據安全和分析的支持。
問:我們剛完成一個WEB應用程序的構建,我想知道你推薦使用哪些安全設備來保護它的正常運行。
答:在對你想要嘗試保護的數據和設備充分了解前,我是不可能對你所需要的外圍網絡和應用程序數據安全設備做出詳細具體的建議的。你可以參照一些基本步驟來為任何一種WEB應用程序所必需的安全特性準備一個簡短的采購清單。
首先,將WEB應用程序所要使用到的數據進行分類是非常重要的,它將會存儲在哪?它是如何進行存取和處理的?下一步,識別及評估這些數據以及處理這些數據的系統及應用程序的風險,這個過程被稱做威脅建模,應該在應用程序設計過程中實現。通過從一個攻擊者的角度來分析一個WEB應用程序,你將會對如下問題有更好的理解:
1.它是如何受到攻擊的?
2.它為什么會受攻擊?
3.如何最大程度上減輕任何可識別的風險?
這個過程也可以幫助完善文檔材料來識別和證明這個WEB應用程序的安全需求。
這些WEB應用程序的安全需求需要和整個組織全局性的安全策略相統一,這個全局性的安全策略定義了如何合法地保護這些數據的目標,基于此策略來決定如何最好地保護WEB應用程序,以防止受到任何可識別的威脅和降低敏感信息的風險。有一點我是非常肯定的,那就是如果重寫部分應用程序的代碼,邏輯及功能可以去除部分的漏洞,這樣的努力應該通過附加的安全設備來進行補充,但是你的政策和策略必須明確一點,那就是你需要這些設備用來保護你的哪些數據以及用來防范哪些威脅。
當完成一個WEB應用程序后,你在查看用于減輕威脅的設備時,記得復查下它們用來保護防范哪種類型的威脅。有一些設備同時提供多種威脅的防護,比如病毒,間諜軟件和惡意軟件,而其它設備可能會著重于一種特定威脅,比如對即時聊天通訊上進行安全保護。你需要多加關注各家廠商在一種或多種安全領域所用到的這些技術覆蓋的深度和方法。對應用程序數據帶來多種攻擊的一個常見問題是,它們經常在合法的客戶端請求和響應上進行反復嘗試,SQL注入是一個很經典的例子,因此傳統的外圍保護技術,比如包過濾防火墻已經不再有足夠的保護能力。
性能和可擴展性是另兩個重要的考量點,某些安全設備可能受限于每小時可掃描的事務量,而另一些設備則可能有網絡限制或僅對很小范圍內的一些應用程序協議提供保護,我認為,何時選擇一個安全設備應該先回答如下的關鍵問題:
1.基于公司層面的安全策略目標和需求而言,它需要達到哪些目的?
2.它對于現有網絡的適應性如何?就目前所所擁有的技術力量能否正確有效地使用它?
3.它將會對現存設備及用戶造成什么影響,會造成怎么樣的損失,比如設備重新采購,配置,人員培訓所帶來的花費等。
4.它會提供哪些額外的服務?
很明顯地,用于防護和處理數據的所有設備需要正確地安裝。安裝過程需要遵循一個包括四個步驟的安全生命周期:即安全、監控、測試和改進。這是一個持續的過程,一旦按照此流程完成,它將會在一個固定的保護周期中,不停地在這四個步驟中循環。在任何一臺設備連接上生產網絡前,確保它已經被加固過,打過補丁,同時進行進一步的安全配置。
配置期間請確保參考你們自己的安全策略,用來保證這個設備被正確地配置以完成相應的任務,并且符合公司的安全方針。既然花了時間在選擇和安裝網絡防護設備上,那么實施一個滲透測試是非常重要的,它可以確保這些設備的確按計劃提供了這些保護。通過模擬這樣的攻擊,你可以評估你的站點是否還存在潛在的漏洞。
記住,你必須將基于滲透測試的結果所作的任何變更記錄下來供以后參考,而且要確保配置沒有被錯誤地改動,同時也必須做好對所有網絡安全設備的物理訪問控制和邏輯訪問控制。如果僅限于依靠一些使用計量表類的安全設備,想達到保障應用程序安全是不可能的。你必須在各層次都建立防護措施:物理,網絡,應用程序。通過使用這種威脅建模的流程可以保證在WEB應用程序層面也是安全的,在增加了它們的強壯性外,也減少了對外圍安全設備的依賴。