为企业安全培训准备的安全概要
- 1 为高度敏感或重要的业务(如交易账户验证,后台管理系统登录等)使用多因子身份验证机制
- 2 对外服务需要使用加密协议进行数据传输
- 3 身份验证的失败提示应避免过于明确
- 4 能对账号状态进行有效管理(使用中,临时使用,暂停,关闭),安全要求较高的系统如果账号长期未登录自动转为暂停状态。
- 5 系统高权限用户禁止使用容易猜解的名称,如root,test,admin等
- 6 需要对用户设置的密码进行复杂度校验,不允许使用弱密码。密码必须满足以下安全策略
密码最小长度:10
新密码中的字符数不应出现在旧密码中数量:4
最少数字字符:2
最少大写字符:2
最少字符类型:3种 (数字、小写、大写、其他)
连续相同字符最多:3
- 7 验证过程必须在服务端执行,不要依赖客户端验证,防止验证功能被客户端绕过
- 8 对所有的输入进行安全验证:包括来自用户、服务、文件、和数据库的输入。除了验证数据的内容外,还需要限定数据的大小和长度,谨防出现溢出攻击
- 9 输出不能包含任何隐私信息,如用户身份证号、非公共邮箱等。确实需要显示的数据需要经脱敏处理
- 10 线上应用系统页面中不得包含任何关于系统的版本的信息和制作团队的信息,如“Power By *** ”,页面代码中也不得包含版本信息或制作团队的标签记号。
- 11 线上应用中不得包含任何功能测试页面,防止攻击者利用测试页面深入了解系统的运行原理、挖掘应用漏洞。
- 12 应用管理后台路径混淆处理,避免使用默认路径,避免使用常用的路径名称,如admin,manager,administrator等,防止被猜解
- 13 防止异常堆栈信息泄露,如针对目录探测行为返回同一页面和状态码
- 14 服务端对上传文件类型进行强制性验证(进行文件幻数检查,如gif文件的文件头起始为GIF89A)和重命名(必须20位以上,命名的方式采用多种随机或置换算法),验证使用白名单策略,避免黑名单列表覆盖不全造成的安全漏洞
- 15 重要接口的调用,应具备日志审计功能;接口双方系统对于接口调用的情况形成对账机制。
- 16 防止通过真实的文件名来访问文件,应使用索引值来映射实际的文件路径。
- 17 部署的应用不能运行在root用户上,需新建一个专用账户给应用运行
- 18 对互联网开放的端口应根据业务需要,满足最小化原则,用于系统间互联的互联网接口应该做点对点(基于IP和端口)的访问控制。
- 20 禁止向公网开放敏感服务,如mysql、redis等服务
- 21 定时更新操作系统安全补丁
- 22 服务上线公网前,需要对操作系统环境进行基线检测,以确保没有使用不安全的配置。
- 23对于有次数限制的操作,比如抽奖,需要进行加锁处理。如果操作的过程中资源访问未正确加锁,在高并发的情况下可能造成条件竞争,导致实际操作成功次数多于用户实际操作资格次数。
- 24 严格管理系统中用于保存上传或下载文件的目录,这些文件不能有执行权限
- 25 对重要系统的访问增加IP访问控制策略