尽管如此,符号链接并不一定是坏的,但是您必须对Apache的实现有一个清晰的理解。对于非着色的Apache来说,符号链接无疑会给您的文档根之外的文件公开带来很大的风险。
我从一根旧线那里得到的答案已经被回答了。我想知道系统链接如何在文档根目录之外公开其他文件?我以为他们只指向一个目录。我是否必须自己添加符号链接才能让黑客从文档根目录中出来呢?此外,chroot在这个实例中有什么帮助?
发布于 2011-03-08 11:25:29
通常,您在web服务器内运行实际的web应用程序(php、perl等)。这个web应用程序通常可以对文档根目录中的某个目录进行写入访问,以便上传内容。
现在,您的web应用程序中可能有一个bug,它允许攻击者在您的web根目录中创建任意文件(然后也可能创建符号链接)。如果您没有实际的上载组件,但只有bug,这甚至是可能的。这些bug并不少见,你应该忽略它们。特别是像wordpress这样的应用程序有着相当长的这种bug的历史。
既然攻击者可以在web根目录中创建文件和符号链接,就可以让这些符号链接指向web服务器上的任意文件(/etc/passwd
,配置文件中有明文密码,.)这最终可能意味着攻击者可以下载所有这些文件并使用收集到的信息进行进一步的攻击,例如对SSH密码的字典攻击、对数据库的简单授权访问、.)
如果您将Apache限制为不遵循符号链接,则此攻击矢量很难利用。另一个同样重要的安全措施是限制对webserver / web应用程序用户绝对必要的文件的读取访问。您还可以使用外部应用程序服务器( python和ruby应用程序常见,但也可以使用fcgi设置),并与其他用户一起运行,而不是核心with服务器用户。如果限制此用户与can服务器用户之间对重要文件的访问,则可以获得相当高的安全级别。
另一种选择是将apache添加到文档根,在这种情况下,操作系统将确保Apache进程不能访问文档根之外的任何文件。请注意,在通用发行版中的包中很难做到这一点。
发布于 2011-03-08 11:20:19
假设我设法进入您的服务器,但我知道您很快就会关闭漏洞(可能是RSA令牌密码每60秒更改一次,而我恰好有下30秒的密码)。或者我只有30秒的时间把后门部署到你的服务器上,因为你已经打开了你的终端,我知道你很快就会回来的,而我是一个领头人。
对我来说,最快和最简单的方法就是将/
链接到htdocs/mysuperhiddendirectory/
,现在我可以远程浏览整个文件系统了。
如果您以chroot
的身份运行apache,那么符号链接/
只会链接到该进程的根,而不是实际的OS根。
https://serverfault.com/questions/244592
复制相似问题