Web安全开发指南--异常错误处理与日志审计
2024-10-20 11:28:30
1、异常错误处理与日志审计
5.1、日志审计系统安全规则
1 |
日志系统能够记录特定事件的执行结果(比如 成功或失败)。 |
确保日志系统包含如下重要日志信息: 1、 日志发生的时间; 2、 事件的严重等级; 3、 能够标识该事件为安全事件的标签; 4、 导致事件产生的对象; 5、 导致事件产生的IP地址; 6、 事件的结果(成功或失败); 7、 关于事件的描述。 |
|
2 |
如果使用浏览器查看日志,确保先对日志数据进行净化。(item1、2请参考附录11.8) |
3 |
不要在日志中存储任何敏感数据,比如密码和session id。 |
4 |
使用日志分析工具对日志进行安全事件定期分析。 |
5 |
针对业务敏感事件进行记录,比如: 1、 输入数据验证失败; 2、 用户登录(成功或失败); 3、 访问控制验证失败; 4、 尝试使用无效的或者过期的session进行连接; 5、 所有产生的异常和错误事件; 6、 所有管理员级别的操作,比如创建、删除用户,修改系统配置等。 |
5.2、详细的错误信息
简要描述 |
详细的错误信息能够提供攻击者大量有用的信息。 |
|
解决方案 |
要正确处理每一种异常; 不允许直接把异常错误信息返回给用户,配置所有错误和异常到定制页面; 已发布的产品不应包含产生debug信息的模块,如果有,保证debug功能只能通过服务器端配置文件内的选项来打开,不可通过程序自身的功能模块来打开; 如果使用的框架或开发语言包含结构化的处理机制,只应当优先使用,而处理函数错误返回值的方式次之; 如果使用判断函数错误返回值的方式处理异常,必须保证正确处理每一种错误的返回值。 |
|
备注 |
|
注:若IE浏览器显示格式不正确,请使用chrome浏览器
最新文章
- KVC &; KVO
- sql server 使用nolock提升性能
- # 20145205 《Java程序设计》第1周学习总结
- Unity3D
- Introduction to Project Management(II)
- netsh修改IP及DNS
- 在C#中怎么调用带参数的存储过程啊??
- boost.asio源码剖析(四) ---- asio中的泛型概念(concepts)
- Linux - SVN下载项目
- sql增删查改
- java Log日志规范
- Django 1.9 admin 使用suit 小记
- day2_python的数据类型,sys,os模块,编码解码,列表,字典
- C++ UTF8和GB2312相互转换
- BeetleX和Asp.net Core之webapi基础性能对比
- js排序的方法
- Vue通过路由 query传递参数
- LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
- Hbase 学习(三)Coprocessors
- HDU 6205(尺取法)2017 ACM/ICPC Asia Regional Shenyang Online