nginx SSI模块;禁用文件包括?
问题:nginx SSI模块;禁用文件包括? 我正在查看 NGINX SSI 模块,我想知道是否有办法阻止 SSI 上的“文件”选项。 http://nginx.org/en/docs/http/ngx_http_ssi_module.html 所以有人不这样做 <!--# include file="/etc/passwd" --> 我在包含文件方面找不到太多关于安全性的信息,有人知道吗? 解答
·
问题: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 进程(源代码)通过相同地处理file
和uri
选项并将它们传递给ngx_http_subrequest
来处理 SSIinclude
指令。这与为给定文件提供文件请求基本相同,特别是名称是相对于当前有效的root
指令解析的。所以仍然有一些安全考虑,但总的来说,它比 SSI 解析器简单地打开和读取文件要安全得多。
更多推荐
已为社区贡献15557条内容
所有评论(0)