Apache错误日志 – “Webpath”而不是文件系统path

我在Linux上运行Apache,我使用OpenSSH为某些客户提供SFTP访问权限,以便他们可以上传他们的页面,并查看他们各自的站点日志(访问和错误)。 我正在使用OpenSSH中的新function来chroot他们的SFTP访问,到目前为止这么好。

我的问题是,在error_log中,“File not found …”的每个引用都是使用OS文件系统path给出的,而不是“Web”path。 我宁愿有错误日志上的Webpath,以便不显示OSpath。 由于我已经chroot的用户,我不想透露在操作系统,他们的文件实际上位于…

有没有可能通过任何指令来改变这种行为? 我试图find它,但找不到任何东西:(

谢谢,Craconia

我会考虑通过默默无闻的方式进入安全领域。 如果考虑到向当地用户透露path的风险,我build议重新考虑用户是否有权访问系统比他们访问的理由风险更大。

同样值得注意的是,由于应用程序错误,Apache经常披露比文件系统path更高风险的数据。 如果你坚持混淆日志中的path,那么在Apache中没有对它的本地支持。 不过,您可以通过脚本来pipe理Apache日志,也可以使用pipe道日志来pipe理日志 。

如果你想进一步加强当地用户的本地系统,那么有更多有形的方法可以certificate是有帮助的。 下面的列表着重于本地强化,并不全面,但应该是一个有用的起点。

  • 从大多数文件中删除SUID位
  • 审计任何可写入的文件或目录。
  • 删除代码编译工具。
  • 完全删除所有软件,包括不属于系统angular色的用户级工具。
  • configuration数据包筛选以将外部访问限制为只针对系统angular色和操作的特定目的。
  • 启用和configurationSELinux
  • 应用并configuration扩展文件属性策略
  • 使用文件系统ACL来进一步优化对本地系统上数据的访问

虽然自2008年以来还没有发布,但Bastille Linux中采用的一些策略也为强化Linux服务器提供了一个基本的基准。

许多这些事情将使系统更难以使用和pipe理,这可能使具有shell访问权限的多用户系统的用户感到沮丧。 尽pipe如此,如果安全性是绝对优先的,所列出的方法将会使系统超越一般多用户系统。

您必须更改用户访问日志的LogFormat 。 variables%U包含所请求的URLpath,不包括任何查询string,这可能是你正在寻找的。