Web安全开发指南--异常错误处理与日志审计
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浏览器
Web安全开发指南--异常错误处理与日志审计的更多相关文章
- axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码
axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载 代码 项目和资源文档+jar 下载:http://download.csdn. ...
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- Springboot 系列(七)Spring Boot web 开发之异常错误处理机制剖析
前言 相信大家在刚开始体验 Springboot 的时候一定会经常碰到这个页面,也就是访问一个不存在的页面的默认返回页面. 如果是其他客户端请求,如接口测试工具,会默认返回JSON数据. { &quo ...
- Web安全开发指南--会话管理
1.会话管理 3.1.会话管理安全规则 1 避免在URL携带session id. 2 使用SSL加密通道来传输cookie. 3 避免在错误信息和调试日志中记录session id. 4 使用框架自 ...
- Web安全开发指南--文件系统
6.1.上传文件功能 简要描述 文件上传漏洞是由于文件上传功能实现代码没有对用户上传的文件进行正确处理,导致允许攻击者向服务某个目录上传文件. 解决方案 上传文件功能只对登录用户开放: 同时通过文件头 ...
- web安全开发指南--权限管理
2.1 访问控制安全规则 1 访问控制必须只能在服务器端执行. 2 只通过session来判定用户的真实身份,避免使用其它数据域的参数(比如来自cookie.hidden域 ...
- web安全开发指南--认证
1.认证 1.1. 认证和密码管理安全规则 1 认证控制必须只能在服务器端执行. 2 除了指定为公开的资源,对所有其它资源的访问都必须先经过认证. 3 为所有关键凭证实施防"暴力 ...
- Lightning Web Components 开发指南(二)
Lightning Web Components 是自定义元素使用html 以及现代javascript进行构建. Lightning Web Components UI 框架使用web compon ...
- Web安全开发指南--数据验证
1.数据验证 4.1.输入数据验证安全规则 1 数据验证必须放在服务器端进行. 2 至少对输入数据的数据类型.数据范围和数据长度进行验证. 3 所有来自不可信数据源(比如网络.用户命令.数据库和文件系 ...
随机推荐
- 原始套接字&&数据链路层访问
1. 原始套接字能力: (1) 进程可以读写ICMP,IGMP等分组,如ping程序: (2) 进程可以读写内核不处理协议字段的ipv4数据报:如OSPF等: (3) 进程可以使用IP_HDRINCL ...
- Call Mode feature
起源 user 在插著 充電器 打電話的狀況下, 為了安全起見, 避免 充電器在這時損害手機,間接造成 user 的傷害, 而有了這 feature, 在 battery voltage Vbat & ...
- MSCL超级工具类(C#),开发人员必备,开发利器
MSCL超强工具类库 是基于C#开发的超强工具类集合,涵盖了日常B/S或C/S开发的诸多方面,包含上百个常用封装类(数据库操作类全面支持Mysql.Access.Oracle.Sqlserver.Sq ...
- JS中Unix时间戳转换日期格式
<!doctype html> <html> <head> <title>Unix时间戳转换成日期格式</title> <script ...
- Python初学--字符串
ASCII.Unicode和UTF-8的关系 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码 记事本编辑的时候,从文件读取的UTF-8字符被转换 ...
- 使用js创建select option
var v_select = document.getElementById("selectA"); var v_option = document.createElement( ...
- html添加新元素兼容和访问
<!DOCTYPE html> <html> <head> <title>Creating an HTML Element</title> ...
- Maximum Subarray——经典
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- PHP PDO类
<?php //数据库连接类,不建议直接使用DB,而是对DB封装一层 //这个类不会被污染,不会被直接调用 class DB { //pdo对象 private $_pdo = null; // ...
- Sql Server中常用函数replicate
SQL常用函数之三 REPLICATE () 按指定次数重复字符表达式. 语法 REPLICATE ( character_expression, integer_expression) 参数 cha ...