我目前在 Ubuntu 上的 Apache PHP 服务器前运行 Nginx 反向代理。我log.txt
在为我的网站提供 PHP 文件的同一目录中有一个文件。PHP 通过 API 活动写入此日志文件。在网络浏览器中访问时,我可以将 url 从更改为访问日志文件,这是完全不安全lookup.php
的。log.txt
我只想在通过 SSH 登录时访问日志文件。
我将日志文件的所有权更改为www-data
PHP 当前正在运行的组。我想要发生的是 PHP 文件能够写入此日志文件,但用户无法导航到 Web 浏览器中的日志文件路径并显示它。我认为问题在于,由于 Nginx 也运行 as www-data
,通过将日志文件所有者更改为www-data
PHP 可以写入它,Nginx 现在能够读取它。
以下是我正在考虑的一些想法,但我不确定它们是否存在重大安全漏洞:
将日志文件更改为文件所有者的只写文件,
www-data
. 我正在做研究,这似乎是一种罕见的方法。使 PHP 和 Nginx 作为单独的组运行,为 PHP 提供一个 rwx 访问权限,而对 nginx 不提供任何访问权限。
在 Web 根目录之外创建一个新目录,这样就没有与该文件关联的 Web URL,但该目录由
www-data
(因此 PHP 和 Nginx)拥有。我不确定这是否有漏洞。禁止通过 Nginx 访问日志文件。这对我来说有点“hacky”。
哪条路线合适?