我们希望在我们的组织中首次使用无扩展名 URL。我们已要求我们的系统管理员将通配符映射添加到 IIS6,以便通过 asp.net 处理所有请求。他们以安全问题为由进行反击。关于通配符映射的潜在安全问题,我没有足够的信息来了解它可能会或可能不会产生哪些安全问题。对于任何反馈,我们都表示感谢。
4 回答
基本上,通过向 IIS6 添加通配符映射,所有请求都将通过 .net 框架进行处理。我不确定安全问题,但知道性能劣势从未得到证实
见链接文字
我怀疑,大问题是大多数管理员类型害怕他们不理解的东西。他们了解 IIS,但整个 ASP.NET 管道是陌生的。让他们记录他们的担忧,然后你就可以一一击落他们。
通配符映射存在相当合理的性能问题,但可以通过将不安全的静态文件推送到另一个虚拟站点(甚至是站点内的单独映射的虚拟目录无映射)来轻松解决。
唯一可能的安全问题来自增加的攻击面,因为攻击者现在可以攻击 .NET 框架而不仅仅是 IIS。但这与在服务器上安装任何监听应用程序所冒的风险相同。
我假设的误解是他们认为这种绑定将使任何东西都以.NET 运行,但事实并非如此。它只是让 .NET 处理它的交付。仅当它被配置为通过 web.config 中的 HttpModule 设置执行时,它才会实际运行除默认绑定之外的任何文件中的代码(无论如何,在你放入通配符之前它会挂接这些文件)。
性能是一个值得提出的合理问题,但我认为安全影响不是什么大问题。
潜在的问题是您现在将允许在服务器上执行对 .exe 等扩展名的请求,并且在将请求移交给 ISAPI 之前不会被 IIS 过滤掉。
如果您在 IIS 路径中的任何位置有任何 .exe、bat 或其他可执行文件,则任何用户都可以执行它们。
如果您在设置 IIS 网站和虚拟目录时非常小心,因此它们不包含任何可能被恶意使用的内容,那么您应该没问题。