public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("https://example.com")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(3600);
}
}

此示例配置規定了以下內容: 

即使使用像上面這樣的簡單配置也可以為您的應用程序增加大量安全性。如上所述,許多其他框架都有類似的配置選項可用。

5.滲透測試

我們的第五個建議是將滲透測試作為應用程序安全措施的一部分。滲透測試是一種通過模擬網絡攻擊來測試應用程序安全性的方法。您可以使用它來識別攻擊者可能利用的 Web 應用程序安全性漏洞和弱點。

為了進行滲透測試,安全專家團隊使用專門的工具和技術嘗試獲取對 Web 應用程序及其數據的未經授權的訪問權限。然后,他們使用測試結果來識別和修復任何漏洞。

滲透測試有三種類型:白盒、黑盒和灰盒。讓我們更深入地了解每種類型。 

白盒滲透測試

白盒滲透測試涉及與測試人員共享完整的網絡和系統信息,包括網絡地圖和憑證。測試團隊將獲得盡可能多的信息,以節省時間并降低總體參與成本。白盒滲透測試非常適合模擬有針對性的攻擊,同時利用盡可能多的攻擊媒介。

黑盒滲透測試

在黑盒滲透測試中,測試人員根本不會得到任何信息。這通常是最昂貴和最耗時的選項,在這種情況下,滲透測試人員會遵循非特權攻擊者的方法,從最初的訪問和執行到利用。在大多數情況下,攻擊者會這樣操作,而不了解系統的內部工作原理。由于這種測試的性質,可能會錯過潛在的漏洞,并且很大程度上取決于執行測試的測試人員的技能。

灰盒滲透測試

在灰盒滲透測試中,測試人員只能獲得有限的信息。通常,這些信息以登錄憑據或其他機制的形式提供,用于在不強制的情況下訪問系統。灰盒測試可以幫助組織了解特權用戶可以獲得的訪問級別以及他們可能造成的潛在損害。這可以幫助組織實施正確的控制措施,以減輕攻擊者獲得應用程序訪問權限后造成的損害。

采用上述任何一種滲透測試技術都是對您 Web 應用程序安全實踐的極大補充。有許多不同的公司和工具可滿足您的滲透測試需求。

6. 采用 DevSecOps 方法

DevSecOps 方法涉及將安全專家引入開發過程。這些專家在軟件開發生命周期的每個階段將安全測試集成到開發和運營過程中。這些工作中的大部分包括自動化安全控制,特別是在用于構建應用程序的 CI/CD 管道中。DevSecOps 旨在從一開始就將安全性融入 Web 應用程序中,而不是事后才添加。

DevSecOps 使用預防措施來防止注入攻擊、跨站點腳本和敏感數據泄露,以避免引入漏洞。DevSecOps 工作流中可以使用許多不同的工具。DevSecOps 工具的示例包括:

通過使用上述工具,可以在構建和維護 Web 應用時增加高度的自動化和安全性。這些工具涵蓋從掃描代碼和應用程??序的漏洞到確保部署代碼的基礎設施安全的所有內容。

7. 安全配置和部署實踐

正確配置和部署 Web 應用程序對于維護其安全性至關重要。這包括在設置 Web 服務器、保護數據庫和實施安全編碼實踐時遵循最佳實踐。

其中一個重要因素是確保您的組織和團隊擁有正確的技能來處理應用程序的安全部署。這還將涉及確保部署清單和將要執行的步驟是協調一致的。每個步驟都應考慮到安全最佳實踐。

確保服務器和數據庫配置正確設置也很重要。確保服務器得到強化并且不容易被不良行為者訪問,這一點不容忽視,最好將其作為部署清單的一部分進行審核。這對于存儲靜態敏感數據的數據庫服務器來說極其重要。

許多服務器和 CI/CD 管道都內置了采用最佳實踐的功能。請務必研究并遵循這些產品供應商提供的文檔中概述的推薦安全配置。

8. OWASP 應用程序安全檢查表

遵循?OWASP 的全面安全措施列表可提高 Web 應用程序的安全性并防范潛在威脅。此清單涵蓋了 Web 應用程序的各種安全措施,包括身份驗證和訪問控制、輸入驗證、錯誤處理和加密。通過遵循此清單,開發人員可以確保他們實施最新、最有效的安全措施。

雖然本分類涵蓋了許多主題,但讓項目中的所有技術參與者了解 OWASP 應用程序安全檢查表是一種很好的做法。作為其中的一部分,在代碼和部署審查期間,應使用檢查表作為參考,以確保實施最佳實踐。

9. 遵循正確的記錄規范

監控和記錄 Web 應用程序上的活動有助于識別潛在的安全威脅,并在發生安全漏洞時為取證調查提供有價值的信息。通過保留每個應用程序事件的詳細日志,可以輕松追蹤攻擊者的步驟并防止漏洞在未來被利用。

正確的日志記錄做法還可確保外部攻擊者無法輕易獲取日志。正如內部調查人員可以使用日志來確定入侵是如何發生的一樣,攻擊者也可以使用日志中的數據來策劃攻擊或發現漏洞。

當數據被推送到日志時,您應確保任何敏感數據都被屏蔽或不包含在日志語句中。信用卡號、密碼和其他敏感數據等數據絕不應在未經屏蔽的情況下進入日志文件。如果攻擊者獲得包含此類數據的日志的訪問權限,其危害可能與他們獲得應用程序本身的訪問權限一樣大。

最后,您還應確保打印到控制臺或響應的調試日志語句不會被推送到生產代碼中。它們涉及JavaScript 文件中的console.log之類的簡單內容,這可能會暴露攻擊者可以利用的錯誤。

10. 使用 Web 應用程序防火墻 (WAF)

實施 Web 應用程序防火墻 (WAF) 有助于保護您的 Web 應用程序免受常見的 Web 攻擊。正確配置的 WAF 可以輕松抵御跨站點腳本、SQL 注入和拒絕服務攻擊等漏洞。WAF 會分析傳入應用程序的流量并阻止任何惡意請求。

盡管 WAF 并非是應對所有基于 Web 的漏洞的靈丹妙藥,但它相對容易實施,可以作為應用程序傳入流量的第一道防線。如果您在云上部署應用程序,許多云提供商都會提供 WAF 作為其堆棧的一部分。對于與您部署應用程序的平臺無關的 WAF,您可以使用Cloudflare WAF或Wallarm Cloud WAF,僅舉幾例。

文章來源:Web Application Security Checklist: 10 Improvements

上一篇:

你相信你的 X-Forwarded-For 標頭么?

下一篇:

Lua CORS 指南: 它是什么以及如何啟用它
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費