Magento建议不要通过符号链接使用模板:
Advanced > Developer > Template Settings > Allow Symlinks
警告!不建议在生产环境中启用此功能,因为它会带来潜在的安全风险。
直到今天,我在这里都看不到任何风险。
- 有什么风险?
Magento建议不要通过符号链接使用模板:
Advanced > Developer > Template Settings > Allow Symlinks
警告!不建议在生产环境中启用此功能,因为它会带来潜在的安全风险。
直到今天,我在这里都看不到任何风险。
Answers:
符号链接不一定很糟糕。
首先:如果尝试打开符号链接目标,则该目标的文件权限有效。如果不允许您读取/写入/执行符号链接目标,则不会发生任何事情。
但是:您也许可以在文档根目录之外运行文件(有时实际上是您要对它们执行的操作,对吗?)。如果您不在suEXEC环境中,并且在共享主机上有一个apache
或www-data
用户,该主机负责提供来自不同帐户的文件,则可能会出现此问题。您的系统用户不允许访问其他客户的文件,但是该apache/www-data
用户大部分将具有对所有共享帐户的读取权限。在一种情况下,一个用户可以访问共享主机上另一用户的文件。不是与您自己的用户一起使用,而是与apache/www-data
用户一起通过浏览器访问文件。总结:在这种情况下,您将能够访问其他用户的文件=>错误。
下一件不好的事是,攻击者可以创建符号链接,也可以链接到/ etc / passwd等文件,...,然后下载此数据并继续使用此信息。这不仅取决于符号链接,还取决于错误的服务器配置(严格限制对这些文件的访问)。因此,不使用符号链接可以防止更多可能的攻击。
不仅仅是符号链接本身存在安全风险,还涉及服务器配置问题。
app/design
夹之外的模板和布局文件与其他次要漏洞利用相结合,可以由管理员用户用于特权升级和其他服务器利用。
SymLinksIfOwnerMatch
选项代替FollowSymlinks
。
是的,这就是为什么Web服务器通常还具有“不遵循符号链接”配置或至少“仅具有相同用户的目标遵循符号链接”的原因,因此,因为Webserver / php通常确实具有更多权限运行,那么您应该可以访问。
而且由于网络服务器通常会尝试避免出现可见的/ etc / shadow之类的问题,因此对于magento模板而言,这甚至更加危险,因为模板是通过include()进行解析的,因此,如果您无法完全控制文件,则可能会造成非常严重的安全漏洞。
您可能会争辩说,那时还有其他问题,但是谁真的知道每种潜在的攻击情况,而且大多数情况下,它们是各种问题较少的安全漏洞的组合,因此会造成重大破坏。
另外,前段时间有关于媒体目录和符号链接的安全修复程序,因此您应该在此处查找可能的攻击情形。
我只能想象这是共享主机上的风险,一开始不应该将其用于电子商务。
Magento补丁SUPEE-9767包含APPSEC-1281:通过symlinks远程执行代码,因此,模板上的Symlinks是一个安全问题。
类型:
远程执行代码(RCE)CVSSv3严重程度:
8.8(高)已知攻击:
是。攻击者在获得管理员访问权限后将禁用配置保护,并正在上传恶意代码。说明:
在配置设置中使用AllowSymlinks选项可以启用包含恶意代码的映像的上载。尽管默认情况下禁用此选项,但有权访问存储配置设置的攻击者可以启用它并远程执行代码。受影响的产品:
1.9.3.3之前的Magento CE和1.14.3.3之前的Magento EE固定于:
CE 1.9.3.3,EE 1.14.3.3,SUPEE-9767记者:
Wilko Nienhaus
不建议允许。启用符号链接时,我面临js加载错误。
很多;
TypeError:$ .widget不是一个函数
我必须尝试4-5刷新才能成功加载页面。
关闭它之后,可能未部署的资源第一次加载缓慢,但是js错误消失了。
PS:禁用符号链接后,您必须在每次更改后删除已部署的文件副本,以便static.php为您重新复制它。