指定帐号的有效时间,锁定不在有效时间内的帐号
登陆使用验证码策略,生成的验证码策略可配置,防止验证码识别工具破解
连续登陆失败N次锁定IP,M分钟后自动解锁,可配置
密码复杂的可配置
口令有效期可配置,快到期时提前提示修改口令
强制修改初始密码
超级管理员有锁定、解锁其他用户功能
敏感信息传输使用HTTPS,日志中不可打印敏感信息
慎用Cookie,禁止在cookie中以明文形式存储敏感数据,防止被注入跨站脚本盗取cookie信息
慎用隐藏域存储数据
明文密码不可以在html代码中存储,防止右键点击网页查看源代码发现明文密码
严格控制加密密钥文件控制权限,其他用户不可以访问、拷贝
严格要求客户端校验与服务端校验一致,防止绕过客户端像服务端提交非法数据,例如js脚本
登陆、功能操作、登出都需要记录操作日志
会话超时机制,超时可配置
用户退出登陆要及时清除Session信息
控制最大用户登陆数,可配置
避免直接访问html、jsp文件,要先经过action权限认证再跳转到页面,防止纵向、横向越权
按钮置灰要谨慎,必须在后台二次认证可操作性
输入校验注意特殊字符校验,防止跨站脚步注入
WEB服务器控制台密码重新设置
数据库不需要的默认密码需要删除
WebService严格校验输入参数
禁止使用不安全的服务和协议,如FTP、Telnet
关闭非必需端口,TCP/UDP端口着重排查,防止恶意socket通信操作应用程序
防止SQL注入,应使用预编译语句 PreparedStatement 代替直接的语句执行 Statement
数据在输出到客户端前须先进行HTML编码,以防止执行恶意代码、跨站脚本攻击
JSP、HTML注释内容需谨慎,防止泄露敏感信息
文件上传严格限制文件格式大小,防止恶意上传JSP、PHP文件获取cmd/shell操作能力
禁止将敏感文件(如日志文件、配置文件、数据库文件等)存放在Web内容目录下,应该放到Web浏览不到的目录(如:WEB-INF)。
删除测试代码或文件,定期检视重要表、方法调用代码,防止后门程序
....