Web安全开发指南--异常错误处理与日志审计

1、异常错误处理与日志审计

5.1、日志审计系统安全规则

1

日志系统能够记录特定事件的执行结果(比如 成功或失败)。

确保日志系统包含如下重要日志信息:

1、  日志发生的时间;

2、  事件的严重等级;

3、  能够标识该事件为安全事件的标签;

4、  导致事件产生的对象;

5、  导致事件产生的IP地址;

6、  事件的结果(成功或失败);

7、  关于事件的描述。

2

如果使用浏览器查看日志,确保先对日志数据进行净化。(item12请参考附录11.8

3

不要在日志中存储任何敏感数据,比如密码和session id

4

使用日志分析工具对日志进行安全事件定期分析。

5

针对业务敏感事件进行记录,比如:

1、  输入数据验证失败;

2、  用户登录(成功或失败);

3、  访问控制验证失败;

4、  尝试使用无效的或者过期的session进行连接;

5、  所有产生的异常和错误事件;

6、  所有管理员级别的操作,比如创建、删除用户,修改系统配置等。

 

5.2、详细的错误信息

简要描述

详细的错误信息能够提供攻击者大量有用的信息。

解决方案

要正确处理每一种异常;

不允许直接把异常错误信息返回给用户,配置所有错误和异常到定制页面;

已发布的产品不应包含产生debug信息的模块,如果有,保证debug功能只能通过服务器端配置文件内的选项来打开,不可通过程序自身的功能模块来打开;

如果使用的框架或开发语言包含结构化的处理机制,只应当优先使用,而处理函数错误返回值的方式次之;

如果使用判断函数错误返回值的方式处理异常,必须保证正确处理每一种错误的返回值。

备注

 

 

注:若IE浏览器显示格式不正确,请使用chrome浏览器