安全方法论

​​一、多层次的安全防护体系​​,涵盖:

​​传输安全​​(HTTPS、签名)。
​​身份认证与授权​​(OAuth2、RBAC)。
​​数据安全​​(加密、脱敏)。
​​攻击防护​​(XSS、SQL注入、CSRF)。
​​监控与审计​​(日志、告警、权限审计)。

​​核心原则​​:
​​最小权限​​:用户只能访问必要资源。
​​防御纵深​​:多层防护,避免单点失效。
​​可追溯性​​:所有操作留痕,便于审计。


二、安全细节点

​​安全知识点详细总结​​

​​1. 签名与加密​​
使用 DESService 进行请求签名,确保请求的完整性和真实性。
签名生成方式:signature = DES.Encrypt(sysIdPadded, $"random{random}timestamp{timestamp}")。
请求头包含 appkey、random、timestamp 和 signature,防止请求被篡改。

强调对用户输入进行转义,防止 ​​XSS​​ 和 ​​SQL注入​​。
使用 ​​HTTPS​​ 协议加密传输数据,防止窃听和篡改。
​​前端​​:Cookie 中的敏感信息需加密存储(如 AES)。
​​后端​​:URL 传输的敏感信息(如身份证号)需加密(如 RSA 或 AES)。

​​2. 权限控制​​
请求必须携带 appkey 和签名,确保调用方身份合法。
​​统一权限管理平台​​ = ​​认证中心​​ + ​​权限管理​​(功能权限 + 数据权限) + ​​权限审计​​。
使用 ​​OAuth2 授权码模式​​ 实现单点登录(SSO)。
​​页面权限​​:检查用户是否登录,是否有访问权限。
​​接口权限​​:
对内接口需校验 clientIP、appid、LoginName。
对外接口需校验 商户证书 或 签名。
​​数据权限​​:控制用户只能访问授权范围内的数据(如 A用户不能查询B用户的数据)。

​​3. 输入验证​​
​​参数校验​​:
检查参数是否为空、类型是否正确、长度是否合理。
枚举值校验(如 性别只能是男/女)。
​​防XSS​​:对 <, >, ', " 等特殊字符进行转义。
​​防SQL注入​​:使用参数化查询或 PreparedStatement,避免拼接 SQL。
​​敏感词过滤​​:使用本地词库或第三方接口校验用户输入(如 政治敏感词)。
​​正则表达式​​:校验手机号、邮箱等格式。

​​4. 日志记录与监控​​
记录请求的 URL、参数、请求头、响应数据、响应时间,便于排查问题。

​​审计日志​​:
记录关键操作(如 权限变更、敏感数据访问)。
日志需保存 ​​至少1年​​,并脱敏敏感信息(如 密码、银行卡号)。

​​异常监控​​:
对异常请求(如 高频调用、非法参数)进行告警。

​​5. 会话管理​​
使用 随机数(nonce) + 时间戳(timestamp) 防止重放攻击。
​​会话超时​​:用户长时间无操作时自动退出登录。
​​二次认证​​:高敏感操作(如 支付、修改密码)需短信验证码或生物识别。

​​6. 数据保护​​

​​敏感信息脱敏​​:
前端展示时掩码处理(如 手机号:138****1234)。
日志中禁止明文存储敏感信息(如 密码、CVV)。

​​数据库加密​​:
敏感字段(如 密码、银行卡号)使用 AES 或 SHA-256 加密存储。
禁止在配置文件中明文存储密钥(如 数据库密码、API Key)。

​​7. 接口安全​​
接口调用需签名(signature),防止参数被篡改。
​​防CSRF​​:关键操作接口需校验 Anti-CSRF Token。
​​限流​​:对高频调用(如 同一IP/用户短时间多次请求)进行限制。

​​8. 安全审计​​
​​权限审计​​:
定期检查用户权限是否合理(如 离职员工权限未回收)。
记录权限变更操作(如 谁在什么时间修改了权限)。
​​操作审计​​:
记录敏感操作(如 数据导出、退款),确保可追溯。

​​9. 防止篡改​​
请求参数签名(signature)确保数据完整性。
​​防篡改机制​​:
关键数据(如 订单金额、用户ID)需签名校验。
使用 HMAC-SHA256 替代 MD5 等弱哈希算法。

​​10. 安全组件​​
​​WAF(Web应用防火墙)​​:部署 门神WAF 防御 SQL注入、XSS 等攻击。
​​入侵检测​​:使用 洋葱 监控异常行为(如 暴力破解、恶意爬虫)

posted @ 2025-07-10 10:54  yuxuan0802  阅读(16)  评论(0)    收藏  举报