Part I. 前言

Spring Security 为基于 Java EE 的企业软件应用程序提供了全面的安全解决方案。正如您通过本参考指南所发现的那样,我们试图为您提供有用且高度可配置的安全系统。

安全性是一个日新月异的目标,追求全面的系统级方法非常重要。在安全圈中,我们建议您采用“安全层”,以使每一层都试图以自身的权利尽可能地安全,并由连续的层提供附加的安全性。每层的安全性“越严格”,您的应用程序将越强大和安全。在底层,您需要处理诸如传输安全性和系统标识之类的问题,以便减轻中间人攻击。接下来,您通常将利用防火墙(可能具有 VPN 或 IP 安全性)来确保只有经过授权的系统才能尝试连接。在公司环境中,您可以部署 DMZ,以将面向公众的服务器与后端数据库和应用程序服务器分开。您的 os 也将发挥关键作用,解决诸如以非特权用户身份运行进程以及最大程度地提高文件系统安全性之类的问题。os 通常也将配置有自己的防火墙。希望您可以在此过程中的某个地方尝试防止拒绝服务和对系统的暴力攻击。入侵检测系统对于监视和响应攻击也将特别有用,这种系统能够采取保护措施,例如实时阻止有问题的 TCP/IP 地址。移到更高的层,希望对 Java 虚拟机进行配置,以最小化授予不同 Java 类型的权限,然后您的应用程序将添加自己的特定于问题域的安全性配置。 Spring Security 使后一领域-应用程序安全-变得更加容易。

当然,您将需要正确解决上述所有安全层,以及涵盖每个层的 Management 因素。这些 Management 因素的详尽列表包括安全公告监视,修补,人员审核,审计,变更控制,工程 Management 系统,数据备份,灾难恢复,性能基准测试,负载监视,集中日志记录,事件响应程序等。

通过 Spring Security 专注于帮助您实现企业应用程序安全层,您将发现与业务问题域一样多的需求。银行应用程序与电子商务应用程序具有不同的需求。电子商务应用程序与公司销售人员自动化工具有不同的需求。这些自定义要求使应用程序的安全性变得有趣,具有挑战性并且令人振奋。

首先,请完整阅读第 1 章,入门。这将向您介绍框架和基于命名空间的配置系统,通过它们可以快速启动并运行。为了进一步了解 Spring Security 的工作方式以及您可能需要使用的某些类,您应该阅读第二部分,“体系结构和实现”。本指南的其余部分以更传统的参考样式构成,旨在按需阅读。我们还建议您一般阅读尽可能多的应用程序安全性问题。 Spring Security 不是解决所有安全问题的灵丹妙药。从一开始就设计应用程序时要考虑安全性,这一点很重要。尝试进行改装不是一个好主意。特别是,如果要构建 Web 应用程序,则应从一开始就注意许多潜在的漏洞,例如跨站点脚本,请求伪造和会话劫持。 OWASP 网站(http://www.owasp.org/)维护了十大 Web 应用程序漏洞列表以及许多有用的参考信息。

希望本参考指南对您有所帮助,也欢迎您提供反馈意见和suggestions

最后,欢迎来到 Spring Security community

首页