SuperAPI AI 工具集

springboot-security

安全与审计

查看项目

更新于 10-16 07:25

技能介绍

用途:为 Java Spring Boot 服务提供安全审查与实现参考,适用于添加认证、处理输入、创建接口或管理密钥的场景。

主要能力:认证方面建议使用无状态 JWT 或不透明令牌配合吊销列表,会话使用 httpOnly、Secure、SameSite=Strict Cookie,并通过 OncePerRequestFilter 或资源服务器校验令牌。授权方面启用 @EnableMethodSecurity,使用 @PreAuthorize 表达式,默认拒绝、仅暴露必要权限。输入校验使用 Bean Validation 与 @Valid,在 DTO 上应用 @NotBlank、@Email、@Size 及自定义校验器,渲染前对 HTML 做白名单清洗。SQL 注入防护使用 Spring Data 仓库或参数化查询,原生查询用 :param 绑定,禁止字符串拼接。CSRF 方面,浏览器会话应用保持启用并在表单/请求头携带令牌;纯 Bearer 令牌 API 可禁用 CSRF 并采用无状态会话。密钥管理要求不将密钥写入源码,从环境变量或 vault 加载,application.yml 使用占位符,定期轮换令牌与数据库凭据。安全响应头可配置 CSP、frameOptions、xssProtection、referrerPolicy。限流可用 Bucket4j 或网关级限制,超限返回 429 并附重试提示。依赖安全建议在 CI 中运行 OWASP Dependency Check 或 Snyk,保持 Spring Boot 与 Spring Security 受支持版本,对已知 CVE 使构建失败。日志不得记录密钥、令牌、密码或完整 PAN 数据,需脱敏并使用结构化 JSON 日志。文件上传需校验大小、内容类型与扩展名,存储在 web 根目录之外,必要时扫描。

使用方式:作为开发与评审时的检查清单,逐项核对认证令牌校验与过期、敏感路径授权、输入校验与清洗、SQL 拼接、CSRF 策略、密钥外置、安全头、API 限流、依赖扫描与日志脱敏。

限制:资料未提供具体版本要求、性能数据、收费信息或完整部署步骤,实际落地需结合项目环境评估。