监视远程Web服务器上的文件是否已更改

在以下前提条件下,监控远程Web服务器上的文件是否已更改的最佳方法是什么?

  • 服务器运行的是不同的操作系统,但是大多数是Linux的一些风格,一对正在运行Windows Server。
  • SSH访问在所有服务器上都不可用。
  • 该检查主要是testing用于生成页面的php模板,没有被损坏。 该模板的大小没有变化,所以文件的校验和始终是由pipe理员专门replace的。

到目前为止,我只能提出将文件专门放在每个服务器上,然后轮询每个文件来检索诊断数据。 然而,我有一些担心,如果这些文件在公共目录中需要由外部源进行轮询,那么这些文件本身是否会受到危害。

与tripwire类似,但OSSEC也会监视文件修改: http : //www.ossec.net (这将需要在服务器上安装轻量级代理)。

基本上你所描述的正是像https://monitorwebsitefilechanges.cloud这样的服务的行为

你在你的网站上加载一个简单的php代理,定期询问你的网页空间(文件名,文件大小和最后修改date)文件的快照。 然后将这些数据与之前的快照进行比较,并在添加,删除或修改文件时收到通知。

与tripwire相比,我更喜欢这种types的服务,因为它们不需要任何安装,而且还可以在没有SSH访问且没有cron作业的低廉主机上运行。

你可以使用monit工具来实现。 以下是值得尝试的url。

http://mmonit.com/monit/

我相信tripwire会做你想做的。 它可以监视系统对文件的更改,并在文件更改时发送电子邮件警报。

你可以使用nagios – 基本上你可以很容易的编写你自己的插件来触发diff,并且检查是否与预定义有区别,并且写入受保护的样本。 基本上可以在基于校验和的testing中工作,这可能比tripwire更灵活,而nagios可能会根据您的需要进行工作。 这里是一个例子: http : //blog.gnucom.cc/2010/check-file-for-changes-with-nagios/

在linux系统中,你可以使用innotify-tools。 这个工具正在内核级别上工作,并且可以处理事件,例如 – 在文件和目录上创build/删除/修改/等等。