# 网络安全

以十大安全事件举例说明

# 非法注入

主要指通过语言拼接方式,可采取的方案如下:

  • 对输入数据校验
  • 白名单
  • 参数化查验

# 失效的身份认证

涉及cookie、session、token之类信息认证

  • 多因素认证
    • 验证码(图形、短信)
    • 次数限制
  • 执行弱密码检查
  • 错误提示非正确引导
    • 例如密码错误,可提示【用户名或密码错误】
  • 服务端会话机制
  • 密码安全策略

# 敏感信息泄露

  • 数据分类处理访问控制
  • 没必要的数据尽快清除
  • 数据加密,确保算法安全【非可逆加密】
  • 禁止缓存敏感数据

# 外部实体XXE(xml)

  • 尽可能简单数据格式(如Json)
  • SOAP更新到1.2版本更高
  • 白名单
  • 后端数据检验

# 失效的访问控制

可采用 水平认证 + 垂直认证 组合控制

  • 水平认证
    • 横向:同级用户不可跨越访问
  • 垂直认证
    • 纵向:低权限用户不可跨越访问高权限
  • 除公用资源,默认禁止访问
  • API和控制器限率控制

# 安全配置错误

# 跨站脚本XSS

常见类型包含但不限于以下几种:

  • 反射式
  • 存储式
  • 基于DOM攻击

解决方式:输入校验 + 输出编码

# 不安全的反序列化

  • 完整性检查(数字签名)
  • 严格的类型约束
  • 隔离反序列化代码

# 使用含有已知漏洞组件

  • 移除不使用的依赖
  • 利用VersionsDependencyCheck等第三方检测

# 不足的日志记录和监控

  • 可审计性信息
  • 日志格式及存储
  • 错误异常及预警