Web應用程序安全的預防措施有以下幾種:
定義并采用合適的網絡安全框架:網絡安全框架包括一系列文檔和指南,它定義了企業在管理網絡安全風險,以及減少漏洞的過程中,需要遵循的各種優秀實踐。這里主要強調的是“合適才是最好的”。我們需要對企業所處的行業,當前開展的業務進行調研。在此基礎上,通過利用專業知識和業界現有的安全標準,為本企業準備詳細的計劃與適合的安全策略。
跟蹤資產并進行威脅評估:如今,大多數企業都會通過在線運維的方式,對諸如:Web應用、網站、Web服務、API、以及基于云的軟件即服務(SaaS)等IT資產,進行管理。因此在此類IT環境中,他們需要與內、外部的各種系統持續進行通信。同時,許多功能性的接口都會被暴露出來。對此,企業需要實施關鍵性網絡安全計劃便是資產發現。該環節可幫助運維人員找到各種Web資產,以便他們按需保護目標組件,并制定出相應的安全策略。可以說,一旦創建了所有重要Web資產的列表,他們即可開始執行威脅評估,以識別出針對當前應用的潛在威脅,進而制定出有效的緩解計劃。
遵守安全編碼標準:據軟件工程研究所的統計,大約有90%的軟件安全問題,都是由軟件設計或代碼中的缺陷引起的。誠然,開發人員的主要工作是讓應用程序能夠正常運行,但是如果忽略了安全編碼,則會無形中留下各種安全漏洞和被攻擊的后門。可見,我們需要實施安全的編碼標準,以確保軟件和應用得到保護,并免受安全漏洞的影響。在實際項目中,我們可以在軟件開發生命周期(SDLC)的早期階段引入安全性,并通過遵循OWASP的安全編碼規范、以及SEI CERT編碼標準,這兩種時下流行的安全編碼標準,以避免在后期測試和部署階段,花費時間和精力去填補各種安全漏洞。
部署企業級安全解決方案:最常見的企業級智能安全解決方案當屬Web應用防火墻(WAF)。它可以通過監控和過濾各種惡意HTTP流量,協助保護Web應用免受諸如SQL注入、跨站點腳本等攻擊的侵害。也就是說,我們通過在Web應用程序和互聯網之間放置一道WAF屏障,可以僅允許合法用戶的訪問,并阻斷各種惡意的請求。當然,我們也可以考慮使用諸如Burpsuite pro和Acunetix之類專業的Web安全掃描器,以實現對Web應用的快速掃描,并識別出潛在的漏洞。
盡可能自動化:在日常運維中,我們往往需要執行Web應用掃描、簽名與行為分析、以及DDoS緩解等重復性的任務。為了節省大量的時間和精力,安全人員應當與自動化技術人員合作,在確保各項任務得以自動化實施的前提下,增強Web應用的安全性。
加密數據:過去,Web應用往往使用明文的HTTP協議進行通信。這會導致攻擊者能夠以中間人(MIM)的方式,扮演通信中的某一方,竊取具體內容。如今,使用基于傳輸層安全協議(TLS)的HTTP加密方式,已經成為了許多企業應用的必選項。同時,它也成為了大多數瀏覽器的默認配置項。HTTPS加密可以維護用戶瀏覽器和服務器之間傳輸數據的完整性。也就是說,當用戶使用HTTPS協議連接到諸如某個互聯網銀行應用的網站時,瀏覽器會基于證書建立起安全的TLS會話,以保證瀏覽器和服務器之間的請求和響應都處于加密狀態。顯然,此類加密技術對于維護敏感用戶數據的機密性和完整性都是不錯的實踐。
滲透測試:定期對Web應用執行全面的滲透測試,以及時發現目標系統的關鍵漏洞。滲透測試可以模擬攻擊者或黑客對系統的出入口、源代碼、數據庫、公共可用源、以及后端網絡,進行掃描和嘗試性地攻擊。 在完成測試后,滲透人員會出具已發現漏洞的優先級排序報告,并協助開發團隊參照最佳的行業標準,予以漏洞修補和安全整改。小結至此,我們討論了企業目前所面臨的五種主要Web應用威脅,以及七種應對威脅的技術實踐與防護措施。當然,對運維人員和普通員工進行最新的威脅概念教育,以及基本的威脅識別和預防等培訓也是非常必要的。總之,對于攻擊而言,越早發現,越早處置,越能保障安全。
啟用對稱加密/非對稱加密進行通信:隨著互聯網技術的不斷發展,傳統的方式目前已經存在了一些不足,比如對http流量或者https流量進行檢測,并不能夠完全解決用戶應用層或者Web層的安全問題。同時,要想實現web應用安全并不需要只是簡單的基于協議本身進行防御,而更多的是要基于邏輯、基于行為、基于流程進行防御。
限制在Web服務器開賬戶,定期刪除一些短進程的用戶。
對在Web服務器上開的賬戶,在口令長度及定期更改方面作出要求,防止被盜用。一但服務器IP被掃描出來默認端口,非法分子就會對服務器進行暴力破解,利用第三方字典生成的密碼來嘗試破解服務器密碼,如果您的口令長度足夠復雜,非法分子就需要大量的時間來進行密碼嘗試,也許在密碼未破解完成,服務器就已經進入保護模式,不允許登陸。
盡量在不同的服務器上運行不同的服務,盡量使FTP,mail等服務器與之分開,去掉一些無關應用。
如不需要,盡量關閉Web服務器上的特性服務。
定期查看服務器中的日志logs文件。
設置好Web服務器上系統文件的權限和屬性。
有些Web服務器把Web的文檔目錄與FTP目錄指在同一目錄,應該注意不要把FTP的目錄與CGI-BIN指定在一個目錄之下。
通過限制許可訪問用戶IP或DNS。另外,許多Web服務器本身都存在一些安全上的漏洞,都需要在版本升級時不斷解決。無論多么安全的站點,都可能被破壞,都有可能遭到黑客的攻擊。所以,一定要沉著冷靜地處理意外事件。