I. 代码实现

1.1 加密算法

1.1.1【必须】避免使用不安全的哈希算法

  • DES和3DES已经不再现代应用程序,应改为使用AES。

1.2 程序日志

1.2.1 【建议】对每个重要行为都记录日志

  • 确保重要行为都记录日志,且可靠保存6个月以上。

1.2.2 【建议】禁止将未经验证的用户输入直接记录日志

  • 当日志条目包含未经净化的用户输入时会引发记录注入漏洞。恶意用户会插入伪造的日志数据,从而让系统管理员以为是系统行为。

1.2.3 【建议】避免在日志中保存敏感信息

  • 不能在日志保存密码(包括明文密码和密文密码)、密钥和其它敏感信息

1.3 系统口令

1.3.1【必须】禁止使用空口令、弱口令、已泄露口令

1.3.2 【必须】口令强度要求

口令强度须同时满足:

  1. 密码长度大于14位
  2. 必须包含下列元素:大小写英文字母、数字、特殊字符
  3. 不得使用各系统、程序的默认初始密码
  4. 不能与最近6次使用过的密码重复
  5. 不得与其他外部系统使用相同的密码

1.3.3 【必须】口令存储安全

  • 禁止明文存储口令
  • 禁止使用弱密码学算法(如DES和3DES)加密存储口令
  • 使用不可逆算法和随机salt对口令进行加密存储

1.3.4【必须】禁止传递明文口令

1.3.5 【必须】禁止在不安全的信道中传输口令