寻找应用程序/服务,以默默捕捉网站(如SVN,但自动签入)的文件更改审计目的

这是我的问题的背景:

许多人在我们的ASP.NET网站部署了更改…devise人员部署了HTML和CSS更改,.NET开发人员部署了ASPX,DLL文件,graphicsdevise师部署图像等。

从理论上说,所有这些部署都是以一种非常可控的方式完成的 – 在SVN中维护源代码,创build部署包并对版本进行控制,在生产前站点首先对部署进行testing,部署生存logging。 理论上我们总是知道什么文件被改变,什么时候,为什么以及由谁改变。

但是,有时候有人会直接在现场进行更改,并绕过所有的程序。 通常这是因为一些紧急情况。 有时会做出一些改变,导致网站出现问题……而且没有人拥有它!

所以我们正在寻找的是一种无人看pipe的服务,它捕获服务器上的特定文件夹的所有文件更改。 它应该“检查”文件更改,即捕获整个文件的新版本,并捕获用户的Windowslogin。 换句话说,每个文件都像SVN,TFS等一样获取对其进行更改的历史logging。我们应该能够在文件历史logging的版本之间进行差异化。 它所捕获的99%应该是通过适当的程序所做的修改 – 但是它也应该包含不是1%。

要清楚的是 – 我们不是在寻找发送“文件完整性”警报的服务,如OSSEC。 我们只是希望每个文件的变化都能被捕获,所以如果出现问题,我们可以检查变更日志,并找出通常程序之外的情况。 而且,它显然应该是完全自动的 – 要求用户遵循一个额外的程序是不是我们在这里后!

此外,定期进行备份,然后寻找它们之间的差异不是我们想要的,因为这不会告诉我们是谁做出了改变。

我通过日常工作和几个客户处理类似的问题。

这里的问题是基本的权限和工作职责的分离 。 你需要一个比软件工具更多的程序改变。 应该只有极less数的人能够像这样推动内容到生产。 这取决于组织,但根据我在小型企业市场中看到的情况,15%以下的人对进行中的网站进行了更改,以便能够投入生产。 通常包括首席开发人员,首席营销/形象人员,信息系统负责人和(可能)次要受信任的开发人员。

所有说的我会build议审计Windowslogin事件。 一旦你缩小了有访问权限的人员,这就提供了一个简单的方法来说明在更改时访问系统的人员。 您还可以在托pipe网站文件的目录上使用文件系统审核(用于更改)。 它不捕获原始内容,但设置起来相对快速和容易。

由于您已经使用SVN,因此需要设置另一个存储库和一个计划任务来检查网站内容。 每小时一次的增量备份工作也可以工作。