自查安全项 重要等级 |
必须使用漏洞扫描自动化工具自行扫描应用 |
必须使用源代码审计自动化工具自行扫描组件及代码安全性 |
必须使用交互式应用安全检测工具扫描应用 |
1.要求外网系统应接入;内网erp账号体系系统应接入;外网erp账号体系系统接 |
2.外网系统应使用https传输登录信息; |
3.若自建登录功能,业务系统管理后台由于特殊需要必须暴露在外网时,应对登陆者IP进行限制或登录IP发生异常(如异地登录)时添加二次验证机制; |
4.若自建登录功能,应使用验证码等二次验证机制,且验证码应在每次登录成功或失败后失效刷新,防止用户名、密码被暴力猜测; |
5.若自建登录功能,对密码、认证token 等敏感信息应加密传输,可通过查看请求数据包查进行判断; |
6.若自建登录功能,用户登录失败的提示信息应为“用户名或密码错误”/“登录失败”等模糊提示,请勿直接提示”用户名不存在“、”密码错误“等明确信息; |
1.系统注册应有二次核验机制,如手机/邮箱等方式验证,验证成功后与账号绑定; |
2.短信发送接口应限制针对同一手机号的请求频率,如60秒内只发送一次; |
3.用户设置的密码应有高复杂度限制, 建议长度不小于10位且同时包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊符号(!/$/#/%/_),杜绝用户设置常见弱密码(如123456、qwert等有特殊规律的密码); |
1.应有二次审核机制,如后端直接使用账号绑定的手机/邮箱等方式验证,测试前端是否有方法修改接收验证码的手机/邮箱为任意值; |
2.短信发送接口应限制针对同一手机号的请求频率,如60秒内只发送一次; |
3.在每一步环节应判断上一步的合法性,如发送验证码时检查手机号、邮箱是否为该账号绑定信息,访问修改新密码接口时判断是否输入过上一步发送的验证码,测试客户端能否通过直接访问修改密码接口绕过验证码等步骤; |
4.用户设置的密码应有高复杂度限制, 建议长度不小于10位且同时包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊符号(!/$/#/%/_),杜绝用户设置常见弱密码(如123456、qwert等有特殊规律的密码); |
1. 检查用户点击退出登陆后,cookie 是否已销毁:点击退出,再使用退出之前的cookie,应该无法再进入系统。 |
2.点击退出后应销毁服务端认证session,使用户端cookie在退出登录后失效; |
1.上传功能文件后缀应使用白名单限制为业务需要的文件类型,如上传图片功能点只允许上传png、jpg、bmp等常见格式、上传文档则只允许pdf、doc、xls等常见文档格式,且格式需要前后端同时校验; |
2.要求使用公司统一的文件存储系统,如,请勿从应用服务器上直接上传、下载文件。 |
3.无法使用统一存储时,应限制上传目录的权限,不允许赋予上传目录和上传的文件执行权限; |
1.下载目录应被限定在固定目录内,不允许被../../等路径操作跨目录访问其他文件; |
2.敏感资源应设置访问控制权限,只允许拥有授权的角色下载; |
3.要求使用公司统一的文件存储系统,如,请勿从应用服务器上直接上传、下载文件。 |
1.应使用白名单限定允许调用的URL,特别针对内网的请求应严格限定具体的域名或者IP |
使用CORS跨域时,CORS安全配置: |
1.应设置Access-Control-Allow-Origin及Origin白名单域名; |
2.只有需要携带Cookie时,才允许设置Access-Control-Allow-Credentials头,且Origin白名单必须精细化设置,不允许如 *.baidu.com 的模糊配置。 |
JSONP接口: |
1.必须使用白名单严格限制请求来源referer; |
1.应使用白名单限定允许调用的系统命令; |
1.应使用白名单限制请求来源referer或增加token等机制验证请求发起者身份; |
2.对敏感资源进行操作时,应在服务端校验资源标识归属人是否与当前登录人一致; |
3.敏感操作接口如订单支付等,应使用悲观锁或乐观锁保证事务的ACID特性,解决并发竞争问题; |
4.操作数据库资源时,严格使用SQL语句预编译处理,禁止使用SQL拼接; |
5.应记录应用操作日志; |
1.除无需登录即可查看内容的链接,其他接口、链接地址均需校验当前用户是否登录;可尝试退出后再次访问接口地址进行测试。 |
2.涉及到数据增删改查时,均需校验当前用户操作的数据是否归属于当前用户或当前用户是否有权限操作;可尝试对于同一请求,替换用户cookie进行测试,或者使用两个不同的账号访问同一地址进行测试。 |
数据展示: |
1.应在前端对敏感字段(如手机号、身份证、银行卡号)脱敏展示,可参考--数据脱敏技术要求; |
2.前端界面增加数字水印,可参考:重要系统加明水印: |
数据传输: |
1.外网系统应使用https传输数据; |
2.敏感字段应脱敏/加密处理; |
数据使用: |
1.每次数据访问都应到服务端鉴权,接入UIM参考研发接入指南 |
2.敏感数据操作(订运单数据、交易数据、商密数据等)都应日志打点,可参考:02业务系统接入流程( |
3.识别数据使用情况,需安装权管SDK |
4.订运单用户类数据禁止精准查询或批量下载; |
数据存储: |
1.日志中不应包含明文或未脱敏敏感数据; |
2.敏感数据应加密存储,优先使用ACES加密系统,可参考敏感数据加解密服务 |
3.配置文件 important.properties应加密 |
【代码-自查安全项】
于 2022-01-28 14:21:35 首次发布