如果日志文件(或日志数据)包含需要保护的敏感信息以防止被删除,操纵或阻止“日志注入”,那么哪种安全措施被认为是最佳实践?
我必须certificate什么,如果他们在法庭上被用作证据,我的日志真实可靠。
将您的日志logging集中到一个强化的服务器可能会提供您所需要的。 更好的是,如果您可以将日志logging到强化服务器上的数据库中,则可以开放各种可能性。
我讨厌这个问题,但是你在谈论什么样的日志? NT事件日志? Unix(y)系统日志(和朋友)? 从小型机logging? 多一点信息可能会导致您find一个已知的解决scheme…
2009-05-18重新编辑:
如果您可以将所有数据显示为系统日志样式,那么这将适用于您。
对于Unix(y)风格的机器,请使用任何syslog工具。 您将需要发送logging到中央日志服务器的所有数据,但也要在本地保留用于logging日志的库存设置。 (更多的在一点)
对于那些不产生“真正的系统日志”输出的Unix风格的服务,通常有修复器可以将数据重新生成有用的东西。 最好的例子: apache和squid有一些日志格式,对于大多数安装来说,它们不是为syslog格式化的。 以半小时为基础重新生成这些数据(或者适用于您的任何数据)。 中央日志服务器然后用完,并摘取数据的摘要。
对于Windows风格的机器,请使用NTSyslog ,这是一项免费服务,将事件日志条目分stream到networking系统日志服务器。 一个快速的方法是可用的涵盖设置。
一旦所有的机器都“logging”,你需要指定一个中央logging服务器。 去Splunk的网站上阅读一下; 准备就绪后, 将其下载到中央日志logging服务器 ,然后将其安装在本机上。 免费版本每天可以处理500M字节,除非你有一个蝙蝠疯狂的日志logging来应付,应该绰绰有余。 splunk服务将接受您的所有系统日志input,并将其分类并存储在本地数据库中。 从网页中,您可以过滤,select,按时间查看事件等。在系统中查看复合图片非常方便。 它还可以连接到各种不同的数据源,包括平面文件,这意味着这些apache和squid日志可以通过splunk转换成条目(只要你把它连接到需要的机器上)。
这个设置的一个有用的副作用是所有本地日志logging数据仍然存在 – 没有丢失,所以即使您的中央日志服务器出现故障,日志在其他地方也是有效的。 如果机器丢失了(HDD爆炸,安全漏洞,无论如何),你仍然有中央服务器上的数据的历史。
一旦你所有的机器都在系统日志中,并且你的服务正在分裂,把所有的系统日志机器指向分裂服务器。
从审计的angular度来看,您需要某种中央系统,其他系统的pipe理员没有pipe理权限。 有很多解决scheme可以自动检索日志并将其导出到中央系统。 您基本上正在寻找所谓的日志pipe理或安全信息pipe理(SIM)产品。 至于哪一个,取决于很多因素,比如预算,现在的解决scheme等等。
从法医的angular度来说,最大的问题就是能够展示一个监pipe链,以便确立没有被篡改的证据。 这不仅仅是工具。 这也是在安全事件发生时以及在调查进行并validation事件已经发生并进入证据收集和损害评估时用于处理证据的程序。 对于这样的事情,你可能会想看看有没有适当的SANS事件处理和法医培训的人。
怎么样为每个日志条目添加日志条目的校验和(例如sha1 )。 当然,如果有人可以访问这个数据库(或者任何你要存储日志数据的地方)仍然可以添加一个假的条目,并且有一个有效的校验和。 但是如果在生成校验和之前添加一些盐 ,我认为不可能生成有效的校验和,并且很容易检查它的真实性。