我目前有一个运行 Windows Server 2012 的网络服务器,该网络服务器运行 IIS 作为其网络服务器并使用 PHP。
让我们假设用户能够将木马上传到我的服务器上,无论是通过易受攻击的托管站点还是其他漏洞。
如果用户能够找到文件上传到的站点目录,他就可以导航到该目录,从而执行病毒。
最近我和同事讨论了这种可能性,他说他的服务器配置为只允许执行 php 脚本。
如何配置他/她的服务器以仅允许运行 php 脚本或至少禁止攻击者执行某些文件类型。
问候
答案1
有几种方法可以立即想到,但我认为最常见的方法是使用请求过滤模块,可以通过 IIS 管理器访问。我在上图中用红色突出显示了它。这允许您阻止具有某些文件扩展名、HTTP 动词、URL、HTTP 标头或查询字符串的请求。您可以将其设置为仅允许服务器处理带有 .php(可能还有 .css、.html、.png、.jpg ... 其他常见静态文件类型)的请求。
另外,我用蓝色突出显示的两项内容可能也会引起这种场景的兴趣。目录浏览(默认情况下处于关闭状态)完全符合您的预期,它控制如果请求中未指定文件且未配置默认文档,Web 服务器是否返回虚拟目录的目录列表。
处理程序映射控制配置哪些应用程序来处理哪些文件类型。在这里,您可以告诉 IIS,当它看到对 .php 文件的请求时,它需要运行 php.exe 来处理它。您可以删除所有不必要的处理程序映射(包括。) 以消除您的服务器处理具有不寻常扩展名的文件的任何机会。