Appearance
设备安全【政务机关单位驻点人员必须符合】
- 开发电脑的锁屏密码必须是强类型(长度不低于8位,至少包括数字和字母)
- 电脑需安装杀毒软件
- Windows 系统推荐安装火绒
- MacOS 系统推荐安装360安全卫士的Mac版本
数据安全
- 所有项目的
登录
业务,无论在何种环境,密码
必须是强类型(长度不低于8位,至少包括数字和字母) 登录
页面均需增加图形验证码校验
- 线上代码中不允许出现任何
正式域名
的信息 - 数据库的密码必须是强类型(长度不低于8位,至少包括数字和字母)
- 缓存在浏览器的数据均需进行加密处理
注册
、登录
、授权
接口均需进行数据加密传输- 禁止明文传输用户敏感信息,如:
手机号码
、身份证号码
,需脱敏 - 需对
文件
、用户密码
、token
、手机号码
、身份证号码
进行加密存储 - 数据加密统一使用国密
SM2
进行加密
内容安全
- 代码中不允许出现任何正式环境下的
用户账号密码
信息 - 所有测试环境下的项目不允许出现任何正式数据
- 上传的文件没有执行权限,只允许
只读
- 政务相关的应用
- 需提供多重因子的认证手段
- (用户名+密码)+短信验证码
- (用户名+密码)+动态口令
- (用户名+密码)+面部识别
- 浙里办/浙政钉扫码+短信验证码
- 浙里办/浙政钉扫码+动态口令
- 浙里办/浙政钉扫码+面部识别
姓名
、手机号
、身份证
等敏感信息脱敏,且不允许导出- 后台需具备对页面访问的
IP
进行限制的功能 - 登录接口需配置每天的登录失败次数,超出则对该账号进行禁用登录功能,需联系工作人员进行解锁
- 需提供
接口访问日志
、页面访问日志
、nginx日志
请求令牌
的有效期默认为24小时
- 所有接口的数据传输需进行加密处理
- 权限需细分到
按钮
、接口
层面 - 不允许存在
通用验证码
、通用密码
等其他留后门的情况 超级管理员账号
需提供给业主方- 代码仓库需放在业主单位下的政务云上进行管理
- 需提供多重因子的认证手段
行为安全
- 所有的项目文档均不允许公开,需要加上访问授权
- 接口文档统一使用公司部署的 YApi,不允许使用任何第三方接口文档平台
- 所有项目的
nginx
配置均需把该仓库中所有目录下的.xxx
文件指向403
- 域名的命名尽量不要携带业主单位的信息
- 谨慎使用第三方包(库),防止信息泄露,使用前需使用 Snyk Vulnerability Database 进行风险查询
- 任何
开源项目
不允许部署到政务网
- 代码不允许私自拷贝到任何第三方的托管平台
- 所有的测试环境均不允许部署在公网,统一部署在
公司内网
- 正式的
APP
安装包必须做加固处理 - 不允许使用非授权的站外
JS
、图片
等其他资源 - 需定期执行数据备份和恢复
- 禁止上传可能导致代码执行的文件,如
.php
、.jsp
、.asp
、.aspx
、.js
、.py
、.html
、.java
、.sh
、.vbs
、.ps1
、.rb
等 - 前端需对文件上传业务进行限制文件类型格式
- 文件下载最好是通过
文件ID
进行下载,需鉴权,不可直接返回文件下载链接 - CORS跨域相关【线上正式环境】
- 禁止配置
Access-Control-Allow-Origin
为*
和null
- 严格校验
Origin
值,避免出现权限泄露 - 避免使用
Access-Control-Allow-Credentials
为true
- 减少
Access-Control-Allow-Methods
所允许的方法
- 禁止配置
- 所有业务的表单提交数据由前端做好
格式校验
,后端做好内容的正确性校验
- 禁止发生
越权行为
- 水平越权:通过改变参数用户 A 修改了用户 B 的数据
- 垂直越权:普通用户获取了更高级权限比如管理员的数据
- 鉴权逻辑放在后台进行,前端不做
假鉴权
- 在政务机关单位驻点需注意:
- 电脑不允许安装任何远程控制软件
- 电脑不允许安装任何网盘、云盘等第三方存储软件
- 每天下班前需手动删除下载过的政务文件
SQL 防注入
- 使用参数化查询来进行数据库操作,禁止直接通过拼接字符串的方式来合成
SQL
语句 - 对进入数据库的特殊字符
'"\<>&*;
等进行转义处理,或编码转换 - 禁止
WEB
直接显示SQL
的报错信息 - 合理设置数据库权限,仅提供满足要求的最小权限
- 应确保数据编码统一,防止过滤模型被绕过