恒泰博远,专家级研发软件定制开发公司,为企业定制营销、办公、管理软件 在线咨询 :
咨询电话:010-82969001

10事情可以做,作为一名软件开发人员,使您的应用程序的安全:#7日志和入侵检测

来源:http://www.hengtaiboyuan.com 作者:恒泰博远 时间:2014-07-05

[摘要]这是一个系列的OWASP Top 10项目积极发展控制帖子的第7部分:10事情可以做,作为一名开发人员,使您的应用程序的安全。

这是一个系列的OWASP Top 10项目积极发展控制帖子的第7部分:10事情可以做,作为一名开发人员,使您的应用程序的安全。

日志和入侵检测

日志是任何系统的一个简单的一部分。但记录是超过故障排除和调试非常重要的。这也是活动的审计,入侵检测(告诉OPS当系统被黑客攻击)和取证(找出系统遭到黑客攻击后所发生的事情)的关键。你应该把所有这些考虑在你的日志策略。
 

什么记录,记录什么......,什么不能登录

请确保你总是在登录时,谁,在哪里,什么:时间戳(你将需要采取同步跨系统和设备的时间戳护理或准备考虑在不同时区,精度和分辨率的差异),用户ID,源IP等地址信息,和事件的细节。

为了使关联和分析更容易,遵循一个共同的日志记录方式在整个应用程序和整个系统,在可能的情况。使用可扩展的日志框架SLF4J一样用Logback或Apache Log4j/Log4j2。

遵守法规,如PCI DSS可能会决定你需要什么信息记录和何时以及如何,谁得到访问日志,以及多长时间,你需要保留这些信息。您可能还需要证明,审计日志等安全日志是完整的,没有被篡改(使用HMAC为例),并确保这些日志总是存档。由于这些原因,它可能是更好的分离出的交易审计跟踪和安全事件日志的操作和调试日志。

有数据,你必须登录(具体事件的完整的历史顺序,以满足合规或法律要求)。的数据,你不能登录(PII或信用卡数据或opt-out/do-not-track数据或截取通讯)。和其他数据,你不应该登录(认证信息和其他个人资料)。

并注意登录锻造攻击的地方坏人像注入额外的CRLF序列分隔符文本字段中,他们知道将被记录,以试图掩盖他们的踪迹,或注入Javascript脚本转换成数据将触发XSS攻击时,日志记录是在一个基于浏览器的日志查看器中显示。像其他注入攻击,将其写入日志之前编码的用户数据保护系统。

检查代码是否正确伐木的做法和测试日志代码以确保它的工作原理。 OWASP的记录小抄提供了关于如何做日志记录的权利更指引,以及如何提防。

AppSensor - 入侵检测

另外OWASP项目,OWASP的AppSensor说明如何建立在应用程序日志来实现应用程序级别的入侵检测。 AppSensor概述了常见的检测点在一个应用程序,你应该增加检查,以提醒您,您的系统被攻击的地方。例如,如果一个服务器端编辑捕获了应该已经被编辑在客户端,或捕捉到一个非可编辑字段的改变坏的数据,那么你要么有某种编码的bug或(更可能)有人已经绕过客户端验证,并正在攻击你的应用程序。不要只记录这种情况下,返回了一个错误:抛出一个警告或采取某种行动来保护系统不受攻击像断开会话。

你也可以检查已知的攻击特征:尼克Galbreath(以前在Etsy的,现在在启动讯号科学版)曾做过采矿日志检测SQL注入和HTML注入攻击来找到共同的指纹和反哺到这一点的过滤器的一些创新性的工作检测到的攻击正在进行中,并可能阻止他们。