1、 安全设计规范(参考) · 前端不能直接访问数据库,应采取三层架构(表现层、业务逻辑层、数据访问层) 通用 · 应不信任、不依赖客户端的安全控制措施,无论客户端采取何种措施,服务器侧都必须对用户提交的数据进行合法性检测 通用 · 登录入口应具有防止暴力猜解及撞库猜解(利用已泄漏的密码字典进行尝试)的措施,超过设定失败次数需要启用锁定或CAPTCHA图片随机码 通用 · 用户口令的主保护措施使用SHA256/SHA512/SHA-3或更高强度的散列算法,不使用MD5或SHA-1 通用 · 交易/支付过程应形成完整的证据链,待交易数据应经过发起方数字签名 通用 ·
2、 软件升级/规则下发等数据分发过程,接收方应验证数据源的完整性(数字签名/HASH等) 通用 · 设计上支持SOD( Seperation of Duty权限分离),操作系统管理员、应用管理员、数据库管理员可以由不同的人员担任 通用 · 软件发布前应经过数字签名 客户端 · 启动时应对软件包所含的全部可执行文件、库、配置文件进行完整性校验,防止篡改或替换 客户端 · 客户端与服务器建立会话前应首先验证服务器证书的合法性,防止用户流量被劫持 客户端 安全开发规范(参考) · 前端不能直接访问数据库,应采取三层架构(表现层、业务逻辑层、数据访问层) 通用
3、 · 登录入口应具有防止暴力猜解及撞库猜解(利用已泄漏的密码字典进行尝试)的措施,超过设定失败次数需要启用锁定或CAPTCHA图片随机码 通用 · 应不信任、不依赖客户端的安全控制措施,无论客户端采取何种措施,服务器侧都必须对用户提交的数据进行合法性检测 通用 · SQL语句应使用预编译和绑定变量的机制以实现SQL指令和参数的分离,不要拼接SQL语句,如有必须拼接的场景,应对每个参数进行合法性验证,包括整型验证、单引号的数据库转义(将单引号转换为两个单引号)等 通用 · 对需要输出到用户浏览器的任何由用户创造的内容,应在输出到浏览器之前或持久化存储之前进行转义(至
4、少对<>转义为< >)以防止跨站攻击脚本(XSS) 通用 · 针对交易或特权操作,应防止跨站请求伪造,应在框架层面为每个Form启用隐藏属性的CSRF Token,或者使用图片CAPTCHA由用户手工输入,或者使用支付口令等措施,修改密码须输入原密码,以防止跨站请求伪造(CSRF) 通用 · 应限定用户上传的附件类型,并对用户提交的图片/资源进行二次渲染(或添加水印/格式转换等)以破坏其原有结构,防止引入有害文件(网页木马等) 通用 · 不使用路径或文件名作参数以防止目录遍历,不接受/不信任/不展示未经验证的外部图片或资源链接 通用 · 用户口令的主
5、保护措施使用SHA256/SHA512/SHA-3或更高强度的散列算法,不使用MD5或SHA-1 通用 · 对敏感信息纪录做适当隐藏(如以星号代替部分信息),不发送/不展示完整的敏感信息,数据库应对敏感信息的部分字段进行加密,确保泄露之后不能构成完整的信息纪录 通用 · 交易/支付过程应形成完整的证据链,待交易数据应经过发起方数字签名 通用 · 软件升级/规则下发等数据分发过程,接收方应验证数据源的完整性(数字签名/HASH等) 通用 · 如条件满足,建议使用代码审计工具对代码进行扫描,无高危缺陷视为通过 通用 · 软件开发工具均为直接从官方站点下载的正版软件,而
6、不是从第三方站点所获取的 客户端 · 客户端软件所包含的开源组件均为安全稳定版本,并直接从官方站点下载,而不是从第三方站点获取 客户端 · 软件发布前应经过数字签名 客户端 · 启动时应对软件包所含的全部可执行文件、库、配置文件进行完整性校验,防止篡改或替换 客户端 · 客户端与服务器建立会话前应首先验证服务器证书的合法性,防止用户流量被劫持 客户端 · 所有接受外部输入的参数,应执行边界检查,以防止缓冲区溢出 客户端 安全测试规范(参考) · 测试用例应包含每个HTTP参数的SQL注入测试 通用 · 测试用例应包含每个HTTP参数的XSS测
7、试 通用 · 测试用例应包含检测到文件包含(File Inclusion,使用HTTP参数传递文件路径或文件名)直接判定为不通过 通用 · 测试用例应包含不同角色互相交换链接的权限测试,链接为对方无权访问的链接 通用 · 如Web应用提供上传功能,测试用例应包含上传网页木马的测试 通用 · 测试用例应包含检测可能导致信息泄露的冗余备份文件,包括zip/tar/tar.gz等 通用 · 如条件满足,建议使用漏洞扫描工具(如WebCruiser Web Vulnerability Scanner等)对测试环境进行扫描 通用 · 软件发布前应经过数字签名
8、 客户端 · 启动时应对软件包所含的全部可执行文件、库、配置文件进行完整性校验,防止篡改或替换 客户端 · 客户端与服务器建立会话前应首先验证服务器证书的合法性,防止用户流量被劫持 客户端 安全部署规范(参考) · 应配置Web服务器(Apache/Nginx等)以静态方式展示用户上传的图片资源,禁止应用服务器(PHP/JSP/CGI等)动态展示用户上传的资源 通用 · 禁止为后台服务器(数据库等)配置互联网IP地址,仅使用局域网地址 通用 · 禁止数据库端口直接向互联网开放 通用 · 应关闭不需要的服务/端口 通用 · 配置网站HTTPS证书
9、或其它加密传输措施 通用 · 检查各中间件(Web服务器软件、框架、数据库等)版本,确认是安全/稳定版本 通用 · 如已建立内部运维通道,禁止后台管理入口、运维及远程控制端口向互联网开放 通用 · 禁止在应用中配置使用数据库超级账号,应为应用配置专用账号并授予合理的权限 通用 · 回收修改操作系统账号、数据库账号,以及其它外部集成账号口令 通用 · 确认没有使用空口令、弱口令、通用口令(多处重复使用同一个口令) 通用 · 软件发布前应经过数字签名 客户端 · 禁止以root权限运行业务逻辑(网站应用层) 通用 · 禁止在应用层配置使用数据
10、库的超级管理员账号 通用 · 检查确认操作系统、数据库以及所使用的所有中间件,已安装最新的安全补丁 通用 人与人之间的距离虽然摸不着,看不见,但的的确确是一杆实实在在的秤。真与假,善与恶,美与丑,尽在秤杆上可以看出;人心的大小,胸怀的宽窄,拨一拨秤砣全然知晓。 人与人之间的距离,不可太近。 与人太近了,常常看人不清。一个人既有优点,也有缺点,所谓人无完人,金无赤足是也。初识时,走得太近就会模糊了不足,宠之;时间久了,原本的美丽之处也成了瑕疵,嫌之。 与人太近了,便随手可得,有时得物,据为己有
11、太过贪财;有时得人,为己所用,也许贪色。贪财也好,贪色亦罢,都是一种贪心。 与人太近了,最可悲的就是会把自己丢在别人身上,找不到自己的影子,忘了回家的路。 这世上,根本没有零距离的人际关系,因为人总是有一份自私的,人与人之间太近的距离,易滋生事端,恩怨相随。所以,人与人相处的太近了,便渐渐相远。 人与人之间的距离也不可太远。 太远了,就像放飞的风筝,过高断线。 太远了,就像南徙的大雁,失群哀鸣。 太远了,就像失联的旅人,形单影只。 人与人之间的距离,有时,先远后近;有时,先近后远。这每次的变化之中,总是有一个难以忘记的故事或者一段难以割舍的情。
12、 有时候,人与人之间的距离,忽然间近了,其实还是远;忽然间远了,肯定是伤了谁。 人与人之间的距离,如果是一份信笺,那是思念;如果是一个微笑,那是宽容;如果是一句问候,那是友谊;如果是一次付出,那是责任。这样的距离,即便是远,但也很近。 最怕的,人与人之间的距离就是一句失真的谗言,一个不屑的眼神,一叠诱人的纸币,或者是一条无法逾越的深谷。这样的距离,即便是近,但也很远。 人与人之间最美的距离,就是不远不近,远中有近,近中有远,远而不离开,近而不相丢。 太远的距离,只需要一份宽容,就不会走得太远而行同陌人;太近的距离,只需要一份自尊,就不会走得太近而丢了自己。不远不
13、近的距离,多像一朵艳丽的花,一首悦耳的歌,一首优美的诗。 人生路上,每个人的相遇、相识,都是一份缘,我们都是相互之间不可或缺的伴。 人与人之间的距离虽然摸不着,看不见,但的的确确是一杆实实在在的秤。真与假,善与恶,美与丑,尽在秤杆上可以看出;人心的大小,胸怀的宽窄,拨一拨秤砣全然知晓。 人与人之间的距离,不可太近。 与人太近了,常常看人不清。一个人既有优点,也有缺点,所谓人无完人,金无赤足是也。初识时,走得太近就会模糊了不足,宠之;时间久了,原本的美丽之处也成了瑕疵,嫌之。 与人太近了,便随手可得,有时得物,据为己有,太过贪财;有时得人,为己所用,也许贪色。贪财也好,
14、贪色亦罢,都是一种贪心。 与人太近了,最可悲的就是会把自己丢在别人身上,找不到自己的影子,忘了回家的路。 这世上,根本没有零距离的人际关系,因为人总是有一份自私的,人与人之间太近的距离,易滋生事端,恩怨相随。所以,人与人相处的太近了,便渐渐相远。 人与人之间的距离也不可太远。 太远了,就像放飞的风筝,过高断线。 太远了,就像南徙的大雁,失群哀鸣。 太远了,就像失联的旅人,形单影只。 人与人之间的距离,有时,先远后近;有时,先近后远。这每次的变化之中,总是有一个难以忘记的故事或者一段难以割舍的情。 有时候,人与人之间的距离,忽然间近了,其实还是远;
15、忽然间远了,肯定是伤了谁。 人与人之间的距离,如果是一份信笺,那是思念;如果是一个微笑,那是宽容;如果是一句问候,那是友谊;如果是一次付出,那是责任。这样的距离,即便是远,但也很近。 最怕的,人与人之间的距离就是一句失真的谗言,一个不屑的眼神,一叠诱人的纸币,或者是一条无法逾越的深谷。这样的距离,即便是近,但也很远。 人与人之间最美的距离,就是不远不近,远中有近,近中有远,远而不离开,近而不相丢。 太远的距离,只需要一份宽容,就不会走得太远而行同陌人;太近的距离,只需要一份自尊,就不会走得太近而丢了自己。不远不近的距离,多像一朵艳丽的花,一首悦耳的歌,一首优美的诗。 人生路上,每个人的相遇、相识,都是一份缘,我们都是相互之间不可或缺的伴。






