在社区发布的第一篇小文:让你的系统更安全——权限校验 记录了一下服务端权限校验,本文收集了一些安全相关的设置策略,也可以提高系统的安全性,欢迎大家来补充
系统安全保护策略
服务器
- 设置密码使用期限策略
- 密码复杂度:强制密码长度6-24,字母数字大小写必须
- 账户锁定策略:密码输入N次锁定M分钟
- 禁止空密码账户和guest账户
- 空闲会话断开时间
- 禁止未登录时关机
安全设置\本地策略\安全选项。将"关机:允许在未登录时关闭系统"设置为:已禁用 - 仅安装必需的软件
Linux系统禁止直接root用户登录,创建其他账号并管理好权限 (防止删库到跑路情况)
应用系统
网络访问
- 添加
SSL证书,https访问web站点https能避免很多web会话安全问题(泄密,篡改)
web应用目录不能对外暴露 (如IIS目录启用问题)
身份校验
- 密码复杂度校验:强制密码长度6-24,字母数字大小写必须
- 登录做两种以上的安全校验:账号密码+验证码/令牌
- 登录失败锁定账号策略 (
以上防止暴力破解) - 登录防止sql注入校验
- 用户密码禁止明文存储到数据库
- 系统权限(页面、操作)校验:前后两端必须都得校验,后端如果不校验,直接访问
api会导致非法用户越权 - 限制同一用户多次登录操作或清除资源(如登录后返回令牌,再次登录清除掉旧的令牌,以免被随机获取)
- 关键性操作需要二次确认身份(
如修改重要信息、支付 需要密码或手机短信码确认)
大部分系统漏洞都还是偷懒造成的,服务端不要相信客户端传来的任何数据,要仔细检查加判断校验
一定情况下可启用ip访问限制,如数据库只能通过内网
资源访问
- 图片/
cdn启用防盗链防止cdn被其他人滥用,流量大量损失 - 短信、邮件发送限制频率