我们已经inheritance了一个旧的Web应用程序,需要扩展一些日志loggingfunction以达到合规目的。 不幸的是,我们不能改变应用程序。 应用程序收到XML POST请求。 我们需要捕获几个特定的XML值并将它们logging在一个单独的文件中。 所以这涉及到XMLparsing和一些自定义代码。 我们正在考虑在服务器前放置一种代理。 是否有代理,允许自定义请求身体处理没有低级别的编程? 或者IDS更适合这个目的?
你没有指定你需要执行什么操作,所以现在我将跳过这个。
首先,我会build议设置Snortlogin到数据库(最有可能的MYSQL)。 事实上,我build议发送二进制日志稗出口到数据库取决于你的负载到这个应用程序。
无论如何,更感兴趣的是如何实际logging数据。 幸运的是,Snort有各种方法来匹配数据包。 我会build议写一个规则来使用HTTP预处理器。 您可以使用内容匹配查找服务标识符。
由于原因,我将在第二秒解释,我们希望使用一个特定的信息,总是出现在每个数据包的同一个区域。 这是因为我们可以通过告诉Snort查看匹配包的内部来优化规则。 您可以使用uricontent与URI进行匹配,但是我们可以更好,更具体地确定数据在深度和偏移量修改器中的位置。
深度模块本身将设置从数据包开始的search长度,但是当您使用偏移量模式时,它将设置深度的起始点。 EX。 如果我说偏移10深度50,则Snort将仅检查有效载荷的字节10-50。 内容匹配只在有效载荷内完成,并且您必须使用其他处理器来检查标题。
这应该足以获得所需的数据,但是如果logging敏感数据,还必须记住Snort和数据库实例的安全性。
一个很好的资源是由Syngress发布的Snort IDS工具包 。