网络安全
安全通道
- 用户测不允许直接连接到管理系统
- 无任何隐藏通道
- 关闭高危端口
网络协议
- 所有的网络端口都是业务必须的,动态监听的端口都应该被关闭
- 所有的网络连接都需要有认证机制
web 安全
- 每一个需要用户授权的网络请求,都需要鉴权。必须核实用户的会话标识是否合法。
- 对用户的最终认证必须发生在服务器端。
- 服务器对所有来自不可信数据源的数据进行校验(注入攻击),拒绝任何没通过校验的数据。若输出到客户端的数据来自不可信的数据源,都必须进行编码和转义(XSS攻击)。
- 必须使用 web 安全扫描软件对容器和应用进行安全扫描,并解决高风险的漏洞。
- Session ID必须具有随机性、唯一性,身份验证成功后需要更换 Session ID。
- 文件上传需要对类型进行验证,应当正确使用 MIME 检查。
数据库安全
- 禁止使用默认口令
- 用户应该具有最小权限,不允许使用超级用户访问所有的数据库
- 如果存在多个默认账号,应该禁用无用的账号
编码安全
- 数据库等凭据不允许明文存储在应用程序中
- 非信任的网络传输应该使用 HTTPS
- 系统中对接必须使用公有账号
- 禁止使用私有加密算法
口令策略
口令复杂度
- 口令至少5个字符
- 口令包含如下规则
- 至少一个小写字母
- 至少一个大写字母
- 至少一个数字
- 至少一个特殊字符
- 口令不能和账号一样
- 口令不能被重复使用
- *例外情况不要求强制复杂度
- 输入受限,例如无法使用3完整的键盘
- 业界习惯,例如手机 PIN 码
防暴力破解机制
超过一定阈值(例如5次尝试)启动防暴力破解机制:
- 锁定账号
- 锁定IP
- 登录延迟
- 验证码识别
- 白名单
口令安全规则
- 口令禁止回显
- 输入框不允许拷贝
- 缺省密码符合复杂度要求
- 用户修改自己口令必须验证旧口令或者 OTP 验证