nginx SSI模块;禁用文件包含



我正在查看NGINX SSI模块,我想知道是否有办法阻止SSI上的"文件"选项。

http://nginx.org/en/docs/http/ngx_http_ssi_module.html

这样有人就不会这样做

 <!--# include file="/etc/passwd" -->

我无法找到有关包含文件的安全性,有人对此有所了解吗?

首先,您可以完全确定这种情况不会发生的唯一方法是以非root用户身份运行nginx(还有许多其他原因这样做,我相信您已经这样做了)。

要考虑的另一件事是,SSI 通常应被视为特权代码,就像 CGI 脚本一样。 通常不应允许不受信任的用户使用它们。

也就是说,您的问题的答案是nginx通过以相同的方式处理fileuri选项并将其传递给ngx_http_subrequest来处理(源代码)SSI include指令。 这本质上与为给定文件提供文件请求相同,特别是名称是相对于当前有效的 root 指令解析的。 因此,仍然存在一些安全考虑,但总的来说,它比SSI解析器简单地打开并读取文件要安全得多。

最新更新